From aca600212ff84587e15aad341babd5eb2faf69a5 Mon Sep 17 00:00:00 2001
From: lpw
Date: Sat, 03 Jun 2023 09:15:01 +0800
Subject: [PATCH] 3.15.0

---
 frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/Info.plist                                                                                                                     |    2 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h                                                                            |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h                                                     |   16 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-macabi.swiftinterface                    |   57 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo    |    0 
 frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Info.plist                                                                                                         |   20 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Info.plist                                                                                      |    2 
 config/wa_sdk_impl_config_firebase.xml                                                                                                                                                                    |    2 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h                                                                             |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h                                                                                  |   82 
 frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h                                                                                         |    4 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h                                                                            |   44 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Info.plist                                                                                       |    2 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport                              |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Info.plist                                                                                                           |   20 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Await.h                                                                                            |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromiseError.h                                                                                             |    0 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h                                                         |   20 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Info.plist                                                                                                                      |   20 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Delay.h                                                                                            |    0 
 frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h                                                                                    |    1 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h                                                                                 |   24 
 frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Modules/module.modulemap                                                                                           |    9 
 frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/FirebaseCore                                                                                                                |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Info.plist                                                                                        |   20 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h                                                                                                    |   38 
 frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/Info.plist                                                                                        |    2 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h                                                           |   16 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h                                                                            |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities                                                                                               |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Wrap.h                                                                                           |    0 
 frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Info.plist                                                                                                   |    2 
 frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb_encode.h                                                                                                                              |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Reduce.h                                                                                           |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h                                                                                             |    0 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations                                                                            |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Info.plist                                                                                                           |    2 
 frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb_common.h                                                                                                                              |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h                                                                          |  846 +-
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIREventNames.h                                                                                                   |  559 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h                                                                                                |   68 
 frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h                                                                          |   21 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Timeout.h                                                                                                  |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-macabi.swiftinterface                   |   57 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Timeout.h                                                                                                          |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULReachabilityChecker.h                                                                                               |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Retry.h                                                                                           |  165 
 frameworks/FBLPromises.xcframework/Info.plist                                                                                                                                                             |   95 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Info.plist                                                                                          |   20 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo  |    0 
 frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h                                                                                   |    5 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics                                                                                    |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h                                                                              |    1 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap                                                                                            |    9 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/module.modulemap                                                                                    |   11 
 frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULNetwork.h                                                                                                  |   10 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+All.h                                                                                            |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h                                                                              |  559 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Reduce.h                                                                                                   |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h                                                                           |    2 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h                                                               |  271 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise.h                                                                                                                   |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Recover.h                                                                                                          |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h                                                                       |  106 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Modules/module.modulemap                                                                                                        |    0 
 frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/FirebaseCore                                                                                                                        |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h                                                                           |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/FirebaseAnalytics                                                                                       |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Catch.h                                                                                                    |    0 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h                                                                                    |    2 
 frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h                                                                                               |   49 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULMutableDictionary.h                                                                                |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromiseError.h                                                                                                              |    0 
 frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Modules/module.modulemap                                                                                                            |    3 
 frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/Info.plist                                                                                                          |    2 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkURLSession.h                                                                                                 |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Testing.h                                                                                                  |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h                                                                                  |  559 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Any.h                                                                                            |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h                                                                                               |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-macabi.swiftinterface              |   14 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Info.plist                                                                                              |    2 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h                                                                              |   24 
 frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULNetwork.h                                                                                                          |   10 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos.swiftinterface                                            |   57 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb.h                                                                                                                    |  599 +
 frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeDirectory                                                                                                                                          |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos.swiftinterface                                      |   14 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Timeout.h                                                                                          |    0 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb_decode.h                                                                                                             |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Modules/module.modulemap                                                                                            |    0 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Info.plist                                                                                                  |   20 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Catch.h                                                                                          |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h                                                                                          |   97 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics.h                                                                                               |   38 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h                                                                                            |    2 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h                                                                       |   16 
 frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Info.plist                                                                                                            |    2 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULKeychainUtils.h                                                                                  |    5 
 frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/GoogleUtilities                                                                                                               |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULNetworkInfo.h                                                                                    |   57 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap                                                                          |    9 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromiseError.h                                                                                            |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h                                                                          |    1 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Recover.h                                                                                                  |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Info.plist                                                                                                          |   20 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore.h                                                                                              |    0 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/nanopb-umbrella.h                                                                                                       |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRVersion.h                                                                                                |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h                                                                            |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift                                                                                          |    0 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h                                                                     |   16 
 frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULKeychainStorage.h                                                                                                  |    7 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Race.h                                                                                                             |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/FBLPromises                                                                                                           |    0 
 frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIROptions.h                                                                                                        |   49 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/GoogleUtilities                                                                                                                |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Delay.h                                                                                                            |    0 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Modules/module.modulemap                                                                                          |    3 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h                                                                          |  219 
 frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Info.plist                                                                                                                                       |   20 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/PromisesObjC-umbrella.h                                                                                       |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h                                                                         |   19 
 WAFirebaseImpl/3.15.0/WAFirebaseImpl.podspec                                                                                                                                                              |   25 
 frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/nanopb                                                                                                                         |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h                                                                     |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULObjectSwizzler.h                                                                                   |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-macos.swiftinterface                            |   14 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h                                                                             |    8 
 frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Info.plist                                                                                                         |    2 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios.swiftinterface                                        |   14 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Always.h                                                                                         |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo                    |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FirebaseCore.h                                                                                                               |    0 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos-simulator.swiftdoc                       |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Info.plist                                                                                               |    2 
 frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/Headers/pb.h                                                                                                                            |    2 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Modules/module.modulemap                                                                                          |    4 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Modules/module.modulemap                                                                                                      |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromises.h                                                                                                 |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h                                                                     |   24 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc                |    0 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist                                                           |    2 
 frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/Info.plist                                                                                                     |    2 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h                                                                                      |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Await.h                                                                                           |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Info.plist                                                                                                                             |   20 
 frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRConfiguration.h                                                                                                           |   45 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h                                                                                |  106 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h                                                             |   16 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Modules/module.modulemap                                                                                             |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo                                     |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+All.h                                                                                                               |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkInfo.h                                                                                                       |   57 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/module.modulemap                                                                           |   11 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+All.h                                                                                              |    0 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb_common.h                                                                                                             |    0 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport                                              |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/PromisesObjC-umbrella.h                                                                                      |    0 
 frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Info.plist                                                                                                |    2 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/Info.plist                                                                            |    2 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/PromisesObjC-umbrella.h                                                                                                       |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/FirebaseCoreInternal                                                                                |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRParameterNames.h                                                                             |  846 +-
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULLogger.h                                                                                                            |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Race.h                                                                                           |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-simulator.swiftdoc                   |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromiseError.h                                                                                                             |    0 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h                                                        |   20 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-simulator.swiftdoc                        |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Async.h                                                                                           |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap                                                                             |    3 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h                                                         |  219 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSecureCoding.h                                                                                     |    0 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo        |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h                                                                       |   11 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Always.h                                                                                                            |    0 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Info.plist                                                                                        |   20 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h                                                                                   |   38 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h                                                                                           |   19 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkInfo.h                                                                                      |   57 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-macabi.swiftinterface             |   14 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromises.h                                                                                               |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/GoogleUtilities                                                                                             |    0 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h                                                                                   |   19 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIREventNames.h                                                                                 |  559 
 frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/Info.plist                                                                                                                              |    2 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Info.plist                                                                                      |   20 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise.h                                                                                                |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h                                                                                                             |  165 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+All.h                                                                                                              |    0 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/nanopb                                                                                                                        |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h                                                               |   16 
 frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIRConfiguration.h                                                                                                          |    4 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h                                                                            |    0 
 frameworks/WAFirebaseImpl.framework/Info.plist                                                                                                                                                            |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Modules/module.modulemap                                                                                                              |    0 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h                                                                                       |    1 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Async.h                                                                                                            |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Testing.h                                                                                                          |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-macabi.swiftdoc                         |    0 
 frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIRApp.h                                                                                                                    |   38 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/Info.plist                                                                                                                    |    2 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Wrap.h                                                                                                             |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Then.h                                                                                                     |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/module.modulemap                                                                       |   11 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h                                                                                  |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift                                                                         |    0 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-macos.swiftinterface                                   |   57 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromiseError.h                                                                                                     |    0 
 frameworks/FirebaseInstallations.xcframework/Info.plist                                                                                                                                                   |   64 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-macos.swiftinterface                                  |   57 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Then.h                                                                                           |    0 
 frameworks/WAFirebaseImpl.framework/WAFirebaseImpl                                                                                                                                                        |    0 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-macos.swiftdoc                                        |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSwizzler.h                                                                                                          |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Wrap.h                                                                                             |    0 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h                                                                                    |   11 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h                                                                                               |  846 +-
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo                                   |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap                                                                                 |    2 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-macabi.swiftdoc                    |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/FirebaseCoreInternal                                                                                                 |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Do.h                                                                                             |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/FirebaseCoreInternal                                                                              |    0 
 frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap                                                                                           |    3 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/FBLPromises                                                                                                          |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h                                                                  |  444 +
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSecureCoding.h                                                                                                      |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics                                                                                        |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Info.plist                                                                                                       |   20 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap                                                                                         |   11 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Await.h                                                                                          |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h                                                        |  219 
 frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIROptions.h                                                                                                                 |  131 
 frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULNetworkInfo.h                                                                                              |   57 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Await.h                                                                                                             |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Always.h                                                                                           |    0 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h                                                                        |  127 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/module.modulemap                                                                                            |   11 
 frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/GoogleUtilities                                                                                                       |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkConstants.h                                                                                 |    0 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/Info.plist                                                                                                                                     |   36 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Info.plist                                                                                                      |   20 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Do.h                                                                                               |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo |    0 
 frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/nanopb                                                                                                                                          |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Modules/module.modulemap                                                                                                       |    0 
 frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb_decode.h                                                                                                                              |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h                                                                                      |   19 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Testing.h                                                                                         |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Modules/module.modulemap                                                                                |    3 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromises.h                                                                                                                  |    0 
 frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations.h                                                                                    |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Info.plist                                                                                     |   20 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIREventNames.h                                                                                              |  559 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h                                                                                    |   64 
 frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallations.h                                                                                         |  127 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkURLSession.h                                                                                |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Info.plist                                                                                    |   20 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Recover.h                                                                                         |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises                                                                                                                            |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h                                                                              |   16 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h                                                                       |   40 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h                                                                                       |    2 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/FirebaseAnalytics                                                                                                    |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h                                                          |  219 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Race.h                                                                                                              |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-simulator.swiftinterface            |   14 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/Info.plist                                                          |    2 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Do.h                                                                                                       |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface          |   14 
 frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/Info.plist                                                                                                  |    2 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/module.modulemap                                                                            |   11 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULReachabilityChecker.h                                                                              |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios.swiftinterface                                              |   57 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h                                                                                |  271 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h                                                                               |   68 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Any.h                                                                                                               |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Recover.h                                                                                        |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h                                                                |  271 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h                                                                               |   38 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos-simulator.swiftinterface                 |   57 
 frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Modules/module.modulemap                                                                                                             |    9 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h                                                                             |    1 
 frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/nanopb                                                                                                                                           |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h                                                                                             |    0 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/Info.plist                                                                       |    2 
 frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/GoogleAppMeasurement                                                                                           |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h                                                                                             |   44 
 frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h                                                                                                      |   22 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULKeychainStorage.h                                                                                                   |   82 
 frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement                                                                           |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromises.h                                                                                                                 |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h                                                                                     |   22 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h                                                                                              |    0 
 frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h                                                                  |   20 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Always.h                                                                                          |    0 
 frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h                                                                              |    8 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h                                                                                            |   11 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/nanopb                                                                                                                          |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Async.h                                                                                                    |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/FBLPromises                                                                                                                   |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULLoggerLevel.h                                                                                                       |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h                                                                                                    |  129 
 frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/nanopb                                                                                                                                  |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h                                                                                       |   11 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Then.h                                                                                                              |    0 
 frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement                                                                               |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULApplication.h                                                                                      |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift                                                                        |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIRApp.h                                                                                                  |   38 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h                                                                      |   19 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Do.h                                                                                              |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo                               |    0 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos.swiftdoc                                                  |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Modules/module.modulemap                                                                                                  |    2 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Retry.h                                                                                          |  165 
 frameworks/FirebaseCore.xcframework/Info.plist                                                                                                                                                            |  112 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FIRInstallations.h                                                                      |   40 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h                                                                          |    2 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromiseError.h                                                                                           |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromises.h                                                                                                |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Retry.h                                                                                            |  165 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h                                                            |   16 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Await.h                                                                                                            |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h                                                                          |   19 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULUserDefaults.h                                                                                     |    0 
 frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULNetworkInfo.h                                                                                                      |   57 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/FirebaseCore                                                                                                      |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo                   |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Modules/module.modulemap                                                                                      |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Recover.h                                                                                                           |    0 
 frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Info.plist                                                                                                                    |    2 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIRConfiguration.h                                                                                        |    4 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Async.h                                                                                                             |    0 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h                                                                             |   16 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h                                                                                       |  846 +-
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios-macabi.swiftsourceinfo           |    0 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/FirebaseInstallations                                                                                             |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios.swiftdoc                                              |    0 
 frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Info.plist                                                                                                                  |    2 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo   |    0 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/FirebaseCoreInternal                                                                                        |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h                                                                                   |  106 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Testing.h                                                                                                           |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h                                                                                               |    1 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/module.modulemap                                                                        |   11 
 frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h                                                                                                   |   38 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Validate.h                                                                                         |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Race.h                                                                                                     |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo         |    0 
 frameworks/WAFirebaseImpl.framework/Headers/WAFirebaseImpl.h                                                                                                                                              |    2 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRLoggerLevel.h                                                                                            |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h                                                                      |  106 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Validate.h                                                                                        |    0 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport                                           |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Do.h                                                                                                               |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Async.h                                                                                            |    0 
 frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULKeychainUtils.h                                                                                                    |    5 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Do.h                                                                                                                |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h                                                                 |   24 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h                                                                                                            |  165 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/FirebaseCore                                                                                                        |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Timeout.h                                                                                         |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Catch.h                                                                                                            |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h                                                                                          |   45 
 frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h                                                                                            |    1 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIREventNames.h                                                                                           |  559 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Any.h                                                                                             |    0 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/FirebaseAnalytics                                                                                                 |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Info.plist                                                                                                                            |   20 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Then.h                                                                                                             |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/module.modulemap                                                                      |   11 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Async.h                                                                                          |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Any.h                                                                                                      |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h                                                                              |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/PromisesObjC-umbrella.h                                                                                                        |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-simulator.swiftinterface             |   14 
 frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h                                                                                       |    8 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h                                                                                             |    0 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Info.plist                                                                                                        |    2 
 frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/Info.plist                                                                                                                                      |    2 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-ios-macabi.swiftsourceinfo          |    0 
 frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist                                                                                     |    2 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface                |   57 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/FirebaseCoreInternal                                                                               |    0 
 frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h                                                                           |    1 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise.h                                                                                                 |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULMutableDictionary.h                                                                                                 |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRParameterNames.h                                                                                          |  846 +-
 frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FIRInstallations.h                                                                                |   40 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Reduce.h                                                                                          |    0 
 frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h                                                                           |   20 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Info.plist                                                                                              |   20 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h                                                      |   16 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo                         |    0 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/FirebaseInstallations                                                                           |    0 
 frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h                                                                                               |    8 
 frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities                                                                                              |    0 
 frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/nanopb-umbrella.h                                                                                                                        |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRVersion.h                                                                                                                 |    0 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h                                                                                  |   21 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Modules/module.modulemap                                                                        |    4 
 frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeSignature                                                                                                                                          |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/module.modulemap                                                                                             |   11 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h                                                                                             |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics.h                                                                                  |   38 
 frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/GoogleAppMeasurement                                                                                        |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h                                                       |   16 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Catch.h                                                                                                             |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h                                                              |  271 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-macabi.swiftdoc                          |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise.h                                                                                                  |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos-simulator.swiftdoc                 |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Delay.h                                                                                          |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift                                                                                           |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-macabi.swiftdoc                   |    0 
 frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Modules/module.modulemap                                                                                  |    4 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Catch.h                                                                                           |    0 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/Info.plist                                                                    |    2 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-ios-macabi.swiftsourceinfo    |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-simulator.swiftdoc                  |    0 
 frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h                                                                                                     |   22 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Reduce.h                                                                                                            |    0 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h                                                                          |   20 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Wrap.h                                                                                                     |    0 
 frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Info.plist                                                                                                                          |    2 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h                                                                                            |   38 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h                                                                                   |   22 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport                                  |    0 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-macos.swiftdoc                                         |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h                                                                 |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h                                                                        |   16 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Info.plist                                                                                           |    2 
 WAFirebaseImpl.podspec                                                                                                                                                                                    |    2 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULLoggerLevel.h                                                                                      |    0 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc                      |    0 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport                                                   |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-macos.swiftinterface                             |   14 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSwizzler.h                                                                                         |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/PromisesObjC-umbrella.h                                                                                     |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/FBLPromises                                                                                                                           |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h                                                                                            |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Delay.h                                                                                           |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Info.plist                                                                                                  |    2 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift                                                                          |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Modules/module.modulemap                                                                                                               |    0 
 frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Modules/module.modulemap                                                                                                    |    4 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/FirebaseAnalytics                                                                                                         |    0 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/FirebaseCoreInternal                                                                                                |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Validate.h                                                                                                         |    0 
 frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIRApp.h                                                                                                            |   38 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Info.plist                                                                                                                     |   20 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Timeout.h                                                                                        |    0 
 frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/Headers/pb.h                                                                                                                   |    2 
 frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIRConfiguration.h                                                                                                  |    4 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h                                                                                        |  106 
 frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb.h                                                                                                                                     |  599 +
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h                                                                                 |  271 
 frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h                                                                          |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap                                                                                |   11 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-simulator.swiftdoc                         |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos.swiftdoc                                            |    0 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h                                                         |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Delay.h                                                                                                             |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Any.h                                                                                              |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h                                                                                                |  131 
 frameworks/nanopb.xcframework/Info.plist                                                                                                                                                                  |   60 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist                                                       |    2 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Modules/module.modulemap                                                                                          |    3 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h                                                                |   21 
 frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist                                                                                         |    2 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Validate.h                                                                                                 |    0 
 frameworks/FirebaseAnalytics.xcframework/Info.plist                                                                                                                                                       |   84 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Info.plist                                                                                                           |   20 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h                                                                  |   35 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h                                                                           |   11 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Recover.h                                                                                          |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULKeychainStorage.h                                                                                |    7 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSwizzledObject.h                                                                                   |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Race.h                                                                                            |    0 
 frameworks/FirebaseCoreInternal.xcframework/Info.plist                                                                                                                                                    |   95 
 frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeResources                                                                                                                                          |    8 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Always.h                                                                                                           |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+All.h                                                                                                      |    0 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h                                                                 |   21 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Info.plist                                                                                                    |   20 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-simulator.swiftinterface                  |   57 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNSData+zlib.h                                                                                      |    0 
 frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h                                                                                         |   10 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetwork.h                                                                                                           |   97 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULApplication.h                                                                                                       |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Then.h                                                                                            |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-simulator.swiftinterface                   |   57 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h                                                                          |    1 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise.h                                                                                                                  |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Info.plist                                                                                                        |    2 
 frameworks/GoogleUtilities.xcframework/Info.plist                                                                                                                                                         |   64 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Validate.h                                                                                       |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIROptions.h                                                                                              |   49 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/Headers/pb.h                                                                                                                  |    2 
 frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Info.plist                                                                                                        |    2 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations.h                                                                   |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Modules/module.modulemap                                                                                             |    3 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Testing.h                                                                                          |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-macos.swiftdoc                                   |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Await.h                                                                                                    |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Race.h                                                                                             |    0 
 frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkInfo.h                                                                                     |   57 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h                                                                               |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Validate.h                                                                                                          |    0 
 frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULKeychainStorage.h                                                                                          |    7 
 frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRLoggerLevel.h                                                                                                             |    0 
 frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb_encode.h                                                                                                             |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Delay.h                                                                                                    |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Reduce.h                                                                                                           |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Testing.h                                                                                        |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULNetwork.h                                                                                        |   10 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Info.plist                                                                                                            |   20 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Retry.h                                                                                                    |  165 
 frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/GoogleAppMeasurement                                                                                                |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h                                                                       |    2 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/PromisesObjC-umbrella.h                                                                                               |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos-simulator.swiftinterface           |   14 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULUserDefaults.h                                                                                                      |    0 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo       |    0 
 frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/Headers/pb.h                                                                                                                                    |    2 
 frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Modules/module.modulemap                                                                                                                         |    0 
 frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULKeychainUtils.h                                                                                            |    5 
 frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeRequirements-1                                                                                                                                     |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h                                                                                      |   24 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo                          |    0 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h                                                                   |  106 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h                                                                                          |    1 
 frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/GoogleAppMeasurement                                                                              |    0 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FIRInstallations.h                                                                                        |   40 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations                                                                             |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/FBLPromises                                                                                                         |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h                                                                           |  219 
 frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h                                                                                 |    7 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/module.modulemap                                                                          |   11 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULObjectSwizzler.h                                                                                                    |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h                                                                              |  846 +-
 frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIROptions.h                                                                                                                |   49 
 frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULLogger.h                                                                                           |    0 
 frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/FirebaseCore                                                                                                       |    0 
 frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Info.plist                                                                                                                |    2 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Wrap.h                                                                                            |    0 
 frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap                                                                         |    3 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios.swiftdoc                                                    |    0 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Info.plist                                                                                         |   20 
 frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h                                                                                             |   22 
 frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/FirebaseInstallations                                                                                     |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Info.plist                                                                                                                    |   20 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSwizzledObject.h                                                                                                    |    0 
 frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h                                                                        |  548 +
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNSData+zlib.h                                                                                                       |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULKeychainUtils.h                                                                                                     |   64 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo                             |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h                                                                                                |    0 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Wrap.h                                                                                                              |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/Info.plist                                                                                                                                                  |   95 
 frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h                                                                                    |   22 
 frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Timeout.h                                                                                                           |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Catch.h                                                                                            |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift                                                                                  |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise.h                                                                                                          |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Reduce.h                                                                                         |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Modules/module.modulemap                                                                                              |    0 
 frameworks/GoogleAppMeasurement.xcframework/Info.plist                                                                                                                                                    |   32 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h                                                                    |   24 
 frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Info.plist                                                                                                                           |   20 
 frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/FirebaseInstallations                                                                                              |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap                                                                                        |   11 
 frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h                                                                          |   11 
 frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport                                 |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Any.h                                                                                                              |    0 
 frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkConstants.h                                                                                                  |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Info.plist                                                                                                          |   20 
 frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-macos.swiftdoc                                  |    0 
 frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Then.h                                                                                             |    0 
 frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h                                                                                   |   35 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromises.h                                                                                                         |    0 
 frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h                                                          |   20 
 /dev/null                                                                                                                                                                                                 |    0 
 frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Always.h                                                                                                   |    0 
 frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo          |    0 
 frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+All.h                                                                                             |    0 
 frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios-macabi.swiftsourceinfo     |    0 
 frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Info.plist                                                                                                          |   20 
 frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/FirebaseCore                                                                                                                         |    0 
 frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRApp.h                                                                                                                     |  129 
 593 files changed, 15,257 insertions(+), 5,465 deletions(-)

diff --git a/WAFirebaseImpl.podspec b/WAFirebaseImpl.podspec
index fd88b89..c5c70d2 100644
--- a/WAFirebaseImpl.podspec
+++ b/WAFirebaseImpl.podspec
@@ -9,7 +9,7 @@
 Pod::Spec.new do |s|
 
 s.name = 'WAFirebaseImpl'
-s.version = '3.9.7'
+s.version = '3.15.0'
 s.summary = 'WAFirebaseImpl framework in testing environment.'
 s.license = 'MIT'
 s.author = { "Wuyx" => "wuyixin_gh@gamehollywood.com" }
diff --git a/WAFirebaseImpl/3.15.0/WAFirebaseImpl.podspec b/WAFirebaseImpl/3.15.0/WAFirebaseImpl.podspec
new file mode 100644
index 0000000..c5c70d2
--- /dev/null
+++ b/WAFirebaseImpl/3.15.0/WAFirebaseImpl.podspec
@@ -0,0 +1,25 @@
+#
+#  Be sure to run `pod spec lint WAFbImpl.podspec' to ensure this is a
+#  valid spec and to remove all comments including this before submitting the spec.
+#
+#  To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html
+#  To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/
+#
+
+Pod::Spec.new do |s|
+
+s.name = 'WAFirebaseImpl'
+s.version = '3.15.0'
+s.summary = 'WAFirebaseImpl framework in testing environment.'
+s.license = 'MIT'
+s.author = { "Wuyx" => "wuyixin_gh@gamehollywood.com" }
+s.homepage = 'http://repo.wingsdk.cn:8082/summary/WAFirebaseImpl.git'
+s.source = { :git => "http://admin@repo.wingsdk.cn:8082/r/WAFirebaseImpl.git" , :tag => s.version}
+s.platform = :ios
+s.ios.deployment_target = "7.0"
+s.vendored_frameworks = 'frameworks/*'
+s.resources = ['config/*.xml']
+s.requires_arc = true
+s.dependency 'WASdkIntf'
+s.dependency 'WASdkImpl'
+end
diff --git a/config/wa_sdk_impl_config_firebase.xml b/config/wa_sdk_impl_config_firebase.xml
index c5dd785..7dc76be 100644
--- a/config/wa_sdk_impl_config_firebase.xml
+++ b/config/wa_sdk_impl_config_firebase.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <config>
-	<version val="Firebase 3.9.7"/>
+	<version val="Firebase 3.15.0"/>
     <comps>
 
         <!-- 公共模块 -->
diff --git a/frameworks/FBLPromises.xcframework/Info.plist b/frameworks/FBLPromises.xcframework/Info.plist
new file mode 100644
index 0000000..bc56ff2
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/Info.plist
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AvailableLibraries</key>
+	<array>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>tvos-arm64</string>
+			<key>LibraryPath</key>
+			<string>FBLPromises.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>tvos</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64</string>
+			<key>LibraryPath</key>
+			<string>FBLPromises.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>FBLPromises.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>tvos-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>FBLPromises.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>tvos</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-maccatalyst</string>
+			<key>LibraryPath</key>
+			<string>FBLPromises.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>maccatalyst</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>macos-arm64_x86_64</string>
+			<key>LibraryPath</key>
+			<string>FBLPromises.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>macos</string>
+		</dict>
+	</array>
+	<key>CFBundlePackageType</key>
+	<string>XFWK</string>
+	<key>XCFrameworkFormatVersion</key>
+	<string>1.0</string>
+</dict>
+</plist>
diff --git a/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises
new file mode 100644
index 0000000..0486e5d
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+All.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+All.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+All.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+All.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Always.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Always.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Always.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Always.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Any.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Any.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Any.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Any.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Async.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Async.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Async.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Async.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Await.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Await.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Await.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Await.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Catch.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Catch.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Catch.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Catch.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Delay.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Delay.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Delay.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Delay.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Do.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Do.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Do.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Do.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Race.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Race.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Race.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Race.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Recover.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Recover.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Recover.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Recover.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Reduce.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Reduce.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Reduce.h
diff --git a/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h
new file mode 100644
index 0000000..414a17a
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h
@@ -0,0 +1,165 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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.
+ */
+
+#import "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** The default number of retry attempts is 1. */
+FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
+
+/** The default delay interval before making a retry attempt is 1.0 second. */
+FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
+
+@interface FBLPromise<Value>(RetryAdditions)
+
+typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
+typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
+ `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
+ rejection where the `work` block is retried on the given `queue` after a delay of
+ `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param queue A queue to invoke the `work` block on.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
+ continue to retry until the number of specified attempts have been exhausted or will bail early if
+ the given condition is not met.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   delay:(NSTimeInterval)interval
+               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. On rejection, the `work` block is retried after the given
+ delay `interval` and will continue to retry until the number of specified attempts have been
+ exhausted or will bail early if the given condition is not met.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  delay:(NSTimeInterval)interval
+              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
+ Usage: FBLPromise.retry(^id { ... })
+ */
+@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
+
++ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
+                    FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Testing.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Testing.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Testing.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Testing.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Then.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Then.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Then.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Then.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Timeout.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Timeout.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Timeout.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Validate.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Validate.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Validate.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Validate.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Wrap.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Wrap.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Wrap.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromiseError.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromiseError.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromiseError.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromiseError.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromises.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromises.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromises.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromises.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
diff --git a/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Info.plist b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Info.plist
new file mode 100644
index 0000000..a963a05
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FBLPromises</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FBLPromises</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FBLPromises</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>2.2.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Modules/module.modulemap b/frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Modules/module.modulemap
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Modules/module.modulemap
rename to frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Modules/module.modulemap
diff --git a/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/FBLPromises b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/FBLPromises
new file mode 100644
index 0000000..139c5fb
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/FBLPromises
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+All.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+All.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+All.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+All.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Always.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Always.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Always.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Always.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Any.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Any.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Any.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Any.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Async.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Async.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Async.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Async.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Await.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Await.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Await.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Await.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Catch.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Catch.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Catch.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Catch.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Delay.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Delay.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Delay.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Delay.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Do.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Do.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Do.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Do.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Race.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Race.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Race.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Race.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Recover.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Recover.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Recover.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Recover.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Reduce.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Reduce.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Reduce.h
diff --git a/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Retry.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Retry.h
new file mode 100644
index 0000000..414a17a
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Retry.h
@@ -0,0 +1,165 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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.
+ */
+
+#import "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** The default number of retry attempts is 1. */
+FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
+
+/** The default delay interval before making a retry attempt is 1.0 second. */
+FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
+
+@interface FBLPromise<Value>(RetryAdditions)
+
+typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
+typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
+ `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
+ rejection where the `work` block is retried on the given `queue` after a delay of
+ `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param queue A queue to invoke the `work` block on.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
+ continue to retry until the number of specified attempts have been exhausted or will bail early if
+ the given condition is not met.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   delay:(NSTimeInterval)interval
+               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. On rejection, the `work` block is retried after the given
+ delay `interval` and will continue to retry until the number of specified attempts have been
+ exhausted or will bail early if the given condition is not met.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  delay:(NSTimeInterval)interval
+              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
+ Usage: FBLPromise.retry(^id { ... })
+ */
+@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
+
++ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
+                    FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Testing.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Testing.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Testing.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Testing.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Then.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Then.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Then.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Then.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Timeout.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Timeout.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Timeout.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Validate.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Validate.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Validate.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Validate.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Wrap.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Wrap.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise+Wrap.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromise.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromiseError.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromiseError.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromiseError.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromiseError.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromises.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromises.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromises.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/FBLPromises.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
rename to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
diff --git a/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Info.plist b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Info.plist
new file mode 100644
index 0000000..a963a05
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FBLPromises</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FBLPromises</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FBLPromises</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>2.2.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Modules/module.modulemap b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Modules/module.modulemap
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Modules/module.modulemap
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-maccatalyst/FBLPromises.framework/Modules/module.modulemap
diff --git a/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/FBLPromises b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/FBLPromises
new file mode 100644
index 0000000..9a2d12f
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/FBLPromises
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+All.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+All.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+All.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+All.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Always.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Always.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Always.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Always.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Any.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Any.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Any.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Any.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Async.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Async.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Async.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Async.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Await.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Await.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Await.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Await.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Catch.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Catch.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Catch.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Catch.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Delay.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Delay.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Delay.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Delay.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Do.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Do.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Do.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Do.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Race.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Race.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Race.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Race.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Recover.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Recover.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Recover.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Recover.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Reduce.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Reduce.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Reduce.h
diff --git a/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Retry.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Retry.h
new file mode 100644
index 0000000..414a17a
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Retry.h
@@ -0,0 +1,165 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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.
+ */
+
+#import "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** The default number of retry attempts is 1. */
+FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
+
+/** The default delay interval before making a retry attempt is 1.0 second. */
+FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
+
+@interface FBLPromise<Value>(RetryAdditions)
+
+typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
+typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
+ `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
+ rejection where the `work` block is retried on the given `queue` after a delay of
+ `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param queue A queue to invoke the `work` block on.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
+ continue to retry until the number of specified attempts have been exhausted or will bail early if
+ the given condition is not met.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   delay:(NSTimeInterval)interval
+               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. On rejection, the `work` block is retried after the given
+ delay `interval` and will continue to retry until the number of specified attempts have been
+ exhausted or will bail early if the given condition is not met.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  delay:(NSTimeInterval)interval
+              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
+ Usage: FBLPromise.retry(^id { ... })
+ */
+@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
+
++ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
+                    FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Testing.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Testing.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Testing.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Testing.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Then.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Then.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Then.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Then.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Timeout.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Timeout.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Timeout.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Validate.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Validate.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Validate.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Validate.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Wrap.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Wrap.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Wrap.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromiseError.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromiseError.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromiseError.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromiseError.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromises.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromises.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromises.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromises.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
diff --git a/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Info.plist b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Info.plist
new file mode 100644
index 0000000..a963a05
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FBLPromises</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FBLPromises</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FBLPromises</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>2.2.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Modules/module.modulemap b/frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Modules/module.modulemap
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Modules/module.modulemap
copy to frameworks/FBLPromises.xcframework/ios-arm64_x86_64-simulator/FBLPromises.framework/Modules/module.modulemap
diff --git a/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/FBLPromises b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/FBLPromises
new file mode 100644
index 0000000..bc74c57
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/FBLPromises
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+All.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+All.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+All.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+All.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Always.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Always.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Always.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Always.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Any.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Any.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Any.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Any.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Async.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Async.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Async.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Async.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Await.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Await.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Await.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Await.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Catch.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Catch.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Catch.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Catch.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Delay.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Delay.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Delay.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Delay.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Do.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Do.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Do.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Do.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Race.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Race.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Race.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Race.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Recover.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Recover.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Recover.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Recover.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Reduce.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Reduce.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Reduce.h
diff --git a/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Retry.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Retry.h
new file mode 100644
index 0000000..414a17a
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Retry.h
@@ -0,0 +1,165 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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.
+ */
+
+#import "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** The default number of retry attempts is 1. */
+FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
+
+/** The default delay interval before making a retry attempt is 1.0 second. */
+FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
+
+@interface FBLPromise<Value>(RetryAdditions)
+
+typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
+typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
+ `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
+ rejection where the `work` block is retried on the given `queue` after a delay of
+ `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param queue A queue to invoke the `work` block on.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
+ continue to retry until the number of specified attempts have been exhausted or will bail early if
+ the given condition is not met.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   delay:(NSTimeInterval)interval
+               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. On rejection, the `work` block is retried after the given
+ delay `interval` and will continue to retry until the number of specified attempts have been
+ exhausted or will bail early if the given condition is not met.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  delay:(NSTimeInterval)interval
+              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
+ Usage: FBLPromise.retry(^id { ... })
+ */
+@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
+
++ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
+                    FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Testing.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Testing.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Testing.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Testing.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Then.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Then.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Then.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Then.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Timeout.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Timeout.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Timeout.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Validate.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Validate.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Validate.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Validate.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Wrap.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Wrap.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise+Wrap.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromise.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromiseError.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromiseError.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromiseError.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromiseError.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromises.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromises.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromises.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/FBLPromises.h
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
diff --git a/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Info.plist b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Info.plist
new file mode 100644
index 0000000..a963a05
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FBLPromises</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FBLPromises</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FBLPromises</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>2.2.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Modules/module.modulemap b/frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Modules/module.modulemap
similarity index 100%
rename from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Modules/module.modulemap
rename to frameworks/FBLPromises.xcframework/macos-arm64_x86_64/FBLPromises.framework/Modules/module.modulemap
diff --git a/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/FBLPromises b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/FBLPromises
new file mode 100644
index 0000000..7d9bf5f
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/FBLPromises
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+All.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+All.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+All.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+All.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Always.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Always.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Always.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Always.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Any.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Any.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Any.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Any.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Async.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Async.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Async.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Async.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Await.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Await.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Await.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Await.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Catch.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Catch.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Catch.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Catch.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Delay.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Delay.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Delay.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Delay.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Do.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Do.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Do.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Do.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Race.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Race.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Race.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Race.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Recover.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Recover.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Recover.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Recover.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Reduce.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Reduce.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Reduce.h
diff --git a/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h
new file mode 100644
index 0000000..414a17a
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h
@@ -0,0 +1,165 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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.
+ */
+
+#import "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** The default number of retry attempts is 1. */
+FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
+
+/** The default delay interval before making a retry attempt is 1.0 second. */
+FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
+
+@interface FBLPromise<Value>(RetryAdditions)
+
+typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
+typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
+ `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
+ rejection where the `work` block is retried on the given `queue` after a delay of
+ `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param queue A queue to invoke the `work` block on.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
+ continue to retry until the number of specified attempts have been exhausted or will bail early if
+ the given condition is not met.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   delay:(NSTimeInterval)interval
+               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. On rejection, the `work` block is retried after the given
+ delay `interval` and will continue to retry until the number of specified attempts have been
+ exhausted or will bail early if the given condition is not met.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  delay:(NSTimeInterval)interval
+              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
+ Usage: FBLPromise.retry(^id { ... })
+ */
+@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
+
++ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
+                    FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Testing.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Testing.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Testing.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Testing.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Then.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Then.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Then.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Then.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Timeout.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Timeout.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Timeout.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Validate.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Validate.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Validate.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Validate.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Wrap.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Wrap.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise+Wrap.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromise.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromiseError.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromiseError.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromiseError.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromiseError.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromises.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromises.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromises.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/FBLPromises.h
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
diff --git a/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Info.plist b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Info.plist
new file mode 100644
index 0000000..a963a05
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FBLPromises</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FBLPromises</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FBLPromises</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>2.2.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Modules/module.modulemap b/frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Modules/module.modulemap
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Modules/module.modulemap
copy to frameworks/FBLPromises.xcframework/tvos-arm64/FBLPromises.framework/Modules/module.modulemap
diff --git a/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/FBLPromises b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/FBLPromises
new file mode 100644
index 0000000..a3cadb9
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/FBLPromises
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+All.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+All.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+All.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+All.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Always.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Always.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Always.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Always.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Any.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Any.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Any.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Any.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Async.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Async.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Async.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Async.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Await.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Await.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Await.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Await.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Catch.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Catch.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Catch.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Catch.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Delay.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Delay.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Delay.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Delay.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Do.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Do.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Do.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Do.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Race.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Race.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Race.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Race.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Recover.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Recover.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Recover.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Recover.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Reduce.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Reduce.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Reduce.h
diff --git a/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Retry.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Retry.h
new file mode 100644
index 0000000..414a17a
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Retry.h
@@ -0,0 +1,165 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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.
+ */
+
+#import "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** The default number of retry attempts is 1. */
+FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
+
+/** The default delay interval before making a retry attempt is 1.0 second. */
+FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
+
+@interface FBLPromise<Value>(RetryAdditions)
+
+typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
+typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
+ `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
+ rejection where the `work` block is retried on the given `queue` after a delay of
+ `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param queue A queue to invoke the `work` block on.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
+ continue to retry until the number of specified attempts have been exhausted or will bail early if
+ the given condition is not met.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)attempts:(NSInteger)count
+                   delay:(NSTimeInterval)interval
+               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. On rejection, the `work` block is retried after the given
+ delay `interval` and will continue to retry until the number of specified attempts have been
+ exhausted or will bail early if the given condition is not met.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+              count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+                  the number of remaining retry attempts and the error that the promise was rejected
+                  with.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+             error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+         block, or rejects with the same error after all retry attempts have been exhausted or if
+         the given condition is not met.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+               attempts:(NSInteger)count
+                  delay:(NSTimeInterval)interval
+              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
+ Usage: FBLPromise.retry(^id { ... })
+ */
+@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
+
++ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
+                    FBLPromiseRetryPredicateBlock __nullable,
+                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
+    NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Testing.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Testing.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Testing.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Testing.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Then.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Then.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Then.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Then.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Timeout.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Timeout.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Timeout.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Validate.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Validate.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Validate.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Validate.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Wrap.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Wrap.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise+Wrap.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromise.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromiseError.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromiseError.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromiseError.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromiseError.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromises.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromises.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromises.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/FBLPromises.h
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Headers/PromisesObjC-umbrella.h
diff --git a/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Info.plist b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Info.plist
new file mode 100644
index 0000000..a963a05
--- /dev/null
+++ b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FBLPromises</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FBLPromises</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FBLPromises</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>2.2.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Modules/module.modulemap b/frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Modules/module.modulemap
similarity index 100%
copy from frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Modules/module.modulemap
copy to frameworks/FBLPromises.xcframework/tvos-arm64_x86_64-simulator/FBLPromises.framework/Modules/module.modulemap
diff --git a/frameworks/FirebaseAnalytics.xcframework/Info.plist b/frameworks/FirebaseAnalytics.xcframework/Info.plist
index 6d4fec5..d21d176 100644
--- a/frameworks/FirebaseAnalytics.xcframework/Info.plist
+++ b/frameworks/FirebaseAnalytics.xcframework/Info.plist
@@ -6,6 +6,48 @@
 	<array>
 		<dict>
 			<key>LibraryIdentifier</key>
+			<string>macos-arm64_x86_64</string>
+			<key>LibraryPath</key>
+			<string>FirebaseAnalytics.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>macos</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_armv7</string>
+			<key>LibraryPath</key>
+			<string>FirebaseAnalytics.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>armv7</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_i386_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>FirebaseAnalytics.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>i386</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
 			<string>ios-arm64_x86_64-maccatalyst</string>
 			<key>LibraryPath</key>
 			<string>FirebaseAnalytics.framework</string>
@@ -36,19 +78,6 @@
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>macos-arm64_x86_64</string>
-			<key>LibraryPath</key>
-			<string>FirebaseAnalytics.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>macos</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
 			<string>tvos-arm64</string>
 			<key>LibraryPath</key>
 			<string>FirebaseAnalytics.framework</string>
@@ -58,35 +87,6 @@
 			</array>
 			<key>SupportedPlatform</key>
 			<string>tvos</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_armv7</string>
-			<key>LibraryPath</key>
-			<string>FirebaseAnalytics.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>armv7</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_i386_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>FirebaseAnalytics.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>i386</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
 		</dict>
 	</array>
 	<key>CFBundlePackageType</key>
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/FirebaseAnalytics b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/FirebaseAnalytics
index 24e4295..b749f52 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/FirebaseAnalytics
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/FirebaseAnalytics
Binary files differ
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
index d499af6..cb1e407 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
@@ -4,59 +4,77 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/**
- * Provides App Delegate handlers to be used in your App Delegate.
- *
- * To save time integrating Firebase Analytics in an application, Firebase Analytics does not
- * require delegation implementation from the AppDelegate. Instead this is automatically done by
- * Firebase Analytics. Should you choose instead to delegate manually, you can turn off the App
- * Delegate Proxy by adding FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting
- * it to NO, and adding the methods in this category to corresponding delegation handlers.
- *
- * To handle Universal Links, you must return YES in
- * [UIApplicationDelegate application:didFinishLaunchingWithOptions:].
- */
+/// Provides App Delegate handlers to be used in your App Delegate.
+///
+/// To save time integrating Firebase Analytics in an application, Firebase Analytics does not
+/// require delegation implementation from the AppDelegate if neither SwiftUI nor UIScene lifecycle
+/// is adopted. Instead this is automatically done by Firebase Analytics. Should you choose instead
+/// to delegate manually, you can turn off the App Delegate Proxy by adding
+/// FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting it to boolean `NO`, and
+/// adding the methods in this category to corresponding delegation handlers.
+///
+/// To handle Universal Links, you must return `true` in
+/// `UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)`.
 @interface FIRAnalytics (AppDelegate)
 
-/**
- * Handles events related to a URL session that are waiting to be processed.
- *
- * For optimal use of Firebase Analytics, call this method from the
- * [UIApplicationDelegate application:handleEventsForBackgroundURLSession:completionHandler]
- * method of the app delegate in your app.
- *
- * @param identifier The identifier of the URL session requiring attention.
- * @param completionHandler The completion handler to call when you finish processing the events.
- *     Calling this completion handler lets the system know that your app's user interface is
- *     updated and a new snapshot can be taken.
- */
+/// Handles events related to a URL session that are waiting to be processed.
+///
+/// 1. If SwiftUI lifecycle is adopted, call this method from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// 2. If SwiftUI lifecycle is not adopted, Firebase Analytics does not require delegation
+/// implementation from the AppDelegate. If you choose instead to delegate manually, you can set
+/// FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this method
+/// from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// @param identifier The identifier of the URL session requiring attention.
+/// @param completionHandler The completion handler to call when you finish processing the events.
+///     Calling this completion handler lets the system know that your app's user interface is
+///     updated and a new snapshot can be taken.
 + (void)handleEventsForBackgroundURLSession:(NSString *)identifier
                           completionHandler:(nullable void (^)(void))completionHandler;
 
-/**
- * Handles the event when the app is launched by a URL.
- *
- * Call this method from [UIApplicationDelegate application:openURL:options:] &#40;on iOS 9.0 and
- * above&#41;, or [UIApplicationDelegate application:openURL:sourceApplication:annotation:] &#40;on
- * iOS 8.x and below&#41; in your app.
- *
- * @param url The URL resource to open. This resource can be a network resource or a file.
- */
+/// Handles the event when the app is launched by a URL (custom URL scheme or universal link).
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// this method in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and
+/// `UISceneDelegate.scene(_:openURLContexts:)` when the URL contexts are available.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplicationDelegate.application(_:open:options:)` in your app delegate.
+///
+/// @param url The URL resource to open. This resource can be a network resource or a file.
 + (void)handleOpenURL:(NSURL *)url;
 
-/**
- * Handles the event when the app receives data associated with user activity that includes a
- * Universal Link (on iOS 9.0 and above).
- *
- * Call this method from [UIApplication continueUserActivity:restorationHandler:] in your app
- * delegate (on iOS 9.0 and above).
- *
- * @param userActivity The activity object containing the data associated with the task the user
- *     was performing.
- */
+/// Handles the event when the app receives data associated with user activity that includes a
+/// Universal Link.
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// `Analytics.handleOpen(_:)` instead in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and `UISceneDelegate.scene(_:continue:)` when
+/// NSUserActivity is available. See the [Apple
+/// doc](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) for
+/// more details.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplication.application(_:continue:restorationHandler:)` in your app delegate.
+///
+/// @param userActivity The activity object containing the data associated with the task the user
+///     was performing.
 + (void)handleUserActivity:(id)userActivity;
 
 @end
 
 NS_ASSUME_NONNULL_END
-
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
index 686a386..7f89831 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
@@ -23,7 +23,7 @@
 /// device. Use the consent settings to specify individual consent type values. Settings are
 /// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
 ///
-/// @param consentSettings An NSDictionary of consent types. Supported consent type keys are
+/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
 ///   `ConsentType.adStorage` and `ConsentType.analyticsStorage`. Valid values are
 ///   `ConsentStatus.granted` and `ConsentStatus.denied`.
 + (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
new file mode 100644
index 0000000..1d9a438
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
@@ -0,0 +1,19 @@
+#import <Foundation/Foundation.h>
+
+#import "FIRAnalytics.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
+@interface FIRAnalytics (OnDevice)
+
+/// Initiates on-device conversion measurement given a user email address. Requires dependency
+/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
+/// @param emailAddress User email address. Include a domain name for all email addresses
+///   (e.g. gmail.com or hotmail.co.jp).
++ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
+    NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
index b9de094..e7ce5dc 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
@@ -28,7 +28,6 @@
 ///     <li>ad_query</li>
 ///     <li>ad_reward</li>
 ///     <li>adunit_exposure</li>
-///     <li>app_background</li>
 ///     <li>app_clear_data</li>
 ///     <li>app_exception</li>
 ///     <li>app_remove</li>
@@ -62,12 +61,12 @@
 ///     "google_", and "ga_" prefixes are reserved and should not be used. Note that event names are
 ///     case-sensitive and that logging two events whose names differ only in case will result in
 ///     two distinct events. To manually log screen view events, use the `screen_view` event name.
-/// @param parameters The dictionary of event parameters. Passing nil indicates that the event has
+/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
 ///     no parameters. Parameter names can be up to 40 characters long and must start with an
-///     alphabetic character and contain only alphanumeric characters and underscores. Only NSString
-///     and NSNumber (signed 64-bit integer and 64-bit floating-point number) parameter types are
-///     supported. NSString parameter values can be up to 100 characters long. The "firebase_",
-///     "google_", and "ga_" prefixes are reserved and should not be used for parameter names.
+///     alphabetic character and contain only alphanumeric characters and underscores. Only String,
+///     Int, and Double parameter types are supported. String parameter values can be up to 100
+///     characters long. The "firebase_", "google_", and "ga_" prefixes are reserved and should not
+///     be used for parameter names.
 + (void)logEventWithName:(NSString *)name
               parameters:(nullable NSDictionary<NSString *, id> *)parameters
     NS_SWIFT_NAME(logEvent(_:parameters:));
@@ -83,7 +82,7 @@
 /// </ul>
 ///
 /// @param value The value of the user property. Values can be up to 36 characters long. Setting the
-///     value to nil removes the user property.
+///     value to `nil` removes the user property.
 /// @param name The name of the user property to set. Should contain 1 to 24 alphanumeric characters
 ///     or underscores and must start with an alphabetic character. The "firebase_", "google_", and
 ///     "ga_" prefixes are reserved and should not be used for user property names.
@@ -94,7 +93,7 @@
 /// <a href="https://www.google.com/policies/privacy">Google's Privacy Policy</a>
 ///
 /// @param userID The user ID to ascribe to the user of this app on this device, which must be
-///     non-empty and no more than 256 characters long. Setting userID to nil removes the user ID.
+///     non-empty and no more than 256 characters long. Setting userID to `nil` removes the user ID.
 + (void)setUserID:(nullable NSString *)userID;
 
 /// Sets whether analytics collection is enabled for this app on this device. This setting is
@@ -110,14 +109,27 @@
 ///     session terminates.
 + (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
 
-/// Returns the unique ID for this instance of the application or nil if
+/// Asynchronously retrieves the identifier of the current app session.
+///
+/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
+/// etc.
+///
+/// @param completion The completion handler to call when the session ID retrieval is complete. This
+///     handler is executed on a system-defined global concurrent queue.
+///     This completion handler takes the following parameters:
+///     <b>sessionID</b> The identifier of the current app session. The value is undefined if the
+///         request failed.
+///     <b>error</b> An error object that indicates why the request failed, or `nil` if the request
+///         was successful.
++ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
+
+/// Returns the unique ID for this instance of the application or `nil` if
 /// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
 ///
 /// @see `FIRAnalytics+Consent.h`
 + (nullable NSString *)appInstanceID;
 
 /// Clears all analytics data for this instance from the device and resets the app instance ID.
-/// FIRAnalyticsConfiguration values will be reset to the default values.
 + (void)resetAnalyticsData;
 
 /// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
@@ -129,9 +141,9 @@
 ///
 /// @param parameters Parameters to be added to the dictionary of parameters added to every event.
 ///     They will be added to the dictionary of default event parameters, replacing any existing
-///     parameter with the same name. Valid parameters are NSString and NSNumber (signed 64-bit
-///     integer and 64-bit floating-point number). Setting a key's value to [NSNull null] will clear
-///     that parameter. Passing in a nil dictionary will clear all parameters.
+///     parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
+///     value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
+///     parameters.
 + (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
 
 /// Unavailable.
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIREventNames.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIREventNames.h
index a362afd..1e69a44 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIREventNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIREventNames.h
@@ -12,60 +12,76 @@
 
 #import <Foundation/Foundation.h>
 
-/// Add Payment Info event. This event signifies that a user has submitted their payment
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
+/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterPaymentType (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdSource (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
+    @"ad_impression";
+
+/// Add Payment Info event. This event signifies that a user has submitted their payment
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
     @"add_payment_info";
 
+/// Add Shipping Info event. This event signifies that a user has submitted their shipping
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
+    @"add_shipping_info";
+
 /// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
-/// purchase. Add this event to a funnel with @c kFIREventPurchase to gauge the effectiveness of
-/// your checkout process. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
+/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
+/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"add_to_cart";
 
 /// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist. Use
-/// this event to identify popular gift items. Note: If you supply the @c kFIRParameterValue
-/// parameter, you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics
-/// can be computed accurately. Params:
+/// this event to identify popular gift items. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
     @"add_to_wishlist";
-
-/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
-/// the @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter
-/// so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAdPlatform (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdFormat (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdSource (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdUnitName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
-    @"ad_impression";
 
 /// App Open event. By logging this event when an App becomes active, developers can understand how
 /// often users leave and return during the course of a Session. Although Sessions are automatically
@@ -74,95 +90,59 @@
 static NSString *const kFIREventAppOpen NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"app_open";
 
 /// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
-/// checking out. Add this event to a funnel with your @c kFIREventPurchase event to gauge the
-/// effectiveness of your checkout process. Note: If you supply the @c kFIRParameterValue parameter,
-/// you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be
-/// computed accurately. Params:
+/// checking out. Add this event to a funnel with your @c AnalyticsEventPurchase event to gauge the
+/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
     @"begin_checkout";
 
 /// Campaign Detail event. Log this event to supply the referral details of a re-engagement
-/// campaign. Note: you must supply at least one of the required parameters kFIRParameterSource,
-/// kFIRParameterMedium or kFIRParameterCampaign. Params:
+/// campaign. Note: you must supply at least one of the required parameters
+/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSource (NSString)</li>
-///     <li>@c kFIRParameterMedium (NSString)</li>
-///     <li>@c kFIRParameterCampaign (NSString)</li>
-///     <li>@c kFIRParameterTerm (NSString) (optional)</li>
-///     <li>@c kFIRParameterContent (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdNetworkClickID (NSString) (optional)</li>
-///     <li>@c kFIRParameterCP1 (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterSource (String)</li>
+///     <li>@c AnalyticsParameterMedium (String)</li>
+///     <li>@c AnalyticsParameterCampaign (String)</li>
+///     <li>@c AnalyticsParameterTerm (String) (optional)</li>
+///     <li>@c AnalyticsParameterContent (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCP1 (String) (optional)</li>
+///     <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
+///     <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
     @"campaign_details";
 
-/// Checkout progress. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString) (optional)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventCheckoutProgress NS_SWIFT_NAME(AnalyticsEventCheckoutProgress) =
-    @"checkout_progress";
-
 /// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
-/// this along with @c kFIREventSpendVirtualCurrency to better understand your virtual economy.
+/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
 /// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
 /// </ul>
 static NSString *const kFIREventEarnVirtualCurrency
     NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
 
-/// E-Commerce Purchase event. This event signifies that an item was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterLocation (NSString) (optional)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
-/// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventPurchase constant instead.</b>
-static NSString *const kFIREventEcommercePurchase NS_SWIFT_NAME(AnalyticsEventEcommercePurchase) =
-    @"ecommerce_purchase";
-
 /// Generate Lead event. Log this event when a lead has been generated in the app to understand the
 /// efficacy of your install and re-engagement campaigns. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
 /// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
     @"generate_lead";
@@ -171,22 +151,22 @@
 /// this event to analyze how popular certain groups or social features are in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterGroupID (NSString)</li>
+///     <li>@c AnalyticsParameterGroupID (String)</li>
 /// </ul>
 static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
 
 /// Level End event. Log this event when the user finishes a level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
-///     <li>@c kFIRParameterSuccess (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
+///     <li>@c AnalyticsParameterSuccess (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
 
 /// Level Start event. Log this event when the user starts a new level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
 
@@ -195,8 +175,8 @@
 /// are difficult to pass. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterLevel (Int)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"level_up";
 
@@ -209,54 +189,57 @@
 /// high scores with certain audiences or behaviors. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScore (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScore (Int)</li>
+///     <li>@c AnalyticsParameterLevel (Int) (optional)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
 
-/// Present Offer event. This event signifies that the app has presented a purchase offer to a user.
-/// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge
-/// your conversion process. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
+/// This is different from the in-app purchase event, which is reported automatically for App
+/// Store-based apps. Note: If you supply the @c AnalyticsParameterValue parameter, you must also
+/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterItemCategory (NSString)</li>
-///     <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventViewPromotion constant instead.</b>
-static NSString *const kFIREventPresentOffer NS_SWIFT_NAME(AnalyticsEventPresentOffer) =
-    @"present_offer";
+static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
 
-/// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
+/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventRefund constant instead.</b>
-static NSString *const kFIREventPurchaseRefund NS_SWIFT_NAME(AnalyticsEventPurchaseRefund) =
-    @"purchase_refund";
+static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the @c
-/// kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
+/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
     @"remove_from_cart";
@@ -265,8 +248,8 @@
 /// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScreenClass (NSString) (optional)</li>
-///     <li>@c kFIRParameterScreenName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
+///     <li>@c AnalyticsParameterScreenName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
 
@@ -275,18 +258,15 @@
 /// identify the most popular content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterOrigin (String) (optional)</li>
+///     <li>@c AnalyticsParameterDestination (String) (optional)</li>
+///     <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
 /// </ul>
 static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"search";
 
@@ -295,160 +275,20 @@
 /// identify popular content and categories of content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
 /// </ul>
 static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
     @"select_content";
-
-/// Set checkout option. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventSetCheckoutOption NS_SWIFT_NAME(AnalyticsEventSetCheckoutOption) =
-    @"set_checkout_option";
-
-/// Share event. Apps with social features can log the Share event to identify the most viral
-/// content. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
-
-/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
-/// parameter signifies the method by which the user signed up. Use this event to understand the
-/// different behaviors between logged in and logged out users. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSignUpMethod (NSString)</li>
-/// </ul>
-static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
-
-/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
-/// help you identify which virtual goods are the most popular objects of purchase. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
-/// </ul>
-static NSString *const kFIREventSpendVirtualCurrency
-    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
-
-/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
-/// this in a funnel with kFIREventTutorialComplete to understand how many users complete this
-/// process and move on to the full app experience.
-static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
-    @"tutorial_begin";
-
-/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
-/// process. Add this to a funnel with kFIREventTutorialBegin to gauge the completion rate of your
-/// on-boarding process.
-static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
-    @"tutorial_complete";
-
-/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
-/// game. Since achievements generally represent the breadth of a gaming experience, this event can
-/// help you understand how many users are experiencing all that your game has to offer. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAchievementID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
-    @"unlock_achievement";
-
-/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
-/// parameters to contextualize the event. Use this event to discover the most popular items viewed
-/// in your app. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
-
-/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
-    @"view_item_list";
-
-/// View Search Results event. Log this event when the user has been presented with the results of a
-/// search. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-/// </ul>
-static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
-    @"view_search_results";
-
-/// Add Shipping Info event. This event signifies that a user has submitted their shipping
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShippingTier (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
-    @"add_shipping_info";
-
-/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also supply
-/// the @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
-
-/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter so
-/// that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// Select Item event. This event signifies that an item was selected by a user from a list. Use the
 /// appropriate parameters to contextualize the event. Use this event to discover the most popular
 /// items selected. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
 
@@ -457,39 +297,122 @@
 /// applies. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
     @"select_promotion";
 
-/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
-/// analyze your purchase funnel. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
+/// Share event. Apps with social features can log the Share event to identify the most viral
+/// content. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
+/// </ul>
+static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
+
+/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
+/// parameter signifies the method by which the user signed up. Use this event to understand the
+/// different behaviors between logged in and logged out users. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterMethod (String)</li>
+/// </ul>
+static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
+
+/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
+/// help you identify which virtual goods are the most popular objects of purchase. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItemName (String)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
+/// </ul>
+static NSString *const kFIREventSpendVirtualCurrency
+    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
+
+/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
+/// this in a funnel with @c AnalyticsEventTutorialComplete to understand how many users complete
+/// this process and move on to the full app experience.
+static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
+    @"tutorial_begin";
+
+/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
+/// process. Add this to a funnel with @c AnalyticsEventTutorialBegin to gauge the completion rate
+/// of your on-boarding process.
+static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
+    @"tutorial_complete";
+
+/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
+/// game. Since achievements generally represent the breadth of a gaming experience, this event can
+/// help you understand how many users are experiencing all that your game has to offer. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterAchievementID (String)</li>
+/// </ul>
+static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
+    @"unlock_achievement";
+
+/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
+/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
+/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
+/// computed accurately. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
 
-/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
-/// to a funnel with the @c kFIREventAddToCart and @c kFIREventPurchase to gauge your conversion
-/// process. Params:
+/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
+/// parameters to contextualize the event. Use this event to discover the most popular items viewed
+/// in your app. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
+
+/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
+    @"view_item_list";
+
+/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
+/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
+/// conversion process. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
     @"view_promotion";
+
+/// View Search Results event. Log this event when the user has been presented with the results of a
+/// search. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+/// </ul>
+static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
+    @"view_search_results";
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRParameterNames.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
index 8dbf4b1..b001ca5 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
@@ -12,720 +12,710 @@
 
 #import <Foundation/Foundation.h>
 
-/// Game achievement ID (NSString).
+/// Game achievement ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAchievementID : @"10_matches_won",
+///     let params = [
+///       AnalyticsParameterAchievementID : "10_matches_won",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
     @"achievement_id";
 
 /// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdFormat : @"Banner",
+///     let params = [
+///       AnalyticsParameterAdFormat : "Banner",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
     @"ad_format";
 
-/// Ad Network Click ID (NSString). Used for network-specific click IDs which vary in format.
+/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdNetworkClickID : @"1234567",
+///     let params = [
+///       AnalyticsParameterAdNetworkClickID : "1234567",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdNetworkClickID
     NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
 
-/// The ad platform (e.g. MoPub, IronSource) (NSString).
+/// The ad platform (e.g. MoPub, IronSource) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdPlatform : @"MoPub",
+///     let params = [
+///       AnalyticsParameterAdPlatform : "MoPub",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
     @"ad_platform";
 
-/// The ad source (e.g. AdColony) (NSString).
+/// The ad source (e.g. AdColony) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdSource : @"AdColony",
+///     let params = [
+///       AnalyticsParameterAdSource : "AdColony",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
     @"ad_source";
 
-/// The ad unit name (e.g. Banner_03) (NSString).
+/// The ad unit name (e.g. Banner_03) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdUnitName : @"Banner_03",
+///     let params = [
+///       AnalyticsParameterAdUnitName : "Banner_03",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
     @"ad_unit_name";
 
 /// A product affiliation to designate a supplying company or brick and mortar store location
-/// (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAffiliation : @"Google Store",
+/// (String). <pre>
+///     let params = [
+///       AnalyticsParameterAffiliation : "Google Store",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
     @"affiliation";
 
+/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
+/// Use varies by network.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCP1 : "custom_data",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+
 /// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
 /// capture campaign information, otherwise can be populated by developer. Highly Recommended
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCampaign : @"winter_promotion",
+///     let params = [
+///       AnalyticsParameterCampaign : "winter_promotion",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
     @"campaign";
 
-/// Character used in game (NSString).
+/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
+/// strategic campaign. This is a required key for GA4 data import.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCharacter : @"beat_boss",
+///     let params = [
+///       AnalyticsParameterCampaignID : "7877652710",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
+    @"campaign_id";
+
+/// Character used in game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCharacter : "beat_boss",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
     @"character";
 
-/// The checkout step (1..N) (unsigned 64-bit integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutStep : @"1",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutStep NS_SWIFT_NAME(AnalyticsParameterCheckoutStep) =
-    @"checkout_step";
-
-/// Some option on a step in an ecommerce flow (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutOption : @"Visa",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutOption
-    NS_SWIFT_NAME(AnalyticsParameterCheckoutOption) = @"checkout_option";
-
-/// Campaign content (NSString).
+/// Campaign content (String).
 static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
 
-/// Type of content selected (NSString).
+/// Type of content selected (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterContentType : @"news article",
+///     let params = [
+///       AnalyticsParameterContentType : "news article",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
     @"content_type";
 
-/// Coupon code used for a purchase (NSString).
+/// Coupon code used for a purchase (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCoupon : @"SUMMER_FUN",
+///     let params = [
+///       AnalyticsParameterCoupon : "SUMMER_FUN",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
 
-/// Campaign custom parameter (NSString). Used as a method of capturing custom data in a campaign.
-/// Use varies by network.
+/// Creative Format (String). Used to identify the high-level classification of the type of ad
+/// served by a specific campaign.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCP1 : @"custom_data",
+///     let params = [
+///       AnalyticsParameterCreativeFormat : "display",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
+    @"creative_format";
 
-/// The name of a creative used in a promotional spot (NSString).
+/// The name of a creative used in a promotional spot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeName : @"Summer Sale",
+///     let params = [
+///       AnalyticsParameterCreativeName : "Summer Sale",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
     @"creative_name";
 
-/// The name of a creative slot (NSString).
+/// The name of a creative slot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeSlot : @"summer_banner2",
+///     let params = [
+///       AnalyticsParameterCreativeSlot : "summer_banner2",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
     @"creative_slot";
 
 /// Currency of the purchase or items associated with the event, in 3-letter
-/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (NSString).
+/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCurrency : @"USD",
+///     let params = [
+///       AnalyticsParameterCurrency : "USD",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
     @"currency";
 
-/// Flight or Travel destination (NSString).
+/// Flight or Travel destination (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDestination : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterDestination : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
     @"destination";
 
-/// The arrival date, check-out date or rental end date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Monetary value of discount associated with a purchase (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterEndDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterDiscount : 2.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.00 USD
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
+    @"discount";
+
+/// The arrival date, check-out date or rental end date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterEndDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
 
-/// Flight number for travel events (NSString).
+/// Indicates that the associated event should either extend the current session or start a new
+/// session if no session was active when the event was logged. Specify 1 to extend the current
+/// session or to start a new session; any other value will not extend or start a session.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterFlightNumber : @"ZZ800",
+///     let params = [
+///       AnalyticsParameterExtendSession : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
+    @"extend_session";
+
+/// Flight number for travel events (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterFlightNumber : "ZZ800",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
     @"flight_number";
 
-/// Group/clan/guild ID (NSString).
+/// Group/clan/guild ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterGroupID : @"g1",
+///     let params = [
+///       AnalyticsParameterGroupID : "g1",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
 
-/// The index of the item in a list (signed 64-bit integer as NSNumber).
+/// The index of the item in a list (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterIndex : @(5),
+///     let params = [
+///       AnalyticsParameterIndex : 5,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
 
-/// Item brand (NSString).
+/// Item brand (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemBrand : @"Google",
+///     let params = [
+///       AnalyticsParameterItemBrand : "Google",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
     @"item_brand";
 
-/// Item category (context-specific) (NSString).
+/// Item category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory : "pants",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
     @"item_category";
 
-/// Item ID (context-specific) (NSString).
+/// Item Category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemID : @"SKU_12345",
+///     let params = [
+///       AnalyticsParameterItemCategory2 : "pants",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
+    @"item_category2";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory3 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
+    @"item_category3";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory4 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
+    @"item_category4";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory5 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
+    @"item_category5";
+
+/// Item ID (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemID : "SKU_12345",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
 
-/// The Google <a href="https://developers.google.com/places/place-id">Place ID</a> (NSString) that
-/// corresponds to the associated item. Alternatively, you can supply your own custom Location ID.
+/// The ID of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterItemListID : "ABC123",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterLocationID constant instead.</b>
-static NSString *const kFIRParameterItemLocationID
-    NS_SWIFT_NAME(AnalyticsParameterItemLocationID) = @"item_location_id";
+static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
+    @"item_list_id";
 
-/// Item Name (context-specific) (NSString).
+/// The name of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemName : @"jeggings",
+///     let params = [
+///       AnalyticsParameterItemListName : "Related products",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
+    @"item_list_name";
+
+/// Item Name (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemName : "jeggings",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
     @"item_name";
 
-/// The list in which the item was presented to the user (NSString).
+/// Item variant (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemList : @"Search Results",
+///     let params = [
+///       AnalyticsParameterItemVariant : "Black",
 ///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterItemListName constant instead.</b>
-static NSString *const kFIRParameterItemList NS_SWIFT_NAME(AnalyticsParameterItemList) =
-    @"item_list";
-
-/// Item variant (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemVariant : @"Black",
-///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
     @"item_variant";
 
-/// Level in game (signed 64-bit integer as NSNumber).
+/// The list of items involved in the transaction expressed as `[[String: Any]]`.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevel : @(42),
+///     let params = [
+///       AnalyticsParameterItems : [
+///         [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
+///         [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
+///       ],
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
+
+/// Level in game (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevel : 42,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
 
-/// Location (NSString). The Google <a href="https://developers.google.com/places/place-id">Place ID
+/// The name of a level in a game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevelName : "room_1",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
+    @"level_name";
+
+/// Location (String). The Google <a href="https://developers.google.com/places/place-id">Place ID
 /// </a> that corresponds to the associated event. Alternatively, you can supply your own custom
 /// Location ID.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocation : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
     @"location";
 
-/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
-/// (NSString).
+/// The location associated with the event. Preferred to be the Google
+/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
+/// associated item but could be overridden to a custom location ID string.(String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMedium : @"email",
+///     let params = [
+///       AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
+    @"location_id";
+
+/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
+/// campaign.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMarketingTactic : "Remarketing",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMarketingTactic
+    NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
+
+/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
+/// (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMedium : "email",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
 
-/// Number of nights staying at hotel (signed 64-bit integer as NSNumber).
+/// A particular approach used in an operation; for example, "facebook" or "email" in the context
+/// of a sign_up or login event. (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfNights : @(3),
+///     let params = [
+///       AnalyticsParameterMethod : "google",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+
+/// Number of nights staying at hotel (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterNumberOfNights : 3,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfNights
     NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
 
-/// Number of passengers traveling (signed 64-bit integer as NSNumber).
+/// Number of passengers traveling (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfPassengers : @(11),
+///     let params = [
+///       AnalyticsParameterNumberOfPassengers : 11,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfPassengers
     NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
 
-/// Number of rooms for travel events (signed 64-bit integer as NSNumber).
+/// Number of rooms for travel events (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfRooms : @(2),
+///     let params = [
+///       AnalyticsParameterNumberOfRooms : 2,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
     @"number_of_rooms";
 
-/// Flight or Travel origin (NSString).
+/// Flight or Travel origin (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterOrigin : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterOrigin : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
 
-/// Purchase price (double as NSNumber).
+/// The chosen method of payment (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPrice : @(1.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $1.00 USD
+///     let params = [
+///       AnalyticsParameterPaymentType : "Visa",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
+    @"payment_type";
+
+/// Purchase price (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPrice : 1.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $1.00 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
 
-/// Purchase quantity (signed 64-bit integer as NSNumber).
+/// The ID of a product promotion (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterQuantity : @(1),
+///     let params = [
+///       AnalyticsParameterPromotionID : "ABC123",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
+    @"promotion_id";
+
+/// The name of a product promotion (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPromotionName : "Summer Sale",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
+    @"promotion_name";
+
+/// Purchase quantity (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterQuantity : 1,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
     @"quantity";
 
-/// Score in game (signed 64-bit integer as NSNumber).
+/// Score in game (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScore : @(4200),
+///     let params = [
+///       AnalyticsParameterScore : 4200,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
 
 /// Current screen class, such as the class name of the UIViewController, logged with screen_view
-/// event and added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenClass : @"LoginViewController",
+/// event and added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenClass : "LoginViewController",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
     @"screen_class";
 
 /// Current screen name, such as the name of the UIViewController, logged with screen_view event and
-/// added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenName : @"LoginView",
+/// added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenName : "LoginView",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
     @"screen_name";
 
-/// The search string/keywords used (NSString).
+/// The search string/keywords used (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSearchTerm : @"periodic table",
+///     let params = [
+///       AnalyticsParameterSearchTerm : "periodic table",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
     @"search_term";
 
-/// Shipping cost associated with a transaction (double as NSNumber).
+/// Shipping cost associated with a transaction (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShipping : @(5.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $5.99 USD
+///     let params = [
+///       AnalyticsParameterShipping : 5.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $5.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
     @"shipping";
 
-/// Sign up method (NSString).
+/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSignUpMethod : @"google",
+///     let params = [
+///       AnalyticsParameterShippingTier : "Ground",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-///
-/// <b>This constant has been deprecated. Use Method constant instead.</b>
-static NSString *const kFIRParameterSignUpMethod NS_SWIFT_NAME(AnalyticsParameterSignUpMethod) =
-    @"sign_up_method";
-
-/// A particular approach used in an operation; for example, "facebook" or "email" in the context
-/// of a sign_up or login event.  (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMethod : @"google",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
+    @"shipping_tier";
 
 /// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
 /// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
-/// property. Highly recommended (NSString).
+/// property. Highly recommended (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSource : @"InMobi",
+///     let params = [
+///       AnalyticsParameterSource : "InMobi",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
 
-/// The departure date, check-in date or rental start date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
+/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
+/// set, a platform for managing organic traffic data, etc.).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterStartDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterSourcePlatform : "sa360",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
+    @"source_platform";
+
+/// The departure date, check-in date or rental start date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterStartDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
     @"start_date";
 
-/// Tax cost associated with a transaction (double as NSNumber).
+/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTax : @(2.43),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.43 USD
+///     let params = [
+///       AnalyticsParameterSuccess : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
+
+/// Tax cost associated with a transaction (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterTax : 2.43,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.43 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
 
 /// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTerm : @"game",
+///     let params = [
+///       AnalyticsParameterTerm : "game",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
 
-/// The unique identifier of a transaction (NSString).
+/// The unique identifier of a transaction (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTransactionID : @"T12345",
+///     let params = [
+///       AnalyticsParameterTransactionID : "T12345",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
     @"transaction_id";
 
-/// Travel class (NSString).
+/// Travel class (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTravelClass : @"business",
+///     let params = [
+///       AnalyticsParameterTravelClass : "business",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
     @"travel_class";
 
 /// A context-specific numeric value which is accumulated automatically for each event type. This is
 /// a general purpose parameter that is useful for accumulating a key metric that pertains to an
-/// event. Examples include revenue, distance, time and points. Value should be specified as signed
-/// 64-bit integer or double as NSNumber. Notes: Values for pre-defined currency-related events
-/// (such as @c kFIREventAddToCart) should be supplied using double as NSNumber and must be
-/// accompanied by a @c kFIRParameterCurrency parameter. The valid range of accumulated values is
+/// event. Examples include revenue, distance, time and points. Value should be specified as Int or
+/// Double.
+/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
+/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
+/// parameter. The valid range of accumulated values is
 /// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
-/// corresponding @c kFIRParameterCurrency parameter, or supplying an invalid
+/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
 /// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
 /// conversion to be omitted from reporting.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterValue : @(3.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $3.99 USD
+///     let params = [
+///       AnalyticsParameterValue : 3.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $3.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
 
-/// Name of virtual currency type (NSString).
+/// Name of virtual currency type (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterVirtualCurrencyName : @"virtual_currency_name",
+///     let params = [
+///       AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterVirtualCurrencyName
     NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";
-
-/// The name of a level in a game (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevelName : @"room_1",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
-    @"level_name";
-
-/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (unsigned
-/// integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSuccess : @(1),
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
-
-/// Indicates that the associated event should either extend the current session
-/// or start a new session if no session was active when the event was logged.
-/// Specify YES to extend the current session or to start a new session; any
-/// other value will not extend or start a session.
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterExtendSession : @YES,
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
-    @"extend_session";
-
-/// Monetary value of discount associated with a purchase (double as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDiscount : @(2.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.00 USD
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
-    @"discount";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory2 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
-    @"item_category2";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory3 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
-    @"item_category3";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory4 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
-    @"item_category4";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory5 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
-    @"item_category5";
-
-/// The ID of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
-    @"item_list_id";
-
-/// The name of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListName : @"Related products",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
-    @"item_list_name";
-
-/// The list of items involved in the transaction. (NSArray).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItems : @[
-///         @{kFIRParameterItemName : @"jeggings", kFIRParameterItemCategory : @"pants"},
-///         @{kFIRParameterItemName : @"boots", kFIRParameterItemCategory : @"shoes"},
-///       ],
-///     };
-/// </pre>
-static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
-
-/// The location associated with the event. Preferred to be the Google
-/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
-/// associated item but could be overridden to a custom location ID string.(NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
-    @"location_id";
-
-/// The chosen method of payment (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPaymentType : @"Visa",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
-    @"payment_type";
-
-/// The ID of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
-    @"promotion_id";
-
-/// The name of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionName : @"Summer Sale",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
-    @"promotion_name";
-
-/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
-/// (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShippingTier : @"Ground",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
-    @"shipping_tier";
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
index 132aef7..2442d8a 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
@@ -12,18 +12,17 @@
 
 #import <Foundation/Foundation.h>
 
-/// The method used to sign in. For example, "google", "facebook" or "twitter".
-static NSString *const kFIRUserPropertySignUpMethod
-    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
-
 /// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
 /// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
 /// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
 /// more details and information about related settings.
 ///
 /// <pre>
-///     [FIRAnalytics setUserPropertyString:@"NO"
-///                                 forName:kFIRUserPropertyAllowAdPersonalizationSignals];
+///     Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
 /// </pre>
 static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
     NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
+
+/// The method used to sign in. For example, "google", "facebook" or "twitter".
+static NSString *const kFIRUserPropertySignUpMethod
+    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
new file mode 100644
index 0000000..ad84fbb
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
@@ -0,0 +1,24 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRAnalytics+AppDelegate.h"
+#import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
+#import "FIRAnalytics.h"
+#import "FirebaseAnalytics.h"
+#import "FIREventNames.h"
+#import "FIRParameterNames.h"
+#import "FIRUserPropertyNames.h"
+
+FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];
+
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
index 368f79c..351da20 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
@@ -1,5 +1,6 @@
 #import "FIRAnalytics+AppDelegate.h"
 #import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
 #import "FIRAnalytics.h"
 #import "FIREventNames.h"
 #import "FIRParameterNames.h"
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Info.plist b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Info.plist
index b659341..c011a90 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Info.plist
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Modules/module.modulemap b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Modules/module.modulemap
index aa72782..37eb24b 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Modules/module.modulemap
@@ -1,8 +1,7 @@
 framework module FirebaseAnalytics {
-umbrella header "FirebaseAnalytics.h"
+umbrella header "FirebaseAnalytics-umbrella.h"
 export *
 module * { export * }
-  link framework "CoreTelephony"
   link framework "Foundation"
   link framework "Security"
   link framework "SystemConfiguration"
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics
index 07d8332..1ad6abf 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics
Binary files differ
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
index d499af6..cb1e407 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
@@ -4,59 +4,77 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/**
- * Provides App Delegate handlers to be used in your App Delegate.
- *
- * To save time integrating Firebase Analytics in an application, Firebase Analytics does not
- * require delegation implementation from the AppDelegate. Instead this is automatically done by
- * Firebase Analytics. Should you choose instead to delegate manually, you can turn off the App
- * Delegate Proxy by adding FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting
- * it to NO, and adding the methods in this category to corresponding delegation handlers.
- *
- * To handle Universal Links, you must return YES in
- * [UIApplicationDelegate application:didFinishLaunchingWithOptions:].
- */
+/// Provides App Delegate handlers to be used in your App Delegate.
+///
+/// To save time integrating Firebase Analytics in an application, Firebase Analytics does not
+/// require delegation implementation from the AppDelegate if neither SwiftUI nor UIScene lifecycle
+/// is adopted. Instead this is automatically done by Firebase Analytics. Should you choose instead
+/// to delegate manually, you can turn off the App Delegate Proxy by adding
+/// FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting it to boolean `NO`, and
+/// adding the methods in this category to corresponding delegation handlers.
+///
+/// To handle Universal Links, you must return `true` in
+/// `UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)`.
 @interface FIRAnalytics (AppDelegate)
 
-/**
- * Handles events related to a URL session that are waiting to be processed.
- *
- * For optimal use of Firebase Analytics, call this method from the
- * [UIApplicationDelegate application:handleEventsForBackgroundURLSession:completionHandler]
- * method of the app delegate in your app.
- *
- * @param identifier The identifier of the URL session requiring attention.
- * @param completionHandler The completion handler to call when you finish processing the events.
- *     Calling this completion handler lets the system know that your app's user interface is
- *     updated and a new snapshot can be taken.
- */
+/// Handles events related to a URL session that are waiting to be processed.
+///
+/// 1. If SwiftUI lifecycle is adopted, call this method from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// 2. If SwiftUI lifecycle is not adopted, Firebase Analytics does not require delegation
+/// implementation from the AppDelegate. If you choose instead to delegate manually, you can set
+/// FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this method
+/// from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// @param identifier The identifier of the URL session requiring attention.
+/// @param completionHandler The completion handler to call when you finish processing the events.
+///     Calling this completion handler lets the system know that your app's user interface is
+///     updated and a new snapshot can be taken.
 + (void)handleEventsForBackgroundURLSession:(NSString *)identifier
                           completionHandler:(nullable void (^)(void))completionHandler;
 
-/**
- * Handles the event when the app is launched by a URL.
- *
- * Call this method from [UIApplicationDelegate application:openURL:options:] &#40;on iOS 9.0 and
- * above&#41;, or [UIApplicationDelegate application:openURL:sourceApplication:annotation:] &#40;on
- * iOS 8.x and below&#41; in your app.
- *
- * @param url The URL resource to open. This resource can be a network resource or a file.
- */
+/// Handles the event when the app is launched by a URL (custom URL scheme or universal link).
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// this method in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and
+/// `UISceneDelegate.scene(_:openURLContexts:)` when the URL contexts are available.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplicationDelegate.application(_:open:options:)` in your app delegate.
+///
+/// @param url The URL resource to open. This resource can be a network resource or a file.
 + (void)handleOpenURL:(NSURL *)url;
 
-/**
- * Handles the event when the app receives data associated with user activity that includes a
- * Universal Link (on iOS 9.0 and above).
- *
- * Call this method from [UIApplication continueUserActivity:restorationHandler:] in your app
- * delegate (on iOS 9.0 and above).
- *
- * @param userActivity The activity object containing the data associated with the task the user
- *     was performing.
- */
+/// Handles the event when the app receives data associated with user activity that includes a
+/// Universal Link.
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// `Analytics.handleOpen(_:)` instead in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and `UISceneDelegate.scene(_:continue:)` when
+/// NSUserActivity is available. See the [Apple
+/// doc](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) for
+/// more details.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplication.application(_:continue:restorationHandler:)` in your app delegate.
+///
+/// @param userActivity The activity object containing the data associated with the task the user
+///     was performing.
 + (void)handleUserActivity:(id)userActivity;
 
 @end
 
 NS_ASSUME_NONNULL_END
-
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
index 686a386..7f89831 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
@@ -23,7 +23,7 @@
 /// device. Use the consent settings to specify individual consent type values. Settings are
 /// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
 ///
-/// @param consentSettings An NSDictionary of consent types. Supported consent type keys are
+/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
 ///   `ConsentType.adStorage` and `ConsentType.analyticsStorage`. Valid values are
 ///   `ConsentStatus.granted` and `ConsentStatus.denied`.
 + (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
new file mode 100644
index 0000000..1d9a438
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
@@ -0,0 +1,19 @@
+#import <Foundation/Foundation.h>
+
+#import "FIRAnalytics.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
+@interface FIRAnalytics (OnDevice)
+
+/// Initiates on-device conversion measurement given a user email address. Requires dependency
+/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
+/// @param emailAddress User email address. Include a domain name for all email addresses
+///   (e.g. gmail.com or hotmail.co.jp).
++ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
+    NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
index b9de094..e7ce5dc 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
@@ -28,7 +28,6 @@
 ///     <li>ad_query</li>
 ///     <li>ad_reward</li>
 ///     <li>adunit_exposure</li>
-///     <li>app_background</li>
 ///     <li>app_clear_data</li>
 ///     <li>app_exception</li>
 ///     <li>app_remove</li>
@@ -62,12 +61,12 @@
 ///     "google_", and "ga_" prefixes are reserved and should not be used. Note that event names are
 ///     case-sensitive and that logging two events whose names differ only in case will result in
 ///     two distinct events. To manually log screen view events, use the `screen_view` event name.
-/// @param parameters The dictionary of event parameters. Passing nil indicates that the event has
+/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
 ///     no parameters. Parameter names can be up to 40 characters long and must start with an
-///     alphabetic character and contain only alphanumeric characters and underscores. Only NSString
-///     and NSNumber (signed 64-bit integer and 64-bit floating-point number) parameter types are
-///     supported. NSString parameter values can be up to 100 characters long. The "firebase_",
-///     "google_", and "ga_" prefixes are reserved and should not be used for parameter names.
+///     alphabetic character and contain only alphanumeric characters and underscores. Only String,
+///     Int, and Double parameter types are supported. String parameter values can be up to 100
+///     characters long. The "firebase_", "google_", and "ga_" prefixes are reserved and should not
+///     be used for parameter names.
 + (void)logEventWithName:(NSString *)name
               parameters:(nullable NSDictionary<NSString *, id> *)parameters
     NS_SWIFT_NAME(logEvent(_:parameters:));
@@ -83,7 +82,7 @@
 /// </ul>
 ///
 /// @param value The value of the user property. Values can be up to 36 characters long. Setting the
-///     value to nil removes the user property.
+///     value to `nil` removes the user property.
 /// @param name The name of the user property to set. Should contain 1 to 24 alphanumeric characters
 ///     or underscores and must start with an alphabetic character. The "firebase_", "google_", and
 ///     "ga_" prefixes are reserved and should not be used for user property names.
@@ -94,7 +93,7 @@
 /// <a href="https://www.google.com/policies/privacy">Google's Privacy Policy</a>
 ///
 /// @param userID The user ID to ascribe to the user of this app on this device, which must be
-///     non-empty and no more than 256 characters long. Setting userID to nil removes the user ID.
+///     non-empty and no more than 256 characters long. Setting userID to `nil` removes the user ID.
 + (void)setUserID:(nullable NSString *)userID;
 
 /// Sets whether analytics collection is enabled for this app on this device. This setting is
@@ -110,14 +109,27 @@
 ///     session terminates.
 + (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
 
-/// Returns the unique ID for this instance of the application or nil if
+/// Asynchronously retrieves the identifier of the current app session.
+///
+/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
+/// etc.
+///
+/// @param completion The completion handler to call when the session ID retrieval is complete. This
+///     handler is executed on a system-defined global concurrent queue.
+///     This completion handler takes the following parameters:
+///     <b>sessionID</b> The identifier of the current app session. The value is undefined if the
+///         request failed.
+///     <b>error</b> An error object that indicates why the request failed, or `nil` if the request
+///         was successful.
++ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
+
+/// Returns the unique ID for this instance of the application or `nil` if
 /// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
 ///
 /// @see `FIRAnalytics+Consent.h`
 + (nullable NSString *)appInstanceID;
 
 /// Clears all analytics data for this instance from the device and resets the app instance ID.
-/// FIRAnalyticsConfiguration values will be reset to the default values.
 + (void)resetAnalyticsData;
 
 /// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
@@ -129,9 +141,9 @@
 ///
 /// @param parameters Parameters to be added to the dictionary of parameters added to every event.
 ///     They will be added to the dictionary of default event parameters, replacing any existing
-///     parameter with the same name. Valid parameters are NSString and NSNumber (signed 64-bit
-///     integer and 64-bit floating-point number). Setting a key's value to [NSNull null] will clear
-///     that parameter. Passing in a nil dictionary will clear all parameters.
+///     parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
+///     value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
+///     parameters.
 + (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
 
 /// Unavailable.
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h
index a362afd..1e69a44 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h
@@ -12,60 +12,76 @@
 
 #import <Foundation/Foundation.h>
 
-/// Add Payment Info event. This event signifies that a user has submitted their payment
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
+/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterPaymentType (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdSource (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
+    @"ad_impression";
+
+/// Add Payment Info event. This event signifies that a user has submitted their payment
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
     @"add_payment_info";
 
+/// Add Shipping Info event. This event signifies that a user has submitted their shipping
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
+    @"add_shipping_info";
+
 /// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
-/// purchase. Add this event to a funnel with @c kFIREventPurchase to gauge the effectiveness of
-/// your checkout process. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
+/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
+/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"add_to_cart";
 
 /// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist. Use
-/// this event to identify popular gift items. Note: If you supply the @c kFIRParameterValue
-/// parameter, you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics
-/// can be computed accurately. Params:
+/// this event to identify popular gift items. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
     @"add_to_wishlist";
-
-/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
-/// the @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter
-/// so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAdPlatform (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdFormat (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdSource (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdUnitName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
-    @"ad_impression";
 
 /// App Open event. By logging this event when an App becomes active, developers can understand how
 /// often users leave and return during the course of a Session. Although Sessions are automatically
@@ -74,95 +90,59 @@
 static NSString *const kFIREventAppOpen NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"app_open";
 
 /// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
-/// checking out. Add this event to a funnel with your @c kFIREventPurchase event to gauge the
-/// effectiveness of your checkout process. Note: If you supply the @c kFIRParameterValue parameter,
-/// you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be
-/// computed accurately. Params:
+/// checking out. Add this event to a funnel with your @c AnalyticsEventPurchase event to gauge the
+/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
     @"begin_checkout";
 
 /// Campaign Detail event. Log this event to supply the referral details of a re-engagement
-/// campaign. Note: you must supply at least one of the required parameters kFIRParameterSource,
-/// kFIRParameterMedium or kFIRParameterCampaign. Params:
+/// campaign. Note: you must supply at least one of the required parameters
+/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSource (NSString)</li>
-///     <li>@c kFIRParameterMedium (NSString)</li>
-///     <li>@c kFIRParameterCampaign (NSString)</li>
-///     <li>@c kFIRParameterTerm (NSString) (optional)</li>
-///     <li>@c kFIRParameterContent (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdNetworkClickID (NSString) (optional)</li>
-///     <li>@c kFIRParameterCP1 (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterSource (String)</li>
+///     <li>@c AnalyticsParameterMedium (String)</li>
+///     <li>@c AnalyticsParameterCampaign (String)</li>
+///     <li>@c AnalyticsParameterTerm (String) (optional)</li>
+///     <li>@c AnalyticsParameterContent (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCP1 (String) (optional)</li>
+///     <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
+///     <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
     @"campaign_details";
 
-/// Checkout progress. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString) (optional)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventCheckoutProgress NS_SWIFT_NAME(AnalyticsEventCheckoutProgress) =
-    @"checkout_progress";
-
 /// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
-/// this along with @c kFIREventSpendVirtualCurrency to better understand your virtual economy.
+/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
 /// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
 /// </ul>
 static NSString *const kFIREventEarnVirtualCurrency
     NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
 
-/// E-Commerce Purchase event. This event signifies that an item was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterLocation (NSString) (optional)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
-/// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventPurchase constant instead.</b>
-static NSString *const kFIREventEcommercePurchase NS_SWIFT_NAME(AnalyticsEventEcommercePurchase) =
-    @"ecommerce_purchase";
-
 /// Generate Lead event. Log this event when a lead has been generated in the app to understand the
 /// efficacy of your install and re-engagement campaigns. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
 /// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
     @"generate_lead";
@@ -171,22 +151,22 @@
 /// this event to analyze how popular certain groups or social features are in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterGroupID (NSString)</li>
+///     <li>@c AnalyticsParameterGroupID (String)</li>
 /// </ul>
 static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
 
 /// Level End event. Log this event when the user finishes a level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
-///     <li>@c kFIRParameterSuccess (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
+///     <li>@c AnalyticsParameterSuccess (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
 
 /// Level Start event. Log this event when the user starts a new level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
 
@@ -195,8 +175,8 @@
 /// are difficult to pass. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterLevel (Int)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"level_up";
 
@@ -209,54 +189,57 @@
 /// high scores with certain audiences or behaviors. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScore (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScore (Int)</li>
+///     <li>@c AnalyticsParameterLevel (Int) (optional)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
 
-/// Present Offer event. This event signifies that the app has presented a purchase offer to a user.
-/// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge
-/// your conversion process. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
+/// This is different from the in-app purchase event, which is reported automatically for App
+/// Store-based apps. Note: If you supply the @c AnalyticsParameterValue parameter, you must also
+/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterItemCategory (NSString)</li>
-///     <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventViewPromotion constant instead.</b>
-static NSString *const kFIREventPresentOffer NS_SWIFT_NAME(AnalyticsEventPresentOffer) =
-    @"present_offer";
+static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
 
-/// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
+/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventRefund constant instead.</b>
-static NSString *const kFIREventPurchaseRefund NS_SWIFT_NAME(AnalyticsEventPurchaseRefund) =
-    @"purchase_refund";
+static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the @c
-/// kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
+/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
     @"remove_from_cart";
@@ -265,8 +248,8 @@
 /// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScreenClass (NSString) (optional)</li>
-///     <li>@c kFIRParameterScreenName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
+///     <li>@c AnalyticsParameterScreenName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
 
@@ -275,18 +258,15 @@
 /// identify the most popular content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterOrigin (String) (optional)</li>
+///     <li>@c AnalyticsParameterDestination (String) (optional)</li>
+///     <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
 /// </ul>
 static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"search";
 
@@ -295,160 +275,20 @@
 /// identify popular content and categories of content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
 /// </ul>
 static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
     @"select_content";
-
-/// Set checkout option. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventSetCheckoutOption NS_SWIFT_NAME(AnalyticsEventSetCheckoutOption) =
-    @"set_checkout_option";
-
-/// Share event. Apps with social features can log the Share event to identify the most viral
-/// content. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
-
-/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
-/// parameter signifies the method by which the user signed up. Use this event to understand the
-/// different behaviors between logged in and logged out users. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSignUpMethod (NSString)</li>
-/// </ul>
-static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
-
-/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
-/// help you identify which virtual goods are the most popular objects of purchase. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
-/// </ul>
-static NSString *const kFIREventSpendVirtualCurrency
-    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
-
-/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
-/// this in a funnel with kFIREventTutorialComplete to understand how many users complete this
-/// process and move on to the full app experience.
-static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
-    @"tutorial_begin";
-
-/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
-/// process. Add this to a funnel with kFIREventTutorialBegin to gauge the completion rate of your
-/// on-boarding process.
-static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
-    @"tutorial_complete";
-
-/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
-/// game. Since achievements generally represent the breadth of a gaming experience, this event can
-/// help you understand how many users are experiencing all that your game has to offer. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAchievementID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
-    @"unlock_achievement";
-
-/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
-/// parameters to contextualize the event. Use this event to discover the most popular items viewed
-/// in your app. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
-
-/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
-    @"view_item_list";
-
-/// View Search Results event. Log this event when the user has been presented with the results of a
-/// search. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-/// </ul>
-static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
-    @"view_search_results";
-
-/// Add Shipping Info event. This event signifies that a user has submitted their shipping
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShippingTier (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
-    @"add_shipping_info";
-
-/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also supply
-/// the @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
-
-/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter so
-/// that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// Select Item event. This event signifies that an item was selected by a user from a list. Use the
 /// appropriate parameters to contextualize the event. Use this event to discover the most popular
 /// items selected. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
 
@@ -457,39 +297,122 @@
 /// applies. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
     @"select_promotion";
 
-/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
-/// analyze your purchase funnel. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
+/// Share event. Apps with social features can log the Share event to identify the most viral
+/// content. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
+/// </ul>
+static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
+
+/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
+/// parameter signifies the method by which the user signed up. Use this event to understand the
+/// different behaviors between logged in and logged out users. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterMethod (String)</li>
+/// </ul>
+static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
+
+/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
+/// help you identify which virtual goods are the most popular objects of purchase. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItemName (String)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
+/// </ul>
+static NSString *const kFIREventSpendVirtualCurrency
+    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
+
+/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
+/// this in a funnel with @c AnalyticsEventTutorialComplete to understand how many users complete
+/// this process and move on to the full app experience.
+static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
+    @"tutorial_begin";
+
+/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
+/// process. Add this to a funnel with @c AnalyticsEventTutorialBegin to gauge the completion rate
+/// of your on-boarding process.
+static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
+    @"tutorial_complete";
+
+/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
+/// game. Since achievements generally represent the breadth of a gaming experience, this event can
+/// help you understand how many users are experiencing all that your game has to offer. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterAchievementID (String)</li>
+/// </ul>
+static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
+    @"unlock_achievement";
+
+/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
+/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
+/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
+/// computed accurately. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
 
-/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
-/// to a funnel with the @c kFIREventAddToCart and @c kFIREventPurchase to gauge your conversion
-/// process. Params:
+/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
+/// parameters to contextualize the event. Use this event to discover the most popular items viewed
+/// in your app. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
+
+/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
+    @"view_item_list";
+
+/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
+/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
+/// conversion process. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
     @"view_promotion";
+
+/// View Search Results event. Log this event when the user has been presented with the results of a
+/// search. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+/// </ul>
+static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
+    @"view_search_results";
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
index 8dbf4b1..b001ca5 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
@@ -12,720 +12,710 @@
 
 #import <Foundation/Foundation.h>
 
-/// Game achievement ID (NSString).
+/// Game achievement ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAchievementID : @"10_matches_won",
+///     let params = [
+///       AnalyticsParameterAchievementID : "10_matches_won",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
     @"achievement_id";
 
 /// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdFormat : @"Banner",
+///     let params = [
+///       AnalyticsParameterAdFormat : "Banner",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
     @"ad_format";
 
-/// Ad Network Click ID (NSString). Used for network-specific click IDs which vary in format.
+/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdNetworkClickID : @"1234567",
+///     let params = [
+///       AnalyticsParameterAdNetworkClickID : "1234567",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdNetworkClickID
     NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
 
-/// The ad platform (e.g. MoPub, IronSource) (NSString).
+/// The ad platform (e.g. MoPub, IronSource) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdPlatform : @"MoPub",
+///     let params = [
+///       AnalyticsParameterAdPlatform : "MoPub",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
     @"ad_platform";
 
-/// The ad source (e.g. AdColony) (NSString).
+/// The ad source (e.g. AdColony) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdSource : @"AdColony",
+///     let params = [
+///       AnalyticsParameterAdSource : "AdColony",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
     @"ad_source";
 
-/// The ad unit name (e.g. Banner_03) (NSString).
+/// The ad unit name (e.g. Banner_03) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdUnitName : @"Banner_03",
+///     let params = [
+///       AnalyticsParameterAdUnitName : "Banner_03",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
     @"ad_unit_name";
 
 /// A product affiliation to designate a supplying company or brick and mortar store location
-/// (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAffiliation : @"Google Store",
+/// (String). <pre>
+///     let params = [
+///       AnalyticsParameterAffiliation : "Google Store",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
     @"affiliation";
 
+/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
+/// Use varies by network.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCP1 : "custom_data",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+
 /// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
 /// capture campaign information, otherwise can be populated by developer. Highly Recommended
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCampaign : @"winter_promotion",
+///     let params = [
+///       AnalyticsParameterCampaign : "winter_promotion",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
     @"campaign";
 
-/// Character used in game (NSString).
+/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
+/// strategic campaign. This is a required key for GA4 data import.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCharacter : @"beat_boss",
+///     let params = [
+///       AnalyticsParameterCampaignID : "7877652710",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
+    @"campaign_id";
+
+/// Character used in game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCharacter : "beat_boss",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
     @"character";
 
-/// The checkout step (1..N) (unsigned 64-bit integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutStep : @"1",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutStep NS_SWIFT_NAME(AnalyticsParameterCheckoutStep) =
-    @"checkout_step";
-
-/// Some option on a step in an ecommerce flow (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutOption : @"Visa",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutOption
-    NS_SWIFT_NAME(AnalyticsParameterCheckoutOption) = @"checkout_option";
-
-/// Campaign content (NSString).
+/// Campaign content (String).
 static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
 
-/// Type of content selected (NSString).
+/// Type of content selected (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterContentType : @"news article",
+///     let params = [
+///       AnalyticsParameterContentType : "news article",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
     @"content_type";
 
-/// Coupon code used for a purchase (NSString).
+/// Coupon code used for a purchase (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCoupon : @"SUMMER_FUN",
+///     let params = [
+///       AnalyticsParameterCoupon : "SUMMER_FUN",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
 
-/// Campaign custom parameter (NSString). Used as a method of capturing custom data in a campaign.
-/// Use varies by network.
+/// Creative Format (String). Used to identify the high-level classification of the type of ad
+/// served by a specific campaign.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCP1 : @"custom_data",
+///     let params = [
+///       AnalyticsParameterCreativeFormat : "display",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
+    @"creative_format";
 
-/// The name of a creative used in a promotional spot (NSString).
+/// The name of a creative used in a promotional spot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeName : @"Summer Sale",
+///     let params = [
+///       AnalyticsParameterCreativeName : "Summer Sale",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
     @"creative_name";
 
-/// The name of a creative slot (NSString).
+/// The name of a creative slot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeSlot : @"summer_banner2",
+///     let params = [
+///       AnalyticsParameterCreativeSlot : "summer_banner2",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
     @"creative_slot";
 
 /// Currency of the purchase or items associated with the event, in 3-letter
-/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (NSString).
+/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCurrency : @"USD",
+///     let params = [
+///       AnalyticsParameterCurrency : "USD",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
     @"currency";
 
-/// Flight or Travel destination (NSString).
+/// Flight or Travel destination (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDestination : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterDestination : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
     @"destination";
 
-/// The arrival date, check-out date or rental end date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Monetary value of discount associated with a purchase (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterEndDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterDiscount : 2.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.00 USD
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
+    @"discount";
+
+/// The arrival date, check-out date or rental end date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterEndDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
 
-/// Flight number for travel events (NSString).
+/// Indicates that the associated event should either extend the current session or start a new
+/// session if no session was active when the event was logged. Specify 1 to extend the current
+/// session or to start a new session; any other value will not extend or start a session.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterFlightNumber : @"ZZ800",
+///     let params = [
+///       AnalyticsParameterExtendSession : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
+    @"extend_session";
+
+/// Flight number for travel events (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterFlightNumber : "ZZ800",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
     @"flight_number";
 
-/// Group/clan/guild ID (NSString).
+/// Group/clan/guild ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterGroupID : @"g1",
+///     let params = [
+///       AnalyticsParameterGroupID : "g1",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
 
-/// The index of the item in a list (signed 64-bit integer as NSNumber).
+/// The index of the item in a list (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterIndex : @(5),
+///     let params = [
+///       AnalyticsParameterIndex : 5,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
 
-/// Item brand (NSString).
+/// Item brand (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemBrand : @"Google",
+///     let params = [
+///       AnalyticsParameterItemBrand : "Google",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
     @"item_brand";
 
-/// Item category (context-specific) (NSString).
+/// Item category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory : "pants",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
     @"item_category";
 
-/// Item ID (context-specific) (NSString).
+/// Item Category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemID : @"SKU_12345",
+///     let params = [
+///       AnalyticsParameterItemCategory2 : "pants",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
+    @"item_category2";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory3 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
+    @"item_category3";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory4 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
+    @"item_category4";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory5 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
+    @"item_category5";
+
+/// Item ID (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemID : "SKU_12345",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
 
-/// The Google <a href="https://developers.google.com/places/place-id">Place ID</a> (NSString) that
-/// corresponds to the associated item. Alternatively, you can supply your own custom Location ID.
+/// The ID of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterItemListID : "ABC123",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterLocationID constant instead.</b>
-static NSString *const kFIRParameterItemLocationID
-    NS_SWIFT_NAME(AnalyticsParameterItemLocationID) = @"item_location_id";
+static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
+    @"item_list_id";
 
-/// Item Name (context-specific) (NSString).
+/// The name of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemName : @"jeggings",
+///     let params = [
+///       AnalyticsParameterItemListName : "Related products",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
+    @"item_list_name";
+
+/// Item Name (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemName : "jeggings",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
     @"item_name";
 
-/// The list in which the item was presented to the user (NSString).
+/// Item variant (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemList : @"Search Results",
+///     let params = [
+///       AnalyticsParameterItemVariant : "Black",
 ///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterItemListName constant instead.</b>
-static NSString *const kFIRParameterItemList NS_SWIFT_NAME(AnalyticsParameterItemList) =
-    @"item_list";
-
-/// Item variant (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemVariant : @"Black",
-///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
     @"item_variant";
 
-/// Level in game (signed 64-bit integer as NSNumber).
+/// The list of items involved in the transaction expressed as `[[String: Any]]`.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevel : @(42),
+///     let params = [
+///       AnalyticsParameterItems : [
+///         [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
+///         [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
+///       ],
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
+
+/// Level in game (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevel : 42,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
 
-/// Location (NSString). The Google <a href="https://developers.google.com/places/place-id">Place ID
+/// The name of a level in a game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevelName : "room_1",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
+    @"level_name";
+
+/// Location (String). The Google <a href="https://developers.google.com/places/place-id">Place ID
 /// </a> that corresponds to the associated event. Alternatively, you can supply your own custom
 /// Location ID.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocation : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
     @"location";
 
-/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
-/// (NSString).
+/// The location associated with the event. Preferred to be the Google
+/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
+/// associated item but could be overridden to a custom location ID string.(String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMedium : @"email",
+///     let params = [
+///       AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
+    @"location_id";
+
+/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
+/// campaign.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMarketingTactic : "Remarketing",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMarketingTactic
+    NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
+
+/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
+/// (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMedium : "email",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
 
-/// Number of nights staying at hotel (signed 64-bit integer as NSNumber).
+/// A particular approach used in an operation; for example, "facebook" or "email" in the context
+/// of a sign_up or login event. (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfNights : @(3),
+///     let params = [
+///       AnalyticsParameterMethod : "google",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+
+/// Number of nights staying at hotel (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterNumberOfNights : 3,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfNights
     NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
 
-/// Number of passengers traveling (signed 64-bit integer as NSNumber).
+/// Number of passengers traveling (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfPassengers : @(11),
+///     let params = [
+///       AnalyticsParameterNumberOfPassengers : 11,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfPassengers
     NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
 
-/// Number of rooms for travel events (signed 64-bit integer as NSNumber).
+/// Number of rooms for travel events (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfRooms : @(2),
+///     let params = [
+///       AnalyticsParameterNumberOfRooms : 2,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
     @"number_of_rooms";
 
-/// Flight or Travel origin (NSString).
+/// Flight or Travel origin (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterOrigin : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterOrigin : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
 
-/// Purchase price (double as NSNumber).
+/// The chosen method of payment (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPrice : @(1.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $1.00 USD
+///     let params = [
+///       AnalyticsParameterPaymentType : "Visa",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
+    @"payment_type";
+
+/// Purchase price (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPrice : 1.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $1.00 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
 
-/// Purchase quantity (signed 64-bit integer as NSNumber).
+/// The ID of a product promotion (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterQuantity : @(1),
+///     let params = [
+///       AnalyticsParameterPromotionID : "ABC123",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
+    @"promotion_id";
+
+/// The name of a product promotion (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPromotionName : "Summer Sale",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
+    @"promotion_name";
+
+/// Purchase quantity (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterQuantity : 1,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
     @"quantity";
 
-/// Score in game (signed 64-bit integer as NSNumber).
+/// Score in game (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScore : @(4200),
+///     let params = [
+///       AnalyticsParameterScore : 4200,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
 
 /// Current screen class, such as the class name of the UIViewController, logged with screen_view
-/// event and added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenClass : @"LoginViewController",
+/// event and added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenClass : "LoginViewController",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
     @"screen_class";
 
 /// Current screen name, such as the name of the UIViewController, logged with screen_view event and
-/// added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenName : @"LoginView",
+/// added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenName : "LoginView",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
     @"screen_name";
 
-/// The search string/keywords used (NSString).
+/// The search string/keywords used (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSearchTerm : @"periodic table",
+///     let params = [
+///       AnalyticsParameterSearchTerm : "periodic table",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
     @"search_term";
 
-/// Shipping cost associated with a transaction (double as NSNumber).
+/// Shipping cost associated with a transaction (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShipping : @(5.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $5.99 USD
+///     let params = [
+///       AnalyticsParameterShipping : 5.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $5.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
     @"shipping";
 
-/// Sign up method (NSString).
+/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSignUpMethod : @"google",
+///     let params = [
+///       AnalyticsParameterShippingTier : "Ground",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-///
-/// <b>This constant has been deprecated. Use Method constant instead.</b>
-static NSString *const kFIRParameterSignUpMethod NS_SWIFT_NAME(AnalyticsParameterSignUpMethod) =
-    @"sign_up_method";
-
-/// A particular approach used in an operation; for example, "facebook" or "email" in the context
-/// of a sign_up or login event.  (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMethod : @"google",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
+    @"shipping_tier";
 
 /// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
 /// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
-/// property. Highly recommended (NSString).
+/// property. Highly recommended (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSource : @"InMobi",
+///     let params = [
+///       AnalyticsParameterSource : "InMobi",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
 
-/// The departure date, check-in date or rental start date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
+/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
+/// set, a platform for managing organic traffic data, etc.).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterStartDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterSourcePlatform : "sa360",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
+    @"source_platform";
+
+/// The departure date, check-in date or rental start date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterStartDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
     @"start_date";
 
-/// Tax cost associated with a transaction (double as NSNumber).
+/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTax : @(2.43),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.43 USD
+///     let params = [
+///       AnalyticsParameterSuccess : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
+
+/// Tax cost associated with a transaction (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterTax : 2.43,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.43 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
 
 /// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTerm : @"game",
+///     let params = [
+///       AnalyticsParameterTerm : "game",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
 
-/// The unique identifier of a transaction (NSString).
+/// The unique identifier of a transaction (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTransactionID : @"T12345",
+///     let params = [
+///       AnalyticsParameterTransactionID : "T12345",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
     @"transaction_id";
 
-/// Travel class (NSString).
+/// Travel class (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTravelClass : @"business",
+///     let params = [
+///       AnalyticsParameterTravelClass : "business",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
     @"travel_class";
 
 /// A context-specific numeric value which is accumulated automatically for each event type. This is
 /// a general purpose parameter that is useful for accumulating a key metric that pertains to an
-/// event. Examples include revenue, distance, time and points. Value should be specified as signed
-/// 64-bit integer or double as NSNumber. Notes: Values for pre-defined currency-related events
-/// (such as @c kFIREventAddToCart) should be supplied using double as NSNumber and must be
-/// accompanied by a @c kFIRParameterCurrency parameter. The valid range of accumulated values is
+/// event. Examples include revenue, distance, time and points. Value should be specified as Int or
+/// Double.
+/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
+/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
+/// parameter. The valid range of accumulated values is
 /// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
-/// corresponding @c kFIRParameterCurrency parameter, or supplying an invalid
+/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
 /// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
 /// conversion to be omitted from reporting.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterValue : @(3.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $3.99 USD
+///     let params = [
+///       AnalyticsParameterValue : 3.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $3.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
 
-/// Name of virtual currency type (NSString).
+/// Name of virtual currency type (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterVirtualCurrencyName : @"virtual_currency_name",
+///     let params = [
+///       AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterVirtualCurrencyName
     NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";
-
-/// The name of a level in a game (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevelName : @"room_1",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
-    @"level_name";
-
-/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (unsigned
-/// integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSuccess : @(1),
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
-
-/// Indicates that the associated event should either extend the current session
-/// or start a new session if no session was active when the event was logged.
-/// Specify YES to extend the current session or to start a new session; any
-/// other value will not extend or start a session.
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterExtendSession : @YES,
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
-    @"extend_session";
-
-/// Monetary value of discount associated with a purchase (double as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDiscount : @(2.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.00 USD
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
-    @"discount";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory2 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
-    @"item_category2";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory3 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
-    @"item_category3";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory4 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
-    @"item_category4";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory5 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
-    @"item_category5";
-
-/// The ID of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
-    @"item_list_id";
-
-/// The name of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListName : @"Related products",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
-    @"item_list_name";
-
-/// The list of items involved in the transaction. (NSArray).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItems : @[
-///         @{kFIRParameterItemName : @"jeggings", kFIRParameterItemCategory : @"pants"},
-///         @{kFIRParameterItemName : @"boots", kFIRParameterItemCategory : @"shoes"},
-///       ],
-///     };
-/// </pre>
-static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
-
-/// The location associated with the event. Preferred to be the Google
-/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
-/// associated item but could be overridden to a custom location ID string.(NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
-    @"location_id";
-
-/// The chosen method of payment (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPaymentType : @"Visa",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
-    @"payment_type";
-
-/// The ID of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
-    @"promotion_id";
-
-/// The name of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionName : @"Summer Sale",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
-    @"promotion_name";
-
-/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
-/// (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShippingTier : @"Ground",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
-    @"shipping_tier";
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
index 132aef7..2442d8a 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
@@ -12,18 +12,17 @@
 
 #import <Foundation/Foundation.h>
 
-/// The method used to sign in. For example, "google", "facebook" or "twitter".
-static NSString *const kFIRUserPropertySignUpMethod
-    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
-
 /// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
 /// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
 /// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
 /// more details and information about related settings.
 ///
 /// <pre>
-///     [FIRAnalytics setUserPropertyString:@"NO"
-///                                 forName:kFIRUserPropertyAllowAdPersonalizationSignals];
+///     Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
 /// </pre>
 static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
     NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
+
+/// The method used to sign in. For example, "google", "facebook" or "twitter".
+static NSString *const kFIRUserPropertySignUpMethod
+    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
new file mode 100644
index 0000000..ad84fbb
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
@@ -0,0 +1,24 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRAnalytics+AppDelegate.h"
+#import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
+#import "FIRAnalytics.h"
+#import "FirebaseAnalytics.h"
+#import "FIREventNames.h"
+#import "FIRParameterNames.h"
+#import "FIRUserPropertyNames.h"
+
+FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];
+
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
index 368f79c..351da20 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
@@ -1,5 +1,6 @@
 #import "FIRAnalytics+AppDelegate.h"
 #import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
 #import "FIRAnalytics.h"
 #import "FIREventNames.h"
 #import "FIRParameterNames.h"
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Info.plist b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Info.plist
index b659341..c011a90 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Info.plist
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap
index aa72782..37eb24b 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap
@@ -1,8 +1,7 @@
 framework module FirebaseAnalytics {
-umbrella header "FirebaseAnalytics.h"
+umbrella header "FirebaseAnalytics-umbrella.h"
 export *
 module * { export * }
-  link framework "CoreTelephony"
   link framework "Foundation"
   link framework "Security"
   link framework "SystemConfiguration"
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/FirebaseAnalytics b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/FirebaseAnalytics
index bfe5940..bc6cbf5 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/FirebaseAnalytics
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/FirebaseAnalytics
Binary files differ
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
index d499af6..cb1e407 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
@@ -4,59 +4,77 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/**
- * Provides App Delegate handlers to be used in your App Delegate.
- *
- * To save time integrating Firebase Analytics in an application, Firebase Analytics does not
- * require delegation implementation from the AppDelegate. Instead this is automatically done by
- * Firebase Analytics. Should you choose instead to delegate manually, you can turn off the App
- * Delegate Proxy by adding FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting
- * it to NO, and adding the methods in this category to corresponding delegation handlers.
- *
- * To handle Universal Links, you must return YES in
- * [UIApplicationDelegate application:didFinishLaunchingWithOptions:].
- */
+/// Provides App Delegate handlers to be used in your App Delegate.
+///
+/// To save time integrating Firebase Analytics in an application, Firebase Analytics does not
+/// require delegation implementation from the AppDelegate if neither SwiftUI nor UIScene lifecycle
+/// is adopted. Instead this is automatically done by Firebase Analytics. Should you choose instead
+/// to delegate manually, you can turn off the App Delegate Proxy by adding
+/// FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting it to boolean `NO`, and
+/// adding the methods in this category to corresponding delegation handlers.
+///
+/// To handle Universal Links, you must return `true` in
+/// `UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)`.
 @interface FIRAnalytics (AppDelegate)
 
-/**
- * Handles events related to a URL session that are waiting to be processed.
- *
- * For optimal use of Firebase Analytics, call this method from the
- * [UIApplicationDelegate application:handleEventsForBackgroundURLSession:completionHandler]
- * method of the app delegate in your app.
- *
- * @param identifier The identifier of the URL session requiring attention.
- * @param completionHandler The completion handler to call when you finish processing the events.
- *     Calling this completion handler lets the system know that your app's user interface is
- *     updated and a new snapshot can be taken.
- */
+/// Handles events related to a URL session that are waiting to be processed.
+///
+/// 1. If SwiftUI lifecycle is adopted, call this method from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// 2. If SwiftUI lifecycle is not adopted, Firebase Analytics does not require delegation
+/// implementation from the AppDelegate. If you choose instead to delegate manually, you can set
+/// FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this method
+/// from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// @param identifier The identifier of the URL session requiring attention.
+/// @param completionHandler The completion handler to call when you finish processing the events.
+///     Calling this completion handler lets the system know that your app's user interface is
+///     updated and a new snapshot can be taken.
 + (void)handleEventsForBackgroundURLSession:(NSString *)identifier
                           completionHandler:(nullable void (^)(void))completionHandler;
 
-/**
- * Handles the event when the app is launched by a URL.
- *
- * Call this method from [UIApplicationDelegate application:openURL:options:] &#40;on iOS 9.0 and
- * above&#41;, or [UIApplicationDelegate application:openURL:sourceApplication:annotation:] &#40;on
- * iOS 8.x and below&#41; in your app.
- *
- * @param url The URL resource to open. This resource can be a network resource or a file.
- */
+/// Handles the event when the app is launched by a URL (custom URL scheme or universal link).
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// this method in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and
+/// `UISceneDelegate.scene(_:openURLContexts:)` when the URL contexts are available.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplicationDelegate.application(_:open:options:)` in your app delegate.
+///
+/// @param url The URL resource to open. This resource can be a network resource or a file.
 + (void)handleOpenURL:(NSURL *)url;
 
-/**
- * Handles the event when the app receives data associated with user activity that includes a
- * Universal Link (on iOS 9.0 and above).
- *
- * Call this method from [UIApplication continueUserActivity:restorationHandler:] in your app
- * delegate (on iOS 9.0 and above).
- *
- * @param userActivity The activity object containing the data associated with the task the user
- *     was performing.
- */
+/// Handles the event when the app receives data associated with user activity that includes a
+/// Universal Link.
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// `Analytics.handleOpen(_:)` instead in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and `UISceneDelegate.scene(_:continue:)` when
+/// NSUserActivity is available. See the [Apple
+/// doc](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) for
+/// more details.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplication.application(_:continue:restorationHandler:)` in your app delegate.
+///
+/// @param userActivity The activity object containing the data associated with the task the user
+///     was performing.
 + (void)handleUserActivity:(id)userActivity;
 
 @end
 
 NS_ASSUME_NONNULL_END
-
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
index 686a386..7f89831 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
@@ -23,7 +23,7 @@
 /// device. Use the consent settings to specify individual consent type values. Settings are
 /// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
 ///
-/// @param consentSettings An NSDictionary of consent types. Supported consent type keys are
+/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
 ///   `ConsentType.adStorage` and `ConsentType.analyticsStorage`. Valid values are
 ///   `ConsentStatus.granted` and `ConsentStatus.denied`.
 + (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
new file mode 100644
index 0000000..1d9a438
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
@@ -0,0 +1,19 @@
+#import <Foundation/Foundation.h>
+
+#import "FIRAnalytics.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
+@interface FIRAnalytics (OnDevice)
+
+/// Initiates on-device conversion measurement given a user email address. Requires dependency
+/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
+/// @param emailAddress User email address. Include a domain name for all email addresses
+///   (e.g. gmail.com or hotmail.co.jp).
++ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
+    NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
index b9de094..e7ce5dc 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
@@ -28,7 +28,6 @@
 ///     <li>ad_query</li>
 ///     <li>ad_reward</li>
 ///     <li>adunit_exposure</li>
-///     <li>app_background</li>
 ///     <li>app_clear_data</li>
 ///     <li>app_exception</li>
 ///     <li>app_remove</li>
@@ -62,12 +61,12 @@
 ///     "google_", and "ga_" prefixes are reserved and should not be used. Note that event names are
 ///     case-sensitive and that logging two events whose names differ only in case will result in
 ///     two distinct events. To manually log screen view events, use the `screen_view` event name.
-/// @param parameters The dictionary of event parameters. Passing nil indicates that the event has
+/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
 ///     no parameters. Parameter names can be up to 40 characters long and must start with an
-///     alphabetic character and contain only alphanumeric characters and underscores. Only NSString
-///     and NSNumber (signed 64-bit integer and 64-bit floating-point number) parameter types are
-///     supported. NSString parameter values can be up to 100 characters long. The "firebase_",
-///     "google_", and "ga_" prefixes are reserved and should not be used for parameter names.
+///     alphabetic character and contain only alphanumeric characters and underscores. Only String,
+///     Int, and Double parameter types are supported. String parameter values can be up to 100
+///     characters long. The "firebase_", "google_", and "ga_" prefixes are reserved and should not
+///     be used for parameter names.
 + (void)logEventWithName:(NSString *)name
               parameters:(nullable NSDictionary<NSString *, id> *)parameters
     NS_SWIFT_NAME(logEvent(_:parameters:));
@@ -83,7 +82,7 @@
 /// </ul>
 ///
 /// @param value The value of the user property. Values can be up to 36 characters long. Setting the
-///     value to nil removes the user property.
+///     value to `nil` removes the user property.
 /// @param name The name of the user property to set. Should contain 1 to 24 alphanumeric characters
 ///     or underscores and must start with an alphabetic character. The "firebase_", "google_", and
 ///     "ga_" prefixes are reserved and should not be used for user property names.
@@ -94,7 +93,7 @@
 /// <a href="https://www.google.com/policies/privacy">Google's Privacy Policy</a>
 ///
 /// @param userID The user ID to ascribe to the user of this app on this device, which must be
-///     non-empty and no more than 256 characters long. Setting userID to nil removes the user ID.
+///     non-empty and no more than 256 characters long. Setting userID to `nil` removes the user ID.
 + (void)setUserID:(nullable NSString *)userID;
 
 /// Sets whether analytics collection is enabled for this app on this device. This setting is
@@ -110,14 +109,27 @@
 ///     session terminates.
 + (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
 
-/// Returns the unique ID for this instance of the application or nil if
+/// Asynchronously retrieves the identifier of the current app session.
+///
+/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
+/// etc.
+///
+/// @param completion The completion handler to call when the session ID retrieval is complete. This
+///     handler is executed on a system-defined global concurrent queue.
+///     This completion handler takes the following parameters:
+///     <b>sessionID</b> The identifier of the current app session. The value is undefined if the
+///         request failed.
+///     <b>error</b> An error object that indicates why the request failed, or `nil` if the request
+///         was successful.
++ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
+
+/// Returns the unique ID for this instance of the application or `nil` if
 /// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
 ///
 /// @see `FIRAnalytics+Consent.h`
 + (nullable NSString *)appInstanceID;
 
 /// Clears all analytics data for this instance from the device and resets the app instance ID.
-/// FIRAnalyticsConfiguration values will be reset to the default values.
 + (void)resetAnalyticsData;
 
 /// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
@@ -129,9 +141,9 @@
 ///
 /// @param parameters Parameters to be added to the dictionary of parameters added to every event.
 ///     They will be added to the dictionary of default event parameters, replacing any existing
-///     parameter with the same name. Valid parameters are NSString and NSNumber (signed 64-bit
-///     integer and 64-bit floating-point number). Setting a key's value to [NSNull null] will clear
-///     that parameter. Passing in a nil dictionary will clear all parameters.
+///     parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
+///     value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
+///     parameters.
 + (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
 
 /// Unavailable.
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIREventNames.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIREventNames.h
index a362afd..1e69a44 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIREventNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIREventNames.h
@@ -12,60 +12,76 @@
 
 #import <Foundation/Foundation.h>
 
-/// Add Payment Info event. This event signifies that a user has submitted their payment
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
+/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterPaymentType (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdSource (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
+    @"ad_impression";
+
+/// Add Payment Info event. This event signifies that a user has submitted their payment
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
     @"add_payment_info";
 
+/// Add Shipping Info event. This event signifies that a user has submitted their shipping
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
+    @"add_shipping_info";
+
 /// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
-/// purchase. Add this event to a funnel with @c kFIREventPurchase to gauge the effectiveness of
-/// your checkout process. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
+/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
+/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"add_to_cart";
 
 /// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist. Use
-/// this event to identify popular gift items. Note: If you supply the @c kFIRParameterValue
-/// parameter, you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics
-/// can be computed accurately. Params:
+/// this event to identify popular gift items. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
     @"add_to_wishlist";
-
-/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
-/// the @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter
-/// so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAdPlatform (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdFormat (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdSource (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdUnitName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
-    @"ad_impression";
 
 /// App Open event. By logging this event when an App becomes active, developers can understand how
 /// often users leave and return during the course of a Session. Although Sessions are automatically
@@ -74,95 +90,59 @@
 static NSString *const kFIREventAppOpen NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"app_open";
 
 /// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
-/// checking out. Add this event to a funnel with your @c kFIREventPurchase event to gauge the
-/// effectiveness of your checkout process. Note: If you supply the @c kFIRParameterValue parameter,
-/// you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be
-/// computed accurately. Params:
+/// checking out. Add this event to a funnel with your @c AnalyticsEventPurchase event to gauge the
+/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
     @"begin_checkout";
 
 /// Campaign Detail event. Log this event to supply the referral details of a re-engagement
-/// campaign. Note: you must supply at least one of the required parameters kFIRParameterSource,
-/// kFIRParameterMedium or kFIRParameterCampaign. Params:
+/// campaign. Note: you must supply at least one of the required parameters
+/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSource (NSString)</li>
-///     <li>@c kFIRParameterMedium (NSString)</li>
-///     <li>@c kFIRParameterCampaign (NSString)</li>
-///     <li>@c kFIRParameterTerm (NSString) (optional)</li>
-///     <li>@c kFIRParameterContent (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdNetworkClickID (NSString) (optional)</li>
-///     <li>@c kFIRParameterCP1 (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterSource (String)</li>
+///     <li>@c AnalyticsParameterMedium (String)</li>
+///     <li>@c AnalyticsParameterCampaign (String)</li>
+///     <li>@c AnalyticsParameterTerm (String) (optional)</li>
+///     <li>@c AnalyticsParameterContent (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCP1 (String) (optional)</li>
+///     <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
+///     <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
     @"campaign_details";
 
-/// Checkout progress. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString) (optional)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventCheckoutProgress NS_SWIFT_NAME(AnalyticsEventCheckoutProgress) =
-    @"checkout_progress";
-
 /// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
-/// this along with @c kFIREventSpendVirtualCurrency to better understand your virtual economy.
+/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
 /// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
 /// </ul>
 static NSString *const kFIREventEarnVirtualCurrency
     NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
 
-/// E-Commerce Purchase event. This event signifies that an item was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterLocation (NSString) (optional)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
-/// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventPurchase constant instead.</b>
-static NSString *const kFIREventEcommercePurchase NS_SWIFT_NAME(AnalyticsEventEcommercePurchase) =
-    @"ecommerce_purchase";
-
 /// Generate Lead event. Log this event when a lead has been generated in the app to understand the
 /// efficacy of your install and re-engagement campaigns. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
 /// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
     @"generate_lead";
@@ -171,22 +151,22 @@
 /// this event to analyze how popular certain groups or social features are in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterGroupID (NSString)</li>
+///     <li>@c AnalyticsParameterGroupID (String)</li>
 /// </ul>
 static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
 
 /// Level End event. Log this event when the user finishes a level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
-///     <li>@c kFIRParameterSuccess (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
+///     <li>@c AnalyticsParameterSuccess (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
 
 /// Level Start event. Log this event when the user starts a new level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
 
@@ -195,8 +175,8 @@
 /// are difficult to pass. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterLevel (Int)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"level_up";
 
@@ -209,54 +189,57 @@
 /// high scores with certain audiences or behaviors. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScore (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScore (Int)</li>
+///     <li>@c AnalyticsParameterLevel (Int) (optional)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
 
-/// Present Offer event. This event signifies that the app has presented a purchase offer to a user.
-/// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge
-/// your conversion process. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
+/// This is different from the in-app purchase event, which is reported automatically for App
+/// Store-based apps. Note: If you supply the @c AnalyticsParameterValue parameter, you must also
+/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterItemCategory (NSString)</li>
-///     <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventViewPromotion constant instead.</b>
-static NSString *const kFIREventPresentOffer NS_SWIFT_NAME(AnalyticsEventPresentOffer) =
-    @"present_offer";
+static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
 
-/// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
+/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventRefund constant instead.</b>
-static NSString *const kFIREventPurchaseRefund NS_SWIFT_NAME(AnalyticsEventPurchaseRefund) =
-    @"purchase_refund";
+static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the @c
-/// kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
+/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
     @"remove_from_cart";
@@ -265,8 +248,8 @@
 /// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScreenClass (NSString) (optional)</li>
-///     <li>@c kFIRParameterScreenName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
+///     <li>@c AnalyticsParameterScreenName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
 
@@ -275,18 +258,15 @@
 /// identify the most popular content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterOrigin (String) (optional)</li>
+///     <li>@c AnalyticsParameterDestination (String) (optional)</li>
+///     <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
 /// </ul>
 static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"search";
 
@@ -295,160 +275,20 @@
 /// identify popular content and categories of content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
 /// </ul>
 static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
     @"select_content";
-
-/// Set checkout option. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventSetCheckoutOption NS_SWIFT_NAME(AnalyticsEventSetCheckoutOption) =
-    @"set_checkout_option";
-
-/// Share event. Apps with social features can log the Share event to identify the most viral
-/// content. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
-
-/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
-/// parameter signifies the method by which the user signed up. Use this event to understand the
-/// different behaviors between logged in and logged out users. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSignUpMethod (NSString)</li>
-/// </ul>
-static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
-
-/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
-/// help you identify which virtual goods are the most popular objects of purchase. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
-/// </ul>
-static NSString *const kFIREventSpendVirtualCurrency
-    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
-
-/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
-/// this in a funnel with kFIREventTutorialComplete to understand how many users complete this
-/// process and move on to the full app experience.
-static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
-    @"tutorial_begin";
-
-/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
-/// process. Add this to a funnel with kFIREventTutorialBegin to gauge the completion rate of your
-/// on-boarding process.
-static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
-    @"tutorial_complete";
-
-/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
-/// game. Since achievements generally represent the breadth of a gaming experience, this event can
-/// help you understand how many users are experiencing all that your game has to offer. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAchievementID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
-    @"unlock_achievement";
-
-/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
-/// parameters to contextualize the event. Use this event to discover the most popular items viewed
-/// in your app. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
-
-/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
-    @"view_item_list";
-
-/// View Search Results event. Log this event when the user has been presented with the results of a
-/// search. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-/// </ul>
-static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
-    @"view_search_results";
-
-/// Add Shipping Info event. This event signifies that a user has submitted their shipping
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShippingTier (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
-    @"add_shipping_info";
-
-/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also supply
-/// the @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
-
-/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter so
-/// that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// Select Item event. This event signifies that an item was selected by a user from a list. Use the
 /// appropriate parameters to contextualize the event. Use this event to discover the most popular
 /// items selected. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
 
@@ -457,39 +297,122 @@
 /// applies. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
     @"select_promotion";
 
-/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
-/// analyze your purchase funnel. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
+/// Share event. Apps with social features can log the Share event to identify the most viral
+/// content. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
+/// </ul>
+static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
+
+/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
+/// parameter signifies the method by which the user signed up. Use this event to understand the
+/// different behaviors between logged in and logged out users. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterMethod (String)</li>
+/// </ul>
+static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
+
+/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
+/// help you identify which virtual goods are the most popular objects of purchase. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItemName (String)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
+/// </ul>
+static NSString *const kFIREventSpendVirtualCurrency
+    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
+
+/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
+/// this in a funnel with @c AnalyticsEventTutorialComplete to understand how many users complete
+/// this process and move on to the full app experience.
+static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
+    @"tutorial_begin";
+
+/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
+/// process. Add this to a funnel with @c AnalyticsEventTutorialBegin to gauge the completion rate
+/// of your on-boarding process.
+static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
+    @"tutorial_complete";
+
+/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
+/// game. Since achievements generally represent the breadth of a gaming experience, this event can
+/// help you understand how many users are experiencing all that your game has to offer. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterAchievementID (String)</li>
+/// </ul>
+static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
+    @"unlock_achievement";
+
+/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
+/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
+/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
+/// computed accurately. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
 
-/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
-/// to a funnel with the @c kFIREventAddToCart and @c kFIREventPurchase to gauge your conversion
-/// process. Params:
+/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
+/// parameters to contextualize the event. Use this event to discover the most popular items viewed
+/// in your app. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
+
+/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
+    @"view_item_list";
+
+/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
+/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
+/// conversion process. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
     @"view_promotion";
+
+/// View Search Results event. Log this event when the user has been presented with the results of a
+/// search. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+/// </ul>
+static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
+    @"view_search_results";
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRParameterNames.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
index 8dbf4b1..b001ca5 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
@@ -12,720 +12,710 @@
 
 #import <Foundation/Foundation.h>
 
-/// Game achievement ID (NSString).
+/// Game achievement ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAchievementID : @"10_matches_won",
+///     let params = [
+///       AnalyticsParameterAchievementID : "10_matches_won",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
     @"achievement_id";
 
 /// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdFormat : @"Banner",
+///     let params = [
+///       AnalyticsParameterAdFormat : "Banner",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
     @"ad_format";
 
-/// Ad Network Click ID (NSString). Used for network-specific click IDs which vary in format.
+/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdNetworkClickID : @"1234567",
+///     let params = [
+///       AnalyticsParameterAdNetworkClickID : "1234567",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdNetworkClickID
     NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
 
-/// The ad platform (e.g. MoPub, IronSource) (NSString).
+/// The ad platform (e.g. MoPub, IronSource) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdPlatform : @"MoPub",
+///     let params = [
+///       AnalyticsParameterAdPlatform : "MoPub",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
     @"ad_platform";
 
-/// The ad source (e.g. AdColony) (NSString).
+/// The ad source (e.g. AdColony) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdSource : @"AdColony",
+///     let params = [
+///       AnalyticsParameterAdSource : "AdColony",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
     @"ad_source";
 
-/// The ad unit name (e.g. Banner_03) (NSString).
+/// The ad unit name (e.g. Banner_03) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdUnitName : @"Banner_03",
+///     let params = [
+///       AnalyticsParameterAdUnitName : "Banner_03",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
     @"ad_unit_name";
 
 /// A product affiliation to designate a supplying company or brick and mortar store location
-/// (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAffiliation : @"Google Store",
+/// (String). <pre>
+///     let params = [
+///       AnalyticsParameterAffiliation : "Google Store",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
     @"affiliation";
 
+/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
+/// Use varies by network.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCP1 : "custom_data",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+
 /// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
 /// capture campaign information, otherwise can be populated by developer. Highly Recommended
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCampaign : @"winter_promotion",
+///     let params = [
+///       AnalyticsParameterCampaign : "winter_promotion",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
     @"campaign";
 
-/// Character used in game (NSString).
+/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
+/// strategic campaign. This is a required key for GA4 data import.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCharacter : @"beat_boss",
+///     let params = [
+///       AnalyticsParameterCampaignID : "7877652710",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
+    @"campaign_id";
+
+/// Character used in game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCharacter : "beat_boss",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
     @"character";
 
-/// The checkout step (1..N) (unsigned 64-bit integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutStep : @"1",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutStep NS_SWIFT_NAME(AnalyticsParameterCheckoutStep) =
-    @"checkout_step";
-
-/// Some option on a step in an ecommerce flow (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutOption : @"Visa",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutOption
-    NS_SWIFT_NAME(AnalyticsParameterCheckoutOption) = @"checkout_option";
-
-/// Campaign content (NSString).
+/// Campaign content (String).
 static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
 
-/// Type of content selected (NSString).
+/// Type of content selected (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterContentType : @"news article",
+///     let params = [
+///       AnalyticsParameterContentType : "news article",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
     @"content_type";
 
-/// Coupon code used for a purchase (NSString).
+/// Coupon code used for a purchase (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCoupon : @"SUMMER_FUN",
+///     let params = [
+///       AnalyticsParameterCoupon : "SUMMER_FUN",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
 
-/// Campaign custom parameter (NSString). Used as a method of capturing custom data in a campaign.
-/// Use varies by network.
+/// Creative Format (String). Used to identify the high-level classification of the type of ad
+/// served by a specific campaign.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCP1 : @"custom_data",
+///     let params = [
+///       AnalyticsParameterCreativeFormat : "display",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
+    @"creative_format";
 
-/// The name of a creative used in a promotional spot (NSString).
+/// The name of a creative used in a promotional spot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeName : @"Summer Sale",
+///     let params = [
+///       AnalyticsParameterCreativeName : "Summer Sale",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
     @"creative_name";
 
-/// The name of a creative slot (NSString).
+/// The name of a creative slot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeSlot : @"summer_banner2",
+///     let params = [
+///       AnalyticsParameterCreativeSlot : "summer_banner2",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
     @"creative_slot";
 
 /// Currency of the purchase or items associated with the event, in 3-letter
-/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (NSString).
+/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCurrency : @"USD",
+///     let params = [
+///       AnalyticsParameterCurrency : "USD",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
     @"currency";
 
-/// Flight or Travel destination (NSString).
+/// Flight or Travel destination (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDestination : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterDestination : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
     @"destination";
 
-/// The arrival date, check-out date or rental end date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Monetary value of discount associated with a purchase (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterEndDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterDiscount : 2.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.00 USD
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
+    @"discount";
+
+/// The arrival date, check-out date or rental end date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterEndDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
 
-/// Flight number for travel events (NSString).
+/// Indicates that the associated event should either extend the current session or start a new
+/// session if no session was active when the event was logged. Specify 1 to extend the current
+/// session or to start a new session; any other value will not extend or start a session.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterFlightNumber : @"ZZ800",
+///     let params = [
+///       AnalyticsParameterExtendSession : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
+    @"extend_session";
+
+/// Flight number for travel events (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterFlightNumber : "ZZ800",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
     @"flight_number";
 
-/// Group/clan/guild ID (NSString).
+/// Group/clan/guild ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterGroupID : @"g1",
+///     let params = [
+///       AnalyticsParameterGroupID : "g1",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
 
-/// The index of the item in a list (signed 64-bit integer as NSNumber).
+/// The index of the item in a list (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterIndex : @(5),
+///     let params = [
+///       AnalyticsParameterIndex : 5,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
 
-/// Item brand (NSString).
+/// Item brand (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemBrand : @"Google",
+///     let params = [
+///       AnalyticsParameterItemBrand : "Google",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
     @"item_brand";
 
-/// Item category (context-specific) (NSString).
+/// Item category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory : "pants",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
     @"item_category";
 
-/// Item ID (context-specific) (NSString).
+/// Item Category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemID : @"SKU_12345",
+///     let params = [
+///       AnalyticsParameterItemCategory2 : "pants",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
+    @"item_category2";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory3 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
+    @"item_category3";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory4 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
+    @"item_category4";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory5 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
+    @"item_category5";
+
+/// Item ID (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemID : "SKU_12345",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
 
-/// The Google <a href="https://developers.google.com/places/place-id">Place ID</a> (NSString) that
-/// corresponds to the associated item. Alternatively, you can supply your own custom Location ID.
+/// The ID of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterItemListID : "ABC123",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterLocationID constant instead.</b>
-static NSString *const kFIRParameterItemLocationID
-    NS_SWIFT_NAME(AnalyticsParameterItemLocationID) = @"item_location_id";
+static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
+    @"item_list_id";
 
-/// Item Name (context-specific) (NSString).
+/// The name of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemName : @"jeggings",
+///     let params = [
+///       AnalyticsParameterItemListName : "Related products",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
+    @"item_list_name";
+
+/// Item Name (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemName : "jeggings",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
     @"item_name";
 
-/// The list in which the item was presented to the user (NSString).
+/// Item variant (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemList : @"Search Results",
+///     let params = [
+///       AnalyticsParameterItemVariant : "Black",
 ///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterItemListName constant instead.</b>
-static NSString *const kFIRParameterItemList NS_SWIFT_NAME(AnalyticsParameterItemList) =
-    @"item_list";
-
-/// Item variant (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemVariant : @"Black",
-///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
     @"item_variant";
 
-/// Level in game (signed 64-bit integer as NSNumber).
+/// The list of items involved in the transaction expressed as `[[String: Any]]`.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevel : @(42),
+///     let params = [
+///       AnalyticsParameterItems : [
+///         [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
+///         [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
+///       ],
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
+
+/// Level in game (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevel : 42,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
 
-/// Location (NSString). The Google <a href="https://developers.google.com/places/place-id">Place ID
+/// The name of a level in a game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevelName : "room_1",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
+    @"level_name";
+
+/// Location (String). The Google <a href="https://developers.google.com/places/place-id">Place ID
 /// </a> that corresponds to the associated event. Alternatively, you can supply your own custom
 /// Location ID.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocation : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
     @"location";
 
-/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
-/// (NSString).
+/// The location associated with the event. Preferred to be the Google
+/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
+/// associated item but could be overridden to a custom location ID string.(String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMedium : @"email",
+///     let params = [
+///       AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
+    @"location_id";
+
+/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
+/// campaign.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMarketingTactic : "Remarketing",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMarketingTactic
+    NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
+
+/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
+/// (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMedium : "email",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
 
-/// Number of nights staying at hotel (signed 64-bit integer as NSNumber).
+/// A particular approach used in an operation; for example, "facebook" or "email" in the context
+/// of a sign_up or login event. (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfNights : @(3),
+///     let params = [
+///       AnalyticsParameterMethod : "google",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+
+/// Number of nights staying at hotel (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterNumberOfNights : 3,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfNights
     NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
 
-/// Number of passengers traveling (signed 64-bit integer as NSNumber).
+/// Number of passengers traveling (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfPassengers : @(11),
+///     let params = [
+///       AnalyticsParameterNumberOfPassengers : 11,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfPassengers
     NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
 
-/// Number of rooms for travel events (signed 64-bit integer as NSNumber).
+/// Number of rooms for travel events (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfRooms : @(2),
+///     let params = [
+///       AnalyticsParameterNumberOfRooms : 2,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
     @"number_of_rooms";
 
-/// Flight or Travel origin (NSString).
+/// Flight or Travel origin (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterOrigin : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterOrigin : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
 
-/// Purchase price (double as NSNumber).
+/// The chosen method of payment (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPrice : @(1.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $1.00 USD
+///     let params = [
+///       AnalyticsParameterPaymentType : "Visa",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
+    @"payment_type";
+
+/// Purchase price (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPrice : 1.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $1.00 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
 
-/// Purchase quantity (signed 64-bit integer as NSNumber).
+/// The ID of a product promotion (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterQuantity : @(1),
+///     let params = [
+///       AnalyticsParameterPromotionID : "ABC123",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
+    @"promotion_id";
+
+/// The name of a product promotion (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPromotionName : "Summer Sale",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
+    @"promotion_name";
+
+/// Purchase quantity (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterQuantity : 1,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
     @"quantity";
 
-/// Score in game (signed 64-bit integer as NSNumber).
+/// Score in game (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScore : @(4200),
+///     let params = [
+///       AnalyticsParameterScore : 4200,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
 
 /// Current screen class, such as the class name of the UIViewController, logged with screen_view
-/// event and added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenClass : @"LoginViewController",
+/// event and added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenClass : "LoginViewController",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
     @"screen_class";
 
 /// Current screen name, such as the name of the UIViewController, logged with screen_view event and
-/// added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenName : @"LoginView",
+/// added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenName : "LoginView",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
     @"screen_name";
 
-/// The search string/keywords used (NSString).
+/// The search string/keywords used (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSearchTerm : @"periodic table",
+///     let params = [
+///       AnalyticsParameterSearchTerm : "periodic table",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
     @"search_term";
 
-/// Shipping cost associated with a transaction (double as NSNumber).
+/// Shipping cost associated with a transaction (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShipping : @(5.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $5.99 USD
+///     let params = [
+///       AnalyticsParameterShipping : 5.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $5.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
     @"shipping";
 
-/// Sign up method (NSString).
+/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSignUpMethod : @"google",
+///     let params = [
+///       AnalyticsParameterShippingTier : "Ground",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-///
-/// <b>This constant has been deprecated. Use Method constant instead.</b>
-static NSString *const kFIRParameterSignUpMethod NS_SWIFT_NAME(AnalyticsParameterSignUpMethod) =
-    @"sign_up_method";
-
-/// A particular approach used in an operation; for example, "facebook" or "email" in the context
-/// of a sign_up or login event.  (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMethod : @"google",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
+    @"shipping_tier";
 
 /// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
 /// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
-/// property. Highly recommended (NSString).
+/// property. Highly recommended (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSource : @"InMobi",
+///     let params = [
+///       AnalyticsParameterSource : "InMobi",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
 
-/// The departure date, check-in date or rental start date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
+/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
+/// set, a platform for managing organic traffic data, etc.).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterStartDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterSourcePlatform : "sa360",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
+    @"source_platform";
+
+/// The departure date, check-in date or rental start date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterStartDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
     @"start_date";
 
-/// Tax cost associated with a transaction (double as NSNumber).
+/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTax : @(2.43),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.43 USD
+///     let params = [
+///       AnalyticsParameterSuccess : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
+
+/// Tax cost associated with a transaction (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterTax : 2.43,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.43 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
 
 /// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTerm : @"game",
+///     let params = [
+///       AnalyticsParameterTerm : "game",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
 
-/// The unique identifier of a transaction (NSString).
+/// The unique identifier of a transaction (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTransactionID : @"T12345",
+///     let params = [
+///       AnalyticsParameterTransactionID : "T12345",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
     @"transaction_id";
 
-/// Travel class (NSString).
+/// Travel class (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTravelClass : @"business",
+///     let params = [
+///       AnalyticsParameterTravelClass : "business",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
     @"travel_class";
 
 /// A context-specific numeric value which is accumulated automatically for each event type. This is
 /// a general purpose parameter that is useful for accumulating a key metric that pertains to an
-/// event. Examples include revenue, distance, time and points. Value should be specified as signed
-/// 64-bit integer or double as NSNumber. Notes: Values for pre-defined currency-related events
-/// (such as @c kFIREventAddToCart) should be supplied using double as NSNumber and must be
-/// accompanied by a @c kFIRParameterCurrency parameter. The valid range of accumulated values is
+/// event. Examples include revenue, distance, time and points. Value should be specified as Int or
+/// Double.
+/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
+/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
+/// parameter. The valid range of accumulated values is
 /// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
-/// corresponding @c kFIRParameterCurrency parameter, or supplying an invalid
+/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
 /// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
 /// conversion to be omitted from reporting.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterValue : @(3.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $3.99 USD
+///     let params = [
+///       AnalyticsParameterValue : 3.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $3.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
 
-/// Name of virtual currency type (NSString).
+/// Name of virtual currency type (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterVirtualCurrencyName : @"virtual_currency_name",
+///     let params = [
+///       AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterVirtualCurrencyName
     NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";
-
-/// The name of a level in a game (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevelName : @"room_1",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
-    @"level_name";
-
-/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (unsigned
-/// integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSuccess : @(1),
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
-
-/// Indicates that the associated event should either extend the current session
-/// or start a new session if no session was active when the event was logged.
-/// Specify YES to extend the current session or to start a new session; any
-/// other value will not extend or start a session.
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterExtendSession : @YES,
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
-    @"extend_session";
-
-/// Monetary value of discount associated with a purchase (double as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDiscount : @(2.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.00 USD
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
-    @"discount";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory2 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
-    @"item_category2";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory3 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
-    @"item_category3";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory4 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
-    @"item_category4";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory5 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
-    @"item_category5";
-
-/// The ID of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
-    @"item_list_id";
-
-/// The name of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListName : @"Related products",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
-    @"item_list_name";
-
-/// The list of items involved in the transaction. (NSArray).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItems : @[
-///         @{kFIRParameterItemName : @"jeggings", kFIRParameterItemCategory : @"pants"},
-///         @{kFIRParameterItemName : @"boots", kFIRParameterItemCategory : @"shoes"},
-///       ],
-///     };
-/// </pre>
-static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
-
-/// The location associated with the event. Preferred to be the Google
-/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
-/// associated item but could be overridden to a custom location ID string.(NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
-    @"location_id";
-
-/// The chosen method of payment (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPaymentType : @"Visa",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
-    @"payment_type";
-
-/// The ID of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
-    @"promotion_id";
-
-/// The name of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionName : @"Summer Sale",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
-    @"promotion_name";
-
-/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
-/// (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShippingTier : @"Ground",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
-    @"shipping_tier";
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
index 132aef7..2442d8a 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
@@ -12,18 +12,17 @@
 
 #import <Foundation/Foundation.h>
 
-/// The method used to sign in. For example, "google", "facebook" or "twitter".
-static NSString *const kFIRUserPropertySignUpMethod
-    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
-
 /// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
 /// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
 /// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
 /// more details and information about related settings.
 ///
 /// <pre>
-///     [FIRAnalytics setUserPropertyString:@"NO"
-///                                 forName:kFIRUserPropertyAllowAdPersonalizationSignals];
+///     Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
 /// </pre>
 static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
     NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
+
+/// The method used to sign in. For example, "google", "facebook" or "twitter".
+static NSString *const kFIRUserPropertySignUpMethod
+    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
new file mode 100644
index 0000000..ad84fbb
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
@@ -0,0 +1,24 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRAnalytics+AppDelegate.h"
+#import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
+#import "FIRAnalytics.h"
+#import "FirebaseAnalytics.h"
+#import "FIREventNames.h"
+#import "FIRParameterNames.h"
+#import "FIRUserPropertyNames.h"
+
+FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];
+
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
index 368f79c..351da20 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
@@ -1,5 +1,6 @@
 #import "FIRAnalytics+AppDelegate.h"
 #import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
 #import "FIRAnalytics.h"
 #import "FIREventNames.h"
 #import "FIRParameterNames.h"
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Info.plist b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Info.plist
index b659341..c011a90 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Info.plist
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Modules/module.modulemap b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Modules/module.modulemap
index aa72782..37eb24b 100644
--- a/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Modules/module.modulemap
@@ -1,8 +1,7 @@
 framework module FirebaseAnalytics {
-umbrella header "FirebaseAnalytics.h"
+umbrella header "FirebaseAnalytics-umbrella.h"
 export *
 module * { export * }
-  link framework "CoreTelephony"
   link framework "Foundation"
   link framework "Security"
   link framework "SystemConfiguration"
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/FirebaseAnalytics b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/FirebaseAnalytics
index c7b1f08..f12bed8 100644
--- a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/FirebaseAnalytics
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/FirebaseAnalytics
Binary files differ
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
index d499af6..cb1e407 100644
--- a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
@@ -4,59 +4,77 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/**
- * Provides App Delegate handlers to be used in your App Delegate.
- *
- * To save time integrating Firebase Analytics in an application, Firebase Analytics does not
- * require delegation implementation from the AppDelegate. Instead this is automatically done by
- * Firebase Analytics. Should you choose instead to delegate manually, you can turn off the App
- * Delegate Proxy by adding FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting
- * it to NO, and adding the methods in this category to corresponding delegation handlers.
- *
- * To handle Universal Links, you must return YES in
- * [UIApplicationDelegate application:didFinishLaunchingWithOptions:].
- */
+/// Provides App Delegate handlers to be used in your App Delegate.
+///
+/// To save time integrating Firebase Analytics in an application, Firebase Analytics does not
+/// require delegation implementation from the AppDelegate if neither SwiftUI nor UIScene lifecycle
+/// is adopted. Instead this is automatically done by Firebase Analytics. Should you choose instead
+/// to delegate manually, you can turn off the App Delegate Proxy by adding
+/// FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting it to boolean `NO`, and
+/// adding the methods in this category to corresponding delegation handlers.
+///
+/// To handle Universal Links, you must return `true` in
+/// `UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)`.
 @interface FIRAnalytics (AppDelegate)
 
-/**
- * Handles events related to a URL session that are waiting to be processed.
- *
- * For optimal use of Firebase Analytics, call this method from the
- * [UIApplicationDelegate application:handleEventsForBackgroundURLSession:completionHandler]
- * method of the app delegate in your app.
- *
- * @param identifier The identifier of the URL session requiring attention.
- * @param completionHandler The completion handler to call when you finish processing the events.
- *     Calling this completion handler lets the system know that your app's user interface is
- *     updated and a new snapshot can be taken.
- */
+/// Handles events related to a URL session that are waiting to be processed.
+///
+/// 1. If SwiftUI lifecycle is adopted, call this method from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// 2. If SwiftUI lifecycle is not adopted, Firebase Analytics does not require delegation
+/// implementation from the AppDelegate. If you choose instead to delegate manually, you can set
+/// FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this method
+/// from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// @param identifier The identifier of the URL session requiring attention.
+/// @param completionHandler The completion handler to call when you finish processing the events.
+///     Calling this completion handler lets the system know that your app's user interface is
+///     updated and a new snapshot can be taken.
 + (void)handleEventsForBackgroundURLSession:(NSString *)identifier
                           completionHandler:(nullable void (^)(void))completionHandler;
 
-/**
- * Handles the event when the app is launched by a URL.
- *
- * Call this method from [UIApplicationDelegate application:openURL:options:] &#40;on iOS 9.0 and
- * above&#41;, or [UIApplicationDelegate application:openURL:sourceApplication:annotation:] &#40;on
- * iOS 8.x and below&#41; in your app.
- *
- * @param url The URL resource to open. This resource can be a network resource or a file.
- */
+/// Handles the event when the app is launched by a URL (custom URL scheme or universal link).
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// this method in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and
+/// `UISceneDelegate.scene(_:openURLContexts:)` when the URL contexts are available.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplicationDelegate.application(_:open:options:)` in your app delegate.
+///
+/// @param url The URL resource to open. This resource can be a network resource or a file.
 + (void)handleOpenURL:(NSURL *)url;
 
-/**
- * Handles the event when the app receives data associated with user activity that includes a
- * Universal Link (on iOS 9.0 and above).
- *
- * Call this method from [UIApplication continueUserActivity:restorationHandler:] in your app
- * delegate (on iOS 9.0 and above).
- *
- * @param userActivity The activity object containing the data associated with the task the user
- *     was performing.
- */
+/// Handles the event when the app receives data associated with user activity that includes a
+/// Universal Link.
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// `Analytics.handleOpen(_:)` instead in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and `UISceneDelegate.scene(_:continue:)` when
+/// NSUserActivity is available. See the [Apple
+/// doc](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) for
+/// more details.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplication.application(_:continue:restorationHandler:)` in your app delegate.
+///
+/// @param userActivity The activity object containing the data associated with the task the user
+///     was performing.
 + (void)handleUserActivity:(id)userActivity;
 
 @end
 
 NS_ASSUME_NONNULL_END
-
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
index 686a386..7f89831 100644
--- a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
@@ -23,7 +23,7 @@
 /// device. Use the consent settings to specify individual consent type values. Settings are
 /// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
 ///
-/// @param consentSettings An NSDictionary of consent types. Supported consent type keys are
+/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
 ///   `ConsentType.adStorage` and `ConsentType.analyticsStorage`. Valid values are
 ///   `ConsentStatus.granted` and `ConsentStatus.denied`.
 + (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
new file mode 100644
index 0000000..1d9a438
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
@@ -0,0 +1,19 @@
+#import <Foundation/Foundation.h>
+
+#import "FIRAnalytics.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
+@interface FIRAnalytics (OnDevice)
+
+/// Initiates on-device conversion measurement given a user email address. Requires dependency
+/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
+/// @param emailAddress User email address. Include a domain name for all email addresses
+///   (e.g. gmail.com or hotmail.co.jp).
++ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
+    NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
index b9de094..e7ce5dc 100644
--- a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
@@ -28,7 +28,6 @@
 ///     <li>ad_query</li>
 ///     <li>ad_reward</li>
 ///     <li>adunit_exposure</li>
-///     <li>app_background</li>
 ///     <li>app_clear_data</li>
 ///     <li>app_exception</li>
 ///     <li>app_remove</li>
@@ -62,12 +61,12 @@
 ///     "google_", and "ga_" prefixes are reserved and should not be used. Note that event names are
 ///     case-sensitive and that logging two events whose names differ only in case will result in
 ///     two distinct events. To manually log screen view events, use the `screen_view` event name.
-/// @param parameters The dictionary of event parameters. Passing nil indicates that the event has
+/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
 ///     no parameters. Parameter names can be up to 40 characters long and must start with an
-///     alphabetic character and contain only alphanumeric characters and underscores. Only NSString
-///     and NSNumber (signed 64-bit integer and 64-bit floating-point number) parameter types are
-///     supported. NSString parameter values can be up to 100 characters long. The "firebase_",
-///     "google_", and "ga_" prefixes are reserved and should not be used for parameter names.
+///     alphabetic character and contain only alphanumeric characters and underscores. Only String,
+///     Int, and Double parameter types are supported. String parameter values can be up to 100
+///     characters long. The "firebase_", "google_", and "ga_" prefixes are reserved and should not
+///     be used for parameter names.
 + (void)logEventWithName:(NSString *)name
               parameters:(nullable NSDictionary<NSString *, id> *)parameters
     NS_SWIFT_NAME(logEvent(_:parameters:));
@@ -83,7 +82,7 @@
 /// </ul>
 ///
 /// @param value The value of the user property. Values can be up to 36 characters long. Setting the
-///     value to nil removes the user property.
+///     value to `nil` removes the user property.
 /// @param name The name of the user property to set. Should contain 1 to 24 alphanumeric characters
 ///     or underscores and must start with an alphabetic character. The "firebase_", "google_", and
 ///     "ga_" prefixes are reserved and should not be used for user property names.
@@ -94,7 +93,7 @@
 /// <a href="https://www.google.com/policies/privacy">Google's Privacy Policy</a>
 ///
 /// @param userID The user ID to ascribe to the user of this app on this device, which must be
-///     non-empty and no more than 256 characters long. Setting userID to nil removes the user ID.
+///     non-empty and no more than 256 characters long. Setting userID to `nil` removes the user ID.
 + (void)setUserID:(nullable NSString *)userID;
 
 /// Sets whether analytics collection is enabled for this app on this device. This setting is
@@ -110,14 +109,27 @@
 ///     session terminates.
 + (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
 
-/// Returns the unique ID for this instance of the application or nil if
+/// Asynchronously retrieves the identifier of the current app session.
+///
+/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
+/// etc.
+///
+/// @param completion The completion handler to call when the session ID retrieval is complete. This
+///     handler is executed on a system-defined global concurrent queue.
+///     This completion handler takes the following parameters:
+///     <b>sessionID</b> The identifier of the current app session. The value is undefined if the
+///         request failed.
+///     <b>error</b> An error object that indicates why the request failed, or `nil` if the request
+///         was successful.
++ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
+
+/// Returns the unique ID for this instance of the application or `nil` if
 /// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
 ///
 /// @see `FIRAnalytics+Consent.h`
 + (nullable NSString *)appInstanceID;
 
 /// Clears all analytics data for this instance from the device and resets the app instance ID.
-/// FIRAnalyticsConfiguration values will be reset to the default values.
 + (void)resetAnalyticsData;
 
 /// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
@@ -129,9 +141,9 @@
 ///
 /// @param parameters Parameters to be added to the dictionary of parameters added to every event.
 ///     They will be added to the dictionary of default event parameters, replacing any existing
-///     parameter with the same name. Valid parameters are NSString and NSNumber (signed 64-bit
-///     integer and 64-bit floating-point number). Setting a key's value to [NSNull null] will clear
-///     that parameter. Passing in a nil dictionary will clear all parameters.
+///     parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
+///     value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
+///     parameters.
 + (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
 
 /// Unavailable.
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIREventNames.h b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIREventNames.h
index a362afd..1e69a44 100644
--- a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIREventNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIREventNames.h
@@ -12,60 +12,76 @@
 
 #import <Foundation/Foundation.h>
 
-/// Add Payment Info event. This event signifies that a user has submitted their payment
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
+/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterPaymentType (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdSource (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
+    @"ad_impression";
+
+/// Add Payment Info event. This event signifies that a user has submitted their payment
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
     @"add_payment_info";
 
+/// Add Shipping Info event. This event signifies that a user has submitted their shipping
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
+    @"add_shipping_info";
+
 /// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
-/// purchase. Add this event to a funnel with @c kFIREventPurchase to gauge the effectiveness of
-/// your checkout process. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
+/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
+/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"add_to_cart";
 
 /// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist. Use
-/// this event to identify popular gift items. Note: If you supply the @c kFIRParameterValue
-/// parameter, you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics
-/// can be computed accurately. Params:
+/// this event to identify popular gift items. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
     @"add_to_wishlist";
-
-/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
-/// the @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter
-/// so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAdPlatform (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdFormat (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdSource (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdUnitName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
-    @"ad_impression";
 
 /// App Open event. By logging this event when an App becomes active, developers can understand how
 /// often users leave and return during the course of a Session. Although Sessions are automatically
@@ -74,95 +90,59 @@
 static NSString *const kFIREventAppOpen NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"app_open";
 
 /// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
-/// checking out. Add this event to a funnel with your @c kFIREventPurchase event to gauge the
-/// effectiveness of your checkout process. Note: If you supply the @c kFIRParameterValue parameter,
-/// you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be
-/// computed accurately. Params:
+/// checking out. Add this event to a funnel with your @c AnalyticsEventPurchase event to gauge the
+/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
     @"begin_checkout";
 
 /// Campaign Detail event. Log this event to supply the referral details of a re-engagement
-/// campaign. Note: you must supply at least one of the required parameters kFIRParameterSource,
-/// kFIRParameterMedium or kFIRParameterCampaign. Params:
+/// campaign. Note: you must supply at least one of the required parameters
+/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSource (NSString)</li>
-///     <li>@c kFIRParameterMedium (NSString)</li>
-///     <li>@c kFIRParameterCampaign (NSString)</li>
-///     <li>@c kFIRParameterTerm (NSString) (optional)</li>
-///     <li>@c kFIRParameterContent (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdNetworkClickID (NSString) (optional)</li>
-///     <li>@c kFIRParameterCP1 (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterSource (String)</li>
+///     <li>@c AnalyticsParameterMedium (String)</li>
+///     <li>@c AnalyticsParameterCampaign (String)</li>
+///     <li>@c AnalyticsParameterTerm (String) (optional)</li>
+///     <li>@c AnalyticsParameterContent (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCP1 (String) (optional)</li>
+///     <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
+///     <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
     @"campaign_details";
 
-/// Checkout progress. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString) (optional)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventCheckoutProgress NS_SWIFT_NAME(AnalyticsEventCheckoutProgress) =
-    @"checkout_progress";
-
 /// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
-/// this along with @c kFIREventSpendVirtualCurrency to better understand your virtual economy.
+/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
 /// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
 /// </ul>
 static NSString *const kFIREventEarnVirtualCurrency
     NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
 
-/// E-Commerce Purchase event. This event signifies that an item was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterLocation (NSString) (optional)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
-/// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventPurchase constant instead.</b>
-static NSString *const kFIREventEcommercePurchase NS_SWIFT_NAME(AnalyticsEventEcommercePurchase) =
-    @"ecommerce_purchase";
-
 /// Generate Lead event. Log this event when a lead has been generated in the app to understand the
 /// efficacy of your install and re-engagement campaigns. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
 /// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
     @"generate_lead";
@@ -171,22 +151,22 @@
 /// this event to analyze how popular certain groups or social features are in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterGroupID (NSString)</li>
+///     <li>@c AnalyticsParameterGroupID (String)</li>
 /// </ul>
 static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
 
 /// Level End event. Log this event when the user finishes a level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
-///     <li>@c kFIRParameterSuccess (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
+///     <li>@c AnalyticsParameterSuccess (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
 
 /// Level Start event. Log this event when the user starts a new level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
 
@@ -195,8 +175,8 @@
 /// are difficult to pass. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterLevel (Int)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"level_up";
 
@@ -209,54 +189,57 @@
 /// high scores with certain audiences or behaviors. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScore (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScore (Int)</li>
+///     <li>@c AnalyticsParameterLevel (Int) (optional)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
 
-/// Present Offer event. This event signifies that the app has presented a purchase offer to a user.
-/// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge
-/// your conversion process. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
+/// This is different from the in-app purchase event, which is reported automatically for App
+/// Store-based apps. Note: If you supply the @c AnalyticsParameterValue parameter, you must also
+/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterItemCategory (NSString)</li>
-///     <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventViewPromotion constant instead.</b>
-static NSString *const kFIREventPresentOffer NS_SWIFT_NAME(AnalyticsEventPresentOffer) =
-    @"present_offer";
+static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
 
-/// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
+/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventRefund constant instead.</b>
-static NSString *const kFIREventPurchaseRefund NS_SWIFT_NAME(AnalyticsEventPurchaseRefund) =
-    @"purchase_refund";
+static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the @c
-/// kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
+/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
     @"remove_from_cart";
@@ -265,8 +248,8 @@
 /// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScreenClass (NSString) (optional)</li>
-///     <li>@c kFIRParameterScreenName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
+///     <li>@c AnalyticsParameterScreenName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
 
@@ -275,18 +258,15 @@
 /// identify the most popular content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterOrigin (String) (optional)</li>
+///     <li>@c AnalyticsParameterDestination (String) (optional)</li>
+///     <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
 /// </ul>
 static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"search";
 
@@ -295,160 +275,20 @@
 /// identify popular content and categories of content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
 /// </ul>
 static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
     @"select_content";
-
-/// Set checkout option. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventSetCheckoutOption NS_SWIFT_NAME(AnalyticsEventSetCheckoutOption) =
-    @"set_checkout_option";
-
-/// Share event. Apps with social features can log the Share event to identify the most viral
-/// content. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
-
-/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
-/// parameter signifies the method by which the user signed up. Use this event to understand the
-/// different behaviors between logged in and logged out users. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSignUpMethod (NSString)</li>
-/// </ul>
-static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
-
-/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
-/// help you identify which virtual goods are the most popular objects of purchase. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
-/// </ul>
-static NSString *const kFIREventSpendVirtualCurrency
-    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
-
-/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
-/// this in a funnel with kFIREventTutorialComplete to understand how many users complete this
-/// process and move on to the full app experience.
-static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
-    @"tutorial_begin";
-
-/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
-/// process. Add this to a funnel with kFIREventTutorialBegin to gauge the completion rate of your
-/// on-boarding process.
-static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
-    @"tutorial_complete";
-
-/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
-/// game. Since achievements generally represent the breadth of a gaming experience, this event can
-/// help you understand how many users are experiencing all that your game has to offer. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAchievementID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
-    @"unlock_achievement";
-
-/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
-/// parameters to contextualize the event. Use this event to discover the most popular items viewed
-/// in your app. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
-
-/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
-    @"view_item_list";
-
-/// View Search Results event. Log this event when the user has been presented with the results of a
-/// search. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-/// </ul>
-static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
-    @"view_search_results";
-
-/// Add Shipping Info event. This event signifies that a user has submitted their shipping
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShippingTier (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
-    @"add_shipping_info";
-
-/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also supply
-/// the @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
-
-/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter so
-/// that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// Select Item event. This event signifies that an item was selected by a user from a list. Use the
 /// appropriate parameters to contextualize the event. Use this event to discover the most popular
 /// items selected. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
 
@@ -457,39 +297,122 @@
 /// applies. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
     @"select_promotion";
 
-/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
-/// analyze your purchase funnel. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
+/// Share event. Apps with social features can log the Share event to identify the most viral
+/// content. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
+/// </ul>
+static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
+
+/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
+/// parameter signifies the method by which the user signed up. Use this event to understand the
+/// different behaviors between logged in and logged out users. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterMethod (String)</li>
+/// </ul>
+static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
+
+/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
+/// help you identify which virtual goods are the most popular objects of purchase. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItemName (String)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
+/// </ul>
+static NSString *const kFIREventSpendVirtualCurrency
+    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
+
+/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
+/// this in a funnel with @c AnalyticsEventTutorialComplete to understand how many users complete
+/// this process and move on to the full app experience.
+static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
+    @"tutorial_begin";
+
+/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
+/// process. Add this to a funnel with @c AnalyticsEventTutorialBegin to gauge the completion rate
+/// of your on-boarding process.
+static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
+    @"tutorial_complete";
+
+/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
+/// game. Since achievements generally represent the breadth of a gaming experience, this event can
+/// help you understand how many users are experiencing all that your game has to offer. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterAchievementID (String)</li>
+/// </ul>
+static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
+    @"unlock_achievement";
+
+/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
+/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
+/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
+/// computed accurately. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
 
-/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
-/// to a funnel with the @c kFIREventAddToCart and @c kFIREventPurchase to gauge your conversion
-/// process. Params:
+/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
+/// parameters to contextualize the event. Use this event to discover the most popular items viewed
+/// in your app. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
+
+/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
+    @"view_item_list";
+
+/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
+/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
+/// conversion process. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
     @"view_promotion";
+
+/// View Search Results event. Log this event when the user has been presented with the results of a
+/// search. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+/// </ul>
+static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
+    @"view_search_results";
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
index 8dbf4b1..b001ca5 100644
--- a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
@@ -12,720 +12,710 @@
 
 #import <Foundation/Foundation.h>
 
-/// Game achievement ID (NSString).
+/// Game achievement ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAchievementID : @"10_matches_won",
+///     let params = [
+///       AnalyticsParameterAchievementID : "10_matches_won",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
     @"achievement_id";
 
 /// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdFormat : @"Banner",
+///     let params = [
+///       AnalyticsParameterAdFormat : "Banner",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
     @"ad_format";
 
-/// Ad Network Click ID (NSString). Used for network-specific click IDs which vary in format.
+/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdNetworkClickID : @"1234567",
+///     let params = [
+///       AnalyticsParameterAdNetworkClickID : "1234567",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdNetworkClickID
     NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
 
-/// The ad platform (e.g. MoPub, IronSource) (NSString).
+/// The ad platform (e.g. MoPub, IronSource) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdPlatform : @"MoPub",
+///     let params = [
+///       AnalyticsParameterAdPlatform : "MoPub",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
     @"ad_platform";
 
-/// The ad source (e.g. AdColony) (NSString).
+/// The ad source (e.g. AdColony) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdSource : @"AdColony",
+///     let params = [
+///       AnalyticsParameterAdSource : "AdColony",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
     @"ad_source";
 
-/// The ad unit name (e.g. Banner_03) (NSString).
+/// The ad unit name (e.g. Banner_03) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdUnitName : @"Banner_03",
+///     let params = [
+///       AnalyticsParameterAdUnitName : "Banner_03",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
     @"ad_unit_name";
 
 /// A product affiliation to designate a supplying company or brick and mortar store location
-/// (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAffiliation : @"Google Store",
+/// (String). <pre>
+///     let params = [
+///       AnalyticsParameterAffiliation : "Google Store",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
     @"affiliation";
 
+/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
+/// Use varies by network.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCP1 : "custom_data",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+
 /// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
 /// capture campaign information, otherwise can be populated by developer. Highly Recommended
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCampaign : @"winter_promotion",
+///     let params = [
+///       AnalyticsParameterCampaign : "winter_promotion",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
     @"campaign";
 
-/// Character used in game (NSString).
+/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
+/// strategic campaign. This is a required key for GA4 data import.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCharacter : @"beat_boss",
+///     let params = [
+///       AnalyticsParameterCampaignID : "7877652710",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
+    @"campaign_id";
+
+/// Character used in game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCharacter : "beat_boss",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
     @"character";
 
-/// The checkout step (1..N) (unsigned 64-bit integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutStep : @"1",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutStep NS_SWIFT_NAME(AnalyticsParameterCheckoutStep) =
-    @"checkout_step";
-
-/// Some option on a step in an ecommerce flow (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutOption : @"Visa",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutOption
-    NS_SWIFT_NAME(AnalyticsParameterCheckoutOption) = @"checkout_option";
-
-/// Campaign content (NSString).
+/// Campaign content (String).
 static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
 
-/// Type of content selected (NSString).
+/// Type of content selected (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterContentType : @"news article",
+///     let params = [
+///       AnalyticsParameterContentType : "news article",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
     @"content_type";
 
-/// Coupon code used for a purchase (NSString).
+/// Coupon code used for a purchase (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCoupon : @"SUMMER_FUN",
+///     let params = [
+///       AnalyticsParameterCoupon : "SUMMER_FUN",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
 
-/// Campaign custom parameter (NSString). Used as a method of capturing custom data in a campaign.
-/// Use varies by network.
+/// Creative Format (String). Used to identify the high-level classification of the type of ad
+/// served by a specific campaign.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCP1 : @"custom_data",
+///     let params = [
+///       AnalyticsParameterCreativeFormat : "display",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
+    @"creative_format";
 
-/// The name of a creative used in a promotional spot (NSString).
+/// The name of a creative used in a promotional spot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeName : @"Summer Sale",
+///     let params = [
+///       AnalyticsParameterCreativeName : "Summer Sale",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
     @"creative_name";
 
-/// The name of a creative slot (NSString).
+/// The name of a creative slot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeSlot : @"summer_banner2",
+///     let params = [
+///       AnalyticsParameterCreativeSlot : "summer_banner2",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
     @"creative_slot";
 
 /// Currency of the purchase or items associated with the event, in 3-letter
-/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (NSString).
+/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCurrency : @"USD",
+///     let params = [
+///       AnalyticsParameterCurrency : "USD",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
     @"currency";
 
-/// Flight or Travel destination (NSString).
+/// Flight or Travel destination (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDestination : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterDestination : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
     @"destination";
 
-/// The arrival date, check-out date or rental end date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Monetary value of discount associated with a purchase (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterEndDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterDiscount : 2.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.00 USD
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
+    @"discount";
+
+/// The arrival date, check-out date or rental end date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterEndDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
 
-/// Flight number for travel events (NSString).
+/// Indicates that the associated event should either extend the current session or start a new
+/// session if no session was active when the event was logged. Specify 1 to extend the current
+/// session or to start a new session; any other value will not extend or start a session.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterFlightNumber : @"ZZ800",
+///     let params = [
+///       AnalyticsParameterExtendSession : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
+    @"extend_session";
+
+/// Flight number for travel events (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterFlightNumber : "ZZ800",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
     @"flight_number";
 
-/// Group/clan/guild ID (NSString).
+/// Group/clan/guild ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterGroupID : @"g1",
+///     let params = [
+///       AnalyticsParameterGroupID : "g1",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
 
-/// The index of the item in a list (signed 64-bit integer as NSNumber).
+/// The index of the item in a list (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterIndex : @(5),
+///     let params = [
+///       AnalyticsParameterIndex : 5,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
 
-/// Item brand (NSString).
+/// Item brand (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemBrand : @"Google",
+///     let params = [
+///       AnalyticsParameterItemBrand : "Google",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
     @"item_brand";
 
-/// Item category (context-specific) (NSString).
+/// Item category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory : "pants",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
     @"item_category";
 
-/// Item ID (context-specific) (NSString).
+/// Item Category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemID : @"SKU_12345",
+///     let params = [
+///       AnalyticsParameterItemCategory2 : "pants",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
+    @"item_category2";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory3 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
+    @"item_category3";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory4 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
+    @"item_category4";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory5 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
+    @"item_category5";
+
+/// Item ID (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemID : "SKU_12345",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
 
-/// The Google <a href="https://developers.google.com/places/place-id">Place ID</a> (NSString) that
-/// corresponds to the associated item. Alternatively, you can supply your own custom Location ID.
+/// The ID of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterItemListID : "ABC123",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterLocationID constant instead.</b>
-static NSString *const kFIRParameterItemLocationID
-    NS_SWIFT_NAME(AnalyticsParameterItemLocationID) = @"item_location_id";
+static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
+    @"item_list_id";
 
-/// Item Name (context-specific) (NSString).
+/// The name of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemName : @"jeggings",
+///     let params = [
+///       AnalyticsParameterItemListName : "Related products",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
+    @"item_list_name";
+
+/// Item Name (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemName : "jeggings",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
     @"item_name";
 
-/// The list in which the item was presented to the user (NSString).
+/// Item variant (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemList : @"Search Results",
+///     let params = [
+///       AnalyticsParameterItemVariant : "Black",
 ///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterItemListName constant instead.</b>
-static NSString *const kFIRParameterItemList NS_SWIFT_NAME(AnalyticsParameterItemList) =
-    @"item_list";
-
-/// Item variant (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemVariant : @"Black",
-///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
     @"item_variant";
 
-/// Level in game (signed 64-bit integer as NSNumber).
+/// The list of items involved in the transaction expressed as `[[String: Any]]`.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevel : @(42),
+///     let params = [
+///       AnalyticsParameterItems : [
+///         [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
+///         [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
+///       ],
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
+
+/// Level in game (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevel : 42,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
 
-/// Location (NSString). The Google <a href="https://developers.google.com/places/place-id">Place ID
+/// The name of a level in a game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevelName : "room_1",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
+    @"level_name";
+
+/// Location (String). The Google <a href="https://developers.google.com/places/place-id">Place ID
 /// </a> that corresponds to the associated event. Alternatively, you can supply your own custom
 /// Location ID.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocation : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
     @"location";
 
-/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
-/// (NSString).
+/// The location associated with the event. Preferred to be the Google
+/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
+/// associated item but could be overridden to a custom location ID string.(String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMedium : @"email",
+///     let params = [
+///       AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
+    @"location_id";
+
+/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
+/// campaign.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMarketingTactic : "Remarketing",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMarketingTactic
+    NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
+
+/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
+/// (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMedium : "email",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
 
-/// Number of nights staying at hotel (signed 64-bit integer as NSNumber).
+/// A particular approach used in an operation; for example, "facebook" or "email" in the context
+/// of a sign_up or login event. (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfNights : @(3),
+///     let params = [
+///       AnalyticsParameterMethod : "google",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+
+/// Number of nights staying at hotel (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterNumberOfNights : 3,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfNights
     NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
 
-/// Number of passengers traveling (signed 64-bit integer as NSNumber).
+/// Number of passengers traveling (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfPassengers : @(11),
+///     let params = [
+///       AnalyticsParameterNumberOfPassengers : 11,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfPassengers
     NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
 
-/// Number of rooms for travel events (signed 64-bit integer as NSNumber).
+/// Number of rooms for travel events (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfRooms : @(2),
+///     let params = [
+///       AnalyticsParameterNumberOfRooms : 2,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
     @"number_of_rooms";
 
-/// Flight or Travel origin (NSString).
+/// Flight or Travel origin (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterOrigin : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterOrigin : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
 
-/// Purchase price (double as NSNumber).
+/// The chosen method of payment (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPrice : @(1.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $1.00 USD
+///     let params = [
+///       AnalyticsParameterPaymentType : "Visa",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
+    @"payment_type";
+
+/// Purchase price (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPrice : 1.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $1.00 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
 
-/// Purchase quantity (signed 64-bit integer as NSNumber).
+/// The ID of a product promotion (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterQuantity : @(1),
+///     let params = [
+///       AnalyticsParameterPromotionID : "ABC123",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
+    @"promotion_id";
+
+/// The name of a product promotion (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPromotionName : "Summer Sale",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
+    @"promotion_name";
+
+/// Purchase quantity (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterQuantity : 1,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
     @"quantity";
 
-/// Score in game (signed 64-bit integer as NSNumber).
+/// Score in game (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScore : @(4200),
+///     let params = [
+///       AnalyticsParameterScore : 4200,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
 
 /// Current screen class, such as the class name of the UIViewController, logged with screen_view
-/// event and added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenClass : @"LoginViewController",
+/// event and added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenClass : "LoginViewController",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
     @"screen_class";
 
 /// Current screen name, such as the name of the UIViewController, logged with screen_view event and
-/// added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenName : @"LoginView",
+/// added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenName : "LoginView",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
     @"screen_name";
 
-/// The search string/keywords used (NSString).
+/// The search string/keywords used (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSearchTerm : @"periodic table",
+///     let params = [
+///       AnalyticsParameterSearchTerm : "periodic table",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
     @"search_term";
 
-/// Shipping cost associated with a transaction (double as NSNumber).
+/// Shipping cost associated with a transaction (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShipping : @(5.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $5.99 USD
+///     let params = [
+///       AnalyticsParameterShipping : 5.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $5.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
     @"shipping";
 
-/// Sign up method (NSString).
+/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSignUpMethod : @"google",
+///     let params = [
+///       AnalyticsParameterShippingTier : "Ground",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-///
-/// <b>This constant has been deprecated. Use Method constant instead.</b>
-static NSString *const kFIRParameterSignUpMethod NS_SWIFT_NAME(AnalyticsParameterSignUpMethod) =
-    @"sign_up_method";
-
-/// A particular approach used in an operation; for example, "facebook" or "email" in the context
-/// of a sign_up or login event.  (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMethod : @"google",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
+    @"shipping_tier";
 
 /// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
 /// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
-/// property. Highly recommended (NSString).
+/// property. Highly recommended (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSource : @"InMobi",
+///     let params = [
+///       AnalyticsParameterSource : "InMobi",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
 
-/// The departure date, check-in date or rental start date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
+/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
+/// set, a platform for managing organic traffic data, etc.).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterStartDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterSourcePlatform : "sa360",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
+    @"source_platform";
+
+/// The departure date, check-in date or rental start date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterStartDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
     @"start_date";
 
-/// Tax cost associated with a transaction (double as NSNumber).
+/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTax : @(2.43),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.43 USD
+///     let params = [
+///       AnalyticsParameterSuccess : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
+
+/// Tax cost associated with a transaction (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterTax : 2.43,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.43 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
 
 /// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTerm : @"game",
+///     let params = [
+///       AnalyticsParameterTerm : "game",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
 
-/// The unique identifier of a transaction (NSString).
+/// The unique identifier of a transaction (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTransactionID : @"T12345",
+///     let params = [
+///       AnalyticsParameterTransactionID : "T12345",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
     @"transaction_id";
 
-/// Travel class (NSString).
+/// Travel class (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTravelClass : @"business",
+///     let params = [
+///       AnalyticsParameterTravelClass : "business",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
     @"travel_class";
 
 /// A context-specific numeric value which is accumulated automatically for each event type. This is
 /// a general purpose parameter that is useful for accumulating a key metric that pertains to an
-/// event. Examples include revenue, distance, time and points. Value should be specified as signed
-/// 64-bit integer or double as NSNumber. Notes: Values for pre-defined currency-related events
-/// (such as @c kFIREventAddToCart) should be supplied using double as NSNumber and must be
-/// accompanied by a @c kFIRParameterCurrency parameter. The valid range of accumulated values is
+/// event. Examples include revenue, distance, time and points. Value should be specified as Int or
+/// Double.
+/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
+/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
+/// parameter. The valid range of accumulated values is
 /// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
-/// corresponding @c kFIRParameterCurrency parameter, or supplying an invalid
+/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
 /// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
 /// conversion to be omitted from reporting.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterValue : @(3.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $3.99 USD
+///     let params = [
+///       AnalyticsParameterValue : 3.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $3.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
 
-/// Name of virtual currency type (NSString).
+/// Name of virtual currency type (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterVirtualCurrencyName : @"virtual_currency_name",
+///     let params = [
+///       AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterVirtualCurrencyName
     NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";
-
-/// The name of a level in a game (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevelName : @"room_1",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
-    @"level_name";
-
-/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (unsigned
-/// integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSuccess : @(1),
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
-
-/// Indicates that the associated event should either extend the current session
-/// or start a new session if no session was active when the event was logged.
-/// Specify YES to extend the current session or to start a new session; any
-/// other value will not extend or start a session.
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterExtendSession : @YES,
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
-    @"extend_session";
-
-/// Monetary value of discount associated with a purchase (double as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDiscount : @(2.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.00 USD
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
-    @"discount";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory2 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
-    @"item_category2";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory3 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
-    @"item_category3";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory4 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
-    @"item_category4";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory5 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
-    @"item_category5";
-
-/// The ID of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
-    @"item_list_id";
-
-/// The name of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListName : @"Related products",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
-    @"item_list_name";
-
-/// The list of items involved in the transaction. (NSArray).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItems : @[
-///         @{kFIRParameterItemName : @"jeggings", kFIRParameterItemCategory : @"pants"},
-///         @{kFIRParameterItemName : @"boots", kFIRParameterItemCategory : @"shoes"},
-///       ],
-///     };
-/// </pre>
-static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
-
-/// The location associated with the event. Preferred to be the Google
-/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
-/// associated item but could be overridden to a custom location ID string.(NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
-    @"location_id";
-
-/// The chosen method of payment (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPaymentType : @"Visa",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
-    @"payment_type";
-
-/// The ID of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
-    @"promotion_id";
-
-/// The name of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionName : @"Summer Sale",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
-    @"promotion_name";
-
-/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
-/// (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShippingTier : @"Ground",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
-    @"shipping_tier";
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
index 132aef7..2442d8a 100644
--- a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
@@ -12,18 +12,17 @@
 
 #import <Foundation/Foundation.h>
 
-/// The method used to sign in. For example, "google", "facebook" or "twitter".
-static NSString *const kFIRUserPropertySignUpMethod
-    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
-
 /// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
 /// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
 /// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
 /// more details and information about related settings.
 ///
 /// <pre>
-///     [FIRAnalytics setUserPropertyString:@"NO"
-///                                 forName:kFIRUserPropertyAllowAdPersonalizationSignals];
+///     Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
 /// </pre>
 static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
     NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
+
+/// The method used to sign in. For example, "google", "facebook" or "twitter".
+static NSString *const kFIRUserPropertySignUpMethod
+    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
new file mode 100644
index 0000000..58342c6
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
@@ -0,0 +1,24 @@
+#ifdef __OBJC__
+#import <Cocoa/Cocoa.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRAnalytics+AppDelegate.h"
+#import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
+#import "FIRAnalytics.h"
+#import "FirebaseAnalytics.h"
+#import "FIREventNames.h"
+#import "FIRParameterNames.h"
+#import "FIRUserPropertyNames.h"
+
+FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];
+
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
index 368f79c..351da20 100644
--- a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
@@ -1,5 +1,6 @@
 #import "FIRAnalytics+AppDelegate.h"
 #import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
 #import "FIRAnalytics.h"
 #import "FIREventNames.h"
 #import "FIRParameterNames.h"
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Info.plist b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Info.plist
index b659341..c011a90 100644
--- a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Info.plist
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Modules/module.modulemap b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Modules/module.modulemap
index 9a4af52..e33d8fa 100644
--- a/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Modules/module.modulemap
@@ -1,9 +1,8 @@
 framework module FirebaseAnalytics {
-umbrella header "FirebaseAnalytics.h"
+umbrella header "FirebaseAnalytics-umbrella.h"
 export *
 module * { export * }
   link framework "AppKit"
-  link framework "CoreTelephony"
   link framework "Foundation"
   link framework "Security"
   link framework "SystemConfiguration"
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/FirebaseAnalytics b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/FirebaseAnalytics
index ad4aa6d..8f6ac7f 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/FirebaseAnalytics
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/FirebaseAnalytics
Binary files differ
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
index d499af6..cb1e407 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
@@ -4,59 +4,77 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/**
- * Provides App Delegate handlers to be used in your App Delegate.
- *
- * To save time integrating Firebase Analytics in an application, Firebase Analytics does not
- * require delegation implementation from the AppDelegate. Instead this is automatically done by
- * Firebase Analytics. Should you choose instead to delegate manually, you can turn off the App
- * Delegate Proxy by adding FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting
- * it to NO, and adding the methods in this category to corresponding delegation handlers.
- *
- * To handle Universal Links, you must return YES in
- * [UIApplicationDelegate application:didFinishLaunchingWithOptions:].
- */
+/// Provides App Delegate handlers to be used in your App Delegate.
+///
+/// To save time integrating Firebase Analytics in an application, Firebase Analytics does not
+/// require delegation implementation from the AppDelegate if neither SwiftUI nor UIScene lifecycle
+/// is adopted. Instead this is automatically done by Firebase Analytics. Should you choose instead
+/// to delegate manually, you can turn off the App Delegate Proxy by adding
+/// FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting it to boolean `NO`, and
+/// adding the methods in this category to corresponding delegation handlers.
+///
+/// To handle Universal Links, you must return `true` in
+/// `UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)`.
 @interface FIRAnalytics (AppDelegate)
 
-/**
- * Handles events related to a URL session that are waiting to be processed.
- *
- * For optimal use of Firebase Analytics, call this method from the
- * [UIApplicationDelegate application:handleEventsForBackgroundURLSession:completionHandler]
- * method of the app delegate in your app.
- *
- * @param identifier The identifier of the URL session requiring attention.
- * @param completionHandler The completion handler to call when you finish processing the events.
- *     Calling this completion handler lets the system know that your app's user interface is
- *     updated and a new snapshot can be taken.
- */
+/// Handles events related to a URL session that are waiting to be processed.
+///
+/// 1. If SwiftUI lifecycle is adopted, call this method from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// 2. If SwiftUI lifecycle is not adopted, Firebase Analytics does not require delegation
+/// implementation from the AppDelegate. If you choose instead to delegate manually, you can set
+/// FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this method
+/// from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// @param identifier The identifier of the URL session requiring attention.
+/// @param completionHandler The completion handler to call when you finish processing the events.
+///     Calling this completion handler lets the system know that your app's user interface is
+///     updated and a new snapshot can be taken.
 + (void)handleEventsForBackgroundURLSession:(NSString *)identifier
                           completionHandler:(nullable void (^)(void))completionHandler;
 
-/**
- * Handles the event when the app is launched by a URL.
- *
- * Call this method from [UIApplicationDelegate application:openURL:options:] &#40;on iOS 9.0 and
- * above&#41;, or [UIApplicationDelegate application:openURL:sourceApplication:annotation:] &#40;on
- * iOS 8.x and below&#41; in your app.
- *
- * @param url The URL resource to open. This resource can be a network resource or a file.
- */
+/// Handles the event when the app is launched by a URL (custom URL scheme or universal link).
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// this method in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and
+/// `UISceneDelegate.scene(_:openURLContexts:)` when the URL contexts are available.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplicationDelegate.application(_:open:options:)` in your app delegate.
+///
+/// @param url The URL resource to open. This resource can be a network resource or a file.
 + (void)handleOpenURL:(NSURL *)url;
 
-/**
- * Handles the event when the app receives data associated with user activity that includes a
- * Universal Link (on iOS 9.0 and above).
- *
- * Call this method from [UIApplication continueUserActivity:restorationHandler:] in your app
- * delegate (on iOS 9.0 and above).
- *
- * @param userActivity The activity object containing the data associated with the task the user
- *     was performing.
- */
+/// Handles the event when the app receives data associated with user activity that includes a
+/// Universal Link.
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// `Analytics.handleOpen(_:)` instead in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and `UISceneDelegate.scene(_:continue:)` when
+/// NSUserActivity is available. See the [Apple
+/// doc](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) for
+/// more details.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplication.application(_:continue:restorationHandler:)` in your app delegate.
+///
+/// @param userActivity The activity object containing the data associated with the task the user
+///     was performing.
 + (void)handleUserActivity:(id)userActivity;
 
 @end
 
 NS_ASSUME_NONNULL_END
-
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
index 686a386..7f89831 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
@@ -23,7 +23,7 @@
 /// device. Use the consent settings to specify individual consent type values. Settings are
 /// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
 ///
-/// @param consentSettings An NSDictionary of consent types. Supported consent type keys are
+/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
 ///   `ConsentType.adStorage` and `ConsentType.analyticsStorage`. Valid values are
 ///   `ConsentStatus.granted` and `ConsentStatus.denied`.
 + (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
new file mode 100644
index 0000000..1d9a438
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
@@ -0,0 +1,19 @@
+#import <Foundation/Foundation.h>
+
+#import "FIRAnalytics.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
+@interface FIRAnalytics (OnDevice)
+
+/// Initiates on-device conversion measurement given a user email address. Requires dependency
+/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
+/// @param emailAddress User email address. Include a domain name for all email addresses
+///   (e.g. gmail.com or hotmail.co.jp).
++ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
+    NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
index b9de094..e7ce5dc 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
@@ -28,7 +28,6 @@
 ///     <li>ad_query</li>
 ///     <li>ad_reward</li>
 ///     <li>adunit_exposure</li>
-///     <li>app_background</li>
 ///     <li>app_clear_data</li>
 ///     <li>app_exception</li>
 ///     <li>app_remove</li>
@@ -62,12 +61,12 @@
 ///     "google_", and "ga_" prefixes are reserved and should not be used. Note that event names are
 ///     case-sensitive and that logging two events whose names differ only in case will result in
 ///     two distinct events. To manually log screen view events, use the `screen_view` event name.
-/// @param parameters The dictionary of event parameters. Passing nil indicates that the event has
+/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
 ///     no parameters. Parameter names can be up to 40 characters long and must start with an
-///     alphabetic character and contain only alphanumeric characters and underscores. Only NSString
-///     and NSNumber (signed 64-bit integer and 64-bit floating-point number) parameter types are
-///     supported. NSString parameter values can be up to 100 characters long. The "firebase_",
-///     "google_", and "ga_" prefixes are reserved and should not be used for parameter names.
+///     alphabetic character and contain only alphanumeric characters and underscores. Only String,
+///     Int, and Double parameter types are supported. String parameter values can be up to 100
+///     characters long. The "firebase_", "google_", and "ga_" prefixes are reserved and should not
+///     be used for parameter names.
 + (void)logEventWithName:(NSString *)name
               parameters:(nullable NSDictionary<NSString *, id> *)parameters
     NS_SWIFT_NAME(logEvent(_:parameters:));
@@ -83,7 +82,7 @@
 /// </ul>
 ///
 /// @param value The value of the user property. Values can be up to 36 characters long. Setting the
-///     value to nil removes the user property.
+///     value to `nil` removes the user property.
 /// @param name The name of the user property to set. Should contain 1 to 24 alphanumeric characters
 ///     or underscores and must start with an alphabetic character. The "firebase_", "google_", and
 ///     "ga_" prefixes are reserved and should not be used for user property names.
@@ -94,7 +93,7 @@
 /// <a href="https://www.google.com/policies/privacy">Google's Privacy Policy</a>
 ///
 /// @param userID The user ID to ascribe to the user of this app on this device, which must be
-///     non-empty and no more than 256 characters long. Setting userID to nil removes the user ID.
+///     non-empty and no more than 256 characters long. Setting userID to `nil` removes the user ID.
 + (void)setUserID:(nullable NSString *)userID;
 
 /// Sets whether analytics collection is enabled for this app on this device. This setting is
@@ -110,14 +109,27 @@
 ///     session terminates.
 + (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
 
-/// Returns the unique ID for this instance of the application or nil if
+/// Asynchronously retrieves the identifier of the current app session.
+///
+/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
+/// etc.
+///
+/// @param completion The completion handler to call when the session ID retrieval is complete. This
+///     handler is executed on a system-defined global concurrent queue.
+///     This completion handler takes the following parameters:
+///     <b>sessionID</b> The identifier of the current app session. The value is undefined if the
+///         request failed.
+///     <b>error</b> An error object that indicates why the request failed, or `nil` if the request
+///         was successful.
++ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
+
+/// Returns the unique ID for this instance of the application or `nil` if
 /// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
 ///
 /// @see `FIRAnalytics+Consent.h`
 + (nullable NSString *)appInstanceID;
 
 /// Clears all analytics data for this instance from the device and resets the app instance ID.
-/// FIRAnalyticsConfiguration values will be reset to the default values.
 + (void)resetAnalyticsData;
 
 /// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
@@ -129,9 +141,9 @@
 ///
 /// @param parameters Parameters to be added to the dictionary of parameters added to every event.
 ///     They will be added to the dictionary of default event parameters, replacing any existing
-///     parameter with the same name. Valid parameters are NSString and NSNumber (signed 64-bit
-///     integer and 64-bit floating-point number). Setting a key's value to [NSNull null] will clear
-///     that parameter. Passing in a nil dictionary will clear all parameters.
+///     parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
+///     value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
+///     parameters.
 + (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
 
 /// Unavailable.
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIREventNames.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIREventNames.h
index a362afd..1e69a44 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIREventNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIREventNames.h
@@ -12,60 +12,76 @@
 
 #import <Foundation/Foundation.h>
 
-/// Add Payment Info event. This event signifies that a user has submitted their payment
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
+/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterPaymentType (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdSource (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
+    @"ad_impression";
+
+/// Add Payment Info event. This event signifies that a user has submitted their payment
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
     @"add_payment_info";
 
+/// Add Shipping Info event. This event signifies that a user has submitted their shipping
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
+    @"add_shipping_info";
+
 /// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
-/// purchase. Add this event to a funnel with @c kFIREventPurchase to gauge the effectiveness of
-/// your checkout process. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
+/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
+/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"add_to_cart";
 
 /// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist. Use
-/// this event to identify popular gift items. Note: If you supply the @c kFIRParameterValue
-/// parameter, you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics
-/// can be computed accurately. Params:
+/// this event to identify popular gift items. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
     @"add_to_wishlist";
-
-/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
-/// the @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter
-/// so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAdPlatform (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdFormat (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdSource (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdUnitName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
-    @"ad_impression";
 
 /// App Open event. By logging this event when an App becomes active, developers can understand how
 /// often users leave and return during the course of a Session. Although Sessions are automatically
@@ -74,95 +90,59 @@
 static NSString *const kFIREventAppOpen NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"app_open";
 
 /// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
-/// checking out. Add this event to a funnel with your @c kFIREventPurchase event to gauge the
-/// effectiveness of your checkout process. Note: If you supply the @c kFIRParameterValue parameter,
-/// you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be
-/// computed accurately. Params:
+/// checking out. Add this event to a funnel with your @c AnalyticsEventPurchase event to gauge the
+/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
     @"begin_checkout";
 
 /// Campaign Detail event. Log this event to supply the referral details of a re-engagement
-/// campaign. Note: you must supply at least one of the required parameters kFIRParameterSource,
-/// kFIRParameterMedium or kFIRParameterCampaign. Params:
+/// campaign. Note: you must supply at least one of the required parameters
+/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSource (NSString)</li>
-///     <li>@c kFIRParameterMedium (NSString)</li>
-///     <li>@c kFIRParameterCampaign (NSString)</li>
-///     <li>@c kFIRParameterTerm (NSString) (optional)</li>
-///     <li>@c kFIRParameterContent (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdNetworkClickID (NSString) (optional)</li>
-///     <li>@c kFIRParameterCP1 (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterSource (String)</li>
+///     <li>@c AnalyticsParameterMedium (String)</li>
+///     <li>@c AnalyticsParameterCampaign (String)</li>
+///     <li>@c AnalyticsParameterTerm (String) (optional)</li>
+///     <li>@c AnalyticsParameterContent (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCP1 (String) (optional)</li>
+///     <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
+///     <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
     @"campaign_details";
 
-/// Checkout progress. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString) (optional)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventCheckoutProgress NS_SWIFT_NAME(AnalyticsEventCheckoutProgress) =
-    @"checkout_progress";
-
 /// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
-/// this along with @c kFIREventSpendVirtualCurrency to better understand your virtual economy.
+/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
 /// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
 /// </ul>
 static NSString *const kFIREventEarnVirtualCurrency
     NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
 
-/// E-Commerce Purchase event. This event signifies that an item was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterLocation (NSString) (optional)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
-/// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventPurchase constant instead.</b>
-static NSString *const kFIREventEcommercePurchase NS_SWIFT_NAME(AnalyticsEventEcommercePurchase) =
-    @"ecommerce_purchase";
-
 /// Generate Lead event. Log this event when a lead has been generated in the app to understand the
 /// efficacy of your install and re-engagement campaigns. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
 /// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
     @"generate_lead";
@@ -171,22 +151,22 @@
 /// this event to analyze how popular certain groups or social features are in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterGroupID (NSString)</li>
+///     <li>@c AnalyticsParameterGroupID (String)</li>
 /// </ul>
 static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
 
 /// Level End event. Log this event when the user finishes a level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
-///     <li>@c kFIRParameterSuccess (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
+///     <li>@c AnalyticsParameterSuccess (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
 
 /// Level Start event. Log this event when the user starts a new level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
 
@@ -195,8 +175,8 @@
 /// are difficult to pass. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterLevel (Int)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"level_up";
 
@@ -209,54 +189,57 @@
 /// high scores with certain audiences or behaviors. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScore (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScore (Int)</li>
+///     <li>@c AnalyticsParameterLevel (Int) (optional)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
 
-/// Present Offer event. This event signifies that the app has presented a purchase offer to a user.
-/// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge
-/// your conversion process. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
+/// This is different from the in-app purchase event, which is reported automatically for App
+/// Store-based apps. Note: If you supply the @c AnalyticsParameterValue parameter, you must also
+/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterItemCategory (NSString)</li>
-///     <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventViewPromotion constant instead.</b>
-static NSString *const kFIREventPresentOffer NS_SWIFT_NAME(AnalyticsEventPresentOffer) =
-    @"present_offer";
+static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
 
-/// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
+/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventRefund constant instead.</b>
-static NSString *const kFIREventPurchaseRefund NS_SWIFT_NAME(AnalyticsEventPurchaseRefund) =
-    @"purchase_refund";
+static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the @c
-/// kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
+/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
     @"remove_from_cart";
@@ -265,8 +248,8 @@
 /// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScreenClass (NSString) (optional)</li>
-///     <li>@c kFIRParameterScreenName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
+///     <li>@c AnalyticsParameterScreenName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
 
@@ -275,18 +258,15 @@
 /// identify the most popular content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterOrigin (String) (optional)</li>
+///     <li>@c AnalyticsParameterDestination (String) (optional)</li>
+///     <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
 /// </ul>
 static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"search";
 
@@ -295,160 +275,20 @@
 /// identify popular content and categories of content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
 /// </ul>
 static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
     @"select_content";
-
-/// Set checkout option. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventSetCheckoutOption NS_SWIFT_NAME(AnalyticsEventSetCheckoutOption) =
-    @"set_checkout_option";
-
-/// Share event. Apps with social features can log the Share event to identify the most viral
-/// content. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
-
-/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
-/// parameter signifies the method by which the user signed up. Use this event to understand the
-/// different behaviors between logged in and logged out users. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSignUpMethod (NSString)</li>
-/// </ul>
-static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
-
-/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
-/// help you identify which virtual goods are the most popular objects of purchase. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
-/// </ul>
-static NSString *const kFIREventSpendVirtualCurrency
-    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
-
-/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
-/// this in a funnel with kFIREventTutorialComplete to understand how many users complete this
-/// process and move on to the full app experience.
-static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
-    @"tutorial_begin";
-
-/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
-/// process. Add this to a funnel with kFIREventTutorialBegin to gauge the completion rate of your
-/// on-boarding process.
-static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
-    @"tutorial_complete";
-
-/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
-/// game. Since achievements generally represent the breadth of a gaming experience, this event can
-/// help you understand how many users are experiencing all that your game has to offer. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAchievementID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
-    @"unlock_achievement";
-
-/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
-/// parameters to contextualize the event. Use this event to discover the most popular items viewed
-/// in your app. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
-
-/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
-    @"view_item_list";
-
-/// View Search Results event. Log this event when the user has been presented with the results of a
-/// search. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-/// </ul>
-static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
-    @"view_search_results";
-
-/// Add Shipping Info event. This event signifies that a user has submitted their shipping
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShippingTier (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
-    @"add_shipping_info";
-
-/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also supply
-/// the @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
-
-/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter so
-/// that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// Select Item event. This event signifies that an item was selected by a user from a list. Use the
 /// appropriate parameters to contextualize the event. Use this event to discover the most popular
 /// items selected. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
 
@@ -457,39 +297,122 @@
 /// applies. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
     @"select_promotion";
 
-/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
-/// analyze your purchase funnel. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
+/// Share event. Apps with social features can log the Share event to identify the most viral
+/// content. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
+/// </ul>
+static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
+
+/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
+/// parameter signifies the method by which the user signed up. Use this event to understand the
+/// different behaviors between logged in and logged out users. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterMethod (String)</li>
+/// </ul>
+static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
+
+/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
+/// help you identify which virtual goods are the most popular objects of purchase. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItemName (String)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
+/// </ul>
+static NSString *const kFIREventSpendVirtualCurrency
+    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
+
+/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
+/// this in a funnel with @c AnalyticsEventTutorialComplete to understand how many users complete
+/// this process and move on to the full app experience.
+static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
+    @"tutorial_begin";
+
+/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
+/// process. Add this to a funnel with @c AnalyticsEventTutorialBegin to gauge the completion rate
+/// of your on-boarding process.
+static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
+    @"tutorial_complete";
+
+/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
+/// game. Since achievements generally represent the breadth of a gaming experience, this event can
+/// help you understand how many users are experiencing all that your game has to offer. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterAchievementID (String)</li>
+/// </ul>
+static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
+    @"unlock_achievement";
+
+/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
+/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
+/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
+/// computed accurately. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
 
-/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
-/// to a funnel with the @c kFIREventAddToCart and @c kFIREventPurchase to gauge your conversion
-/// process. Params:
+/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
+/// parameters to contextualize the event. Use this event to discover the most popular items viewed
+/// in your app. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
+
+/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
+    @"view_item_list";
+
+/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
+/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
+/// conversion process. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
     @"view_promotion";
+
+/// View Search Results event. Log this event when the user has been presented with the results of a
+/// search. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+/// </ul>
+static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
+    @"view_search_results";
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
index 8dbf4b1..b001ca5 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
@@ -12,720 +12,710 @@
 
 #import <Foundation/Foundation.h>
 
-/// Game achievement ID (NSString).
+/// Game achievement ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAchievementID : @"10_matches_won",
+///     let params = [
+///       AnalyticsParameterAchievementID : "10_matches_won",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
     @"achievement_id";
 
 /// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdFormat : @"Banner",
+///     let params = [
+///       AnalyticsParameterAdFormat : "Banner",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
     @"ad_format";
 
-/// Ad Network Click ID (NSString). Used for network-specific click IDs which vary in format.
+/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdNetworkClickID : @"1234567",
+///     let params = [
+///       AnalyticsParameterAdNetworkClickID : "1234567",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdNetworkClickID
     NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
 
-/// The ad platform (e.g. MoPub, IronSource) (NSString).
+/// The ad platform (e.g. MoPub, IronSource) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdPlatform : @"MoPub",
+///     let params = [
+///       AnalyticsParameterAdPlatform : "MoPub",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
     @"ad_platform";
 
-/// The ad source (e.g. AdColony) (NSString).
+/// The ad source (e.g. AdColony) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdSource : @"AdColony",
+///     let params = [
+///       AnalyticsParameterAdSource : "AdColony",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
     @"ad_source";
 
-/// The ad unit name (e.g. Banner_03) (NSString).
+/// The ad unit name (e.g. Banner_03) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdUnitName : @"Banner_03",
+///     let params = [
+///       AnalyticsParameterAdUnitName : "Banner_03",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
     @"ad_unit_name";
 
 /// A product affiliation to designate a supplying company or brick and mortar store location
-/// (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAffiliation : @"Google Store",
+/// (String). <pre>
+///     let params = [
+///       AnalyticsParameterAffiliation : "Google Store",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
     @"affiliation";
 
+/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
+/// Use varies by network.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCP1 : "custom_data",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+
 /// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
 /// capture campaign information, otherwise can be populated by developer. Highly Recommended
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCampaign : @"winter_promotion",
+///     let params = [
+///       AnalyticsParameterCampaign : "winter_promotion",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
     @"campaign";
 
-/// Character used in game (NSString).
+/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
+/// strategic campaign. This is a required key for GA4 data import.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCharacter : @"beat_boss",
+///     let params = [
+///       AnalyticsParameterCampaignID : "7877652710",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
+    @"campaign_id";
+
+/// Character used in game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCharacter : "beat_boss",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
     @"character";
 
-/// The checkout step (1..N) (unsigned 64-bit integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutStep : @"1",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutStep NS_SWIFT_NAME(AnalyticsParameterCheckoutStep) =
-    @"checkout_step";
-
-/// Some option on a step in an ecommerce flow (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutOption : @"Visa",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutOption
-    NS_SWIFT_NAME(AnalyticsParameterCheckoutOption) = @"checkout_option";
-
-/// Campaign content (NSString).
+/// Campaign content (String).
 static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
 
-/// Type of content selected (NSString).
+/// Type of content selected (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterContentType : @"news article",
+///     let params = [
+///       AnalyticsParameterContentType : "news article",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
     @"content_type";
 
-/// Coupon code used for a purchase (NSString).
+/// Coupon code used for a purchase (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCoupon : @"SUMMER_FUN",
+///     let params = [
+///       AnalyticsParameterCoupon : "SUMMER_FUN",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
 
-/// Campaign custom parameter (NSString). Used as a method of capturing custom data in a campaign.
-/// Use varies by network.
+/// Creative Format (String). Used to identify the high-level classification of the type of ad
+/// served by a specific campaign.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCP1 : @"custom_data",
+///     let params = [
+///       AnalyticsParameterCreativeFormat : "display",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
+    @"creative_format";
 
-/// The name of a creative used in a promotional spot (NSString).
+/// The name of a creative used in a promotional spot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeName : @"Summer Sale",
+///     let params = [
+///       AnalyticsParameterCreativeName : "Summer Sale",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
     @"creative_name";
 
-/// The name of a creative slot (NSString).
+/// The name of a creative slot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeSlot : @"summer_banner2",
+///     let params = [
+///       AnalyticsParameterCreativeSlot : "summer_banner2",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
     @"creative_slot";
 
 /// Currency of the purchase or items associated with the event, in 3-letter
-/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (NSString).
+/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCurrency : @"USD",
+///     let params = [
+///       AnalyticsParameterCurrency : "USD",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
     @"currency";
 
-/// Flight or Travel destination (NSString).
+/// Flight or Travel destination (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDestination : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterDestination : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
     @"destination";
 
-/// The arrival date, check-out date or rental end date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Monetary value of discount associated with a purchase (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterEndDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterDiscount : 2.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.00 USD
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
+    @"discount";
+
+/// The arrival date, check-out date or rental end date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterEndDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
 
-/// Flight number for travel events (NSString).
+/// Indicates that the associated event should either extend the current session or start a new
+/// session if no session was active when the event was logged. Specify 1 to extend the current
+/// session or to start a new session; any other value will not extend or start a session.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterFlightNumber : @"ZZ800",
+///     let params = [
+///       AnalyticsParameterExtendSession : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
+    @"extend_session";
+
+/// Flight number for travel events (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterFlightNumber : "ZZ800",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
     @"flight_number";
 
-/// Group/clan/guild ID (NSString).
+/// Group/clan/guild ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterGroupID : @"g1",
+///     let params = [
+///       AnalyticsParameterGroupID : "g1",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
 
-/// The index of the item in a list (signed 64-bit integer as NSNumber).
+/// The index of the item in a list (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterIndex : @(5),
+///     let params = [
+///       AnalyticsParameterIndex : 5,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
 
-/// Item brand (NSString).
+/// Item brand (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemBrand : @"Google",
+///     let params = [
+///       AnalyticsParameterItemBrand : "Google",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
     @"item_brand";
 
-/// Item category (context-specific) (NSString).
+/// Item category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory : "pants",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
     @"item_category";
 
-/// Item ID (context-specific) (NSString).
+/// Item Category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemID : @"SKU_12345",
+///     let params = [
+///       AnalyticsParameterItemCategory2 : "pants",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
+    @"item_category2";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory3 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
+    @"item_category3";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory4 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
+    @"item_category4";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory5 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
+    @"item_category5";
+
+/// Item ID (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemID : "SKU_12345",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
 
-/// The Google <a href="https://developers.google.com/places/place-id">Place ID</a> (NSString) that
-/// corresponds to the associated item. Alternatively, you can supply your own custom Location ID.
+/// The ID of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterItemListID : "ABC123",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterLocationID constant instead.</b>
-static NSString *const kFIRParameterItemLocationID
-    NS_SWIFT_NAME(AnalyticsParameterItemLocationID) = @"item_location_id";
+static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
+    @"item_list_id";
 
-/// Item Name (context-specific) (NSString).
+/// The name of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemName : @"jeggings",
+///     let params = [
+///       AnalyticsParameterItemListName : "Related products",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
+    @"item_list_name";
+
+/// Item Name (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemName : "jeggings",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
     @"item_name";
 
-/// The list in which the item was presented to the user (NSString).
+/// Item variant (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemList : @"Search Results",
+///     let params = [
+///       AnalyticsParameterItemVariant : "Black",
 ///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterItemListName constant instead.</b>
-static NSString *const kFIRParameterItemList NS_SWIFT_NAME(AnalyticsParameterItemList) =
-    @"item_list";
-
-/// Item variant (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemVariant : @"Black",
-///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
     @"item_variant";
 
-/// Level in game (signed 64-bit integer as NSNumber).
+/// The list of items involved in the transaction expressed as `[[String: Any]]`.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevel : @(42),
+///     let params = [
+///       AnalyticsParameterItems : [
+///         [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
+///         [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
+///       ],
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
+
+/// Level in game (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevel : 42,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
 
-/// Location (NSString). The Google <a href="https://developers.google.com/places/place-id">Place ID
+/// The name of a level in a game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevelName : "room_1",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
+    @"level_name";
+
+/// Location (String). The Google <a href="https://developers.google.com/places/place-id">Place ID
 /// </a> that corresponds to the associated event. Alternatively, you can supply your own custom
 /// Location ID.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocation : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
     @"location";
 
-/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
-/// (NSString).
+/// The location associated with the event. Preferred to be the Google
+/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
+/// associated item but could be overridden to a custom location ID string.(String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMedium : @"email",
+///     let params = [
+///       AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
+    @"location_id";
+
+/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
+/// campaign.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMarketingTactic : "Remarketing",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMarketingTactic
+    NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
+
+/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
+/// (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMedium : "email",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
 
-/// Number of nights staying at hotel (signed 64-bit integer as NSNumber).
+/// A particular approach used in an operation; for example, "facebook" or "email" in the context
+/// of a sign_up or login event. (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfNights : @(3),
+///     let params = [
+///       AnalyticsParameterMethod : "google",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+
+/// Number of nights staying at hotel (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterNumberOfNights : 3,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfNights
     NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
 
-/// Number of passengers traveling (signed 64-bit integer as NSNumber).
+/// Number of passengers traveling (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfPassengers : @(11),
+///     let params = [
+///       AnalyticsParameterNumberOfPassengers : 11,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfPassengers
     NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
 
-/// Number of rooms for travel events (signed 64-bit integer as NSNumber).
+/// Number of rooms for travel events (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfRooms : @(2),
+///     let params = [
+///       AnalyticsParameterNumberOfRooms : 2,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
     @"number_of_rooms";
 
-/// Flight or Travel origin (NSString).
+/// Flight or Travel origin (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterOrigin : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterOrigin : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
 
-/// Purchase price (double as NSNumber).
+/// The chosen method of payment (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPrice : @(1.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $1.00 USD
+///     let params = [
+///       AnalyticsParameterPaymentType : "Visa",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
+    @"payment_type";
+
+/// Purchase price (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPrice : 1.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $1.00 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
 
-/// Purchase quantity (signed 64-bit integer as NSNumber).
+/// The ID of a product promotion (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterQuantity : @(1),
+///     let params = [
+///       AnalyticsParameterPromotionID : "ABC123",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
+    @"promotion_id";
+
+/// The name of a product promotion (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPromotionName : "Summer Sale",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
+    @"promotion_name";
+
+/// Purchase quantity (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterQuantity : 1,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
     @"quantity";
 
-/// Score in game (signed 64-bit integer as NSNumber).
+/// Score in game (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScore : @(4200),
+///     let params = [
+///       AnalyticsParameterScore : 4200,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
 
 /// Current screen class, such as the class name of the UIViewController, logged with screen_view
-/// event and added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenClass : @"LoginViewController",
+/// event and added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenClass : "LoginViewController",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
     @"screen_class";
 
 /// Current screen name, such as the name of the UIViewController, logged with screen_view event and
-/// added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenName : @"LoginView",
+/// added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenName : "LoginView",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
     @"screen_name";
 
-/// The search string/keywords used (NSString).
+/// The search string/keywords used (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSearchTerm : @"periodic table",
+///     let params = [
+///       AnalyticsParameterSearchTerm : "periodic table",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
     @"search_term";
 
-/// Shipping cost associated with a transaction (double as NSNumber).
+/// Shipping cost associated with a transaction (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShipping : @(5.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $5.99 USD
+///     let params = [
+///       AnalyticsParameterShipping : 5.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $5.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
     @"shipping";
 
-/// Sign up method (NSString).
+/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSignUpMethod : @"google",
+///     let params = [
+///       AnalyticsParameterShippingTier : "Ground",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-///
-/// <b>This constant has been deprecated. Use Method constant instead.</b>
-static NSString *const kFIRParameterSignUpMethod NS_SWIFT_NAME(AnalyticsParameterSignUpMethod) =
-    @"sign_up_method";
-
-/// A particular approach used in an operation; for example, "facebook" or "email" in the context
-/// of a sign_up or login event.  (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMethod : @"google",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
+    @"shipping_tier";
 
 /// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
 /// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
-/// property. Highly recommended (NSString).
+/// property. Highly recommended (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSource : @"InMobi",
+///     let params = [
+///       AnalyticsParameterSource : "InMobi",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
 
-/// The departure date, check-in date or rental start date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
+/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
+/// set, a platform for managing organic traffic data, etc.).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterStartDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterSourcePlatform : "sa360",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
+    @"source_platform";
+
+/// The departure date, check-in date or rental start date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterStartDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
     @"start_date";
 
-/// Tax cost associated with a transaction (double as NSNumber).
+/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTax : @(2.43),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.43 USD
+///     let params = [
+///       AnalyticsParameterSuccess : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
+
+/// Tax cost associated with a transaction (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterTax : 2.43,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.43 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
 
 /// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTerm : @"game",
+///     let params = [
+///       AnalyticsParameterTerm : "game",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
 
-/// The unique identifier of a transaction (NSString).
+/// The unique identifier of a transaction (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTransactionID : @"T12345",
+///     let params = [
+///       AnalyticsParameterTransactionID : "T12345",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
     @"transaction_id";
 
-/// Travel class (NSString).
+/// Travel class (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTravelClass : @"business",
+///     let params = [
+///       AnalyticsParameterTravelClass : "business",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
     @"travel_class";
 
 /// A context-specific numeric value which is accumulated automatically for each event type. This is
 /// a general purpose parameter that is useful for accumulating a key metric that pertains to an
-/// event. Examples include revenue, distance, time and points. Value should be specified as signed
-/// 64-bit integer or double as NSNumber. Notes: Values for pre-defined currency-related events
-/// (such as @c kFIREventAddToCart) should be supplied using double as NSNumber and must be
-/// accompanied by a @c kFIRParameterCurrency parameter. The valid range of accumulated values is
+/// event. Examples include revenue, distance, time and points. Value should be specified as Int or
+/// Double.
+/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
+/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
+/// parameter. The valid range of accumulated values is
 /// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
-/// corresponding @c kFIRParameterCurrency parameter, or supplying an invalid
+/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
 /// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
 /// conversion to be omitted from reporting.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterValue : @(3.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $3.99 USD
+///     let params = [
+///       AnalyticsParameterValue : 3.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $3.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
 
-/// Name of virtual currency type (NSString).
+/// Name of virtual currency type (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterVirtualCurrencyName : @"virtual_currency_name",
+///     let params = [
+///       AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterVirtualCurrencyName
     NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";
-
-/// The name of a level in a game (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevelName : @"room_1",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
-    @"level_name";
-
-/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (unsigned
-/// integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSuccess : @(1),
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
-
-/// Indicates that the associated event should either extend the current session
-/// or start a new session if no session was active when the event was logged.
-/// Specify YES to extend the current session or to start a new session; any
-/// other value will not extend or start a session.
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterExtendSession : @YES,
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
-    @"extend_session";
-
-/// Monetary value of discount associated with a purchase (double as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDiscount : @(2.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.00 USD
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
-    @"discount";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory2 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
-    @"item_category2";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory3 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
-    @"item_category3";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory4 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
-    @"item_category4";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory5 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
-    @"item_category5";
-
-/// The ID of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
-    @"item_list_id";
-
-/// The name of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListName : @"Related products",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
-    @"item_list_name";
-
-/// The list of items involved in the transaction. (NSArray).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItems : @[
-///         @{kFIRParameterItemName : @"jeggings", kFIRParameterItemCategory : @"pants"},
-///         @{kFIRParameterItemName : @"boots", kFIRParameterItemCategory : @"shoes"},
-///       ],
-///     };
-/// </pre>
-static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
-
-/// The location associated with the event. Preferred to be the Google
-/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
-/// associated item but could be overridden to a custom location ID string.(NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
-    @"location_id";
-
-/// The chosen method of payment (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPaymentType : @"Visa",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
-    @"payment_type";
-
-/// The ID of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
-    @"promotion_id";
-
-/// The name of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionName : @"Summer Sale",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
-    @"promotion_name";
-
-/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
-/// (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShippingTier : @"Ground",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
-    @"shipping_tier";
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
index 132aef7..2442d8a 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
@@ -12,18 +12,17 @@
 
 #import <Foundation/Foundation.h>
 
-/// The method used to sign in. For example, "google", "facebook" or "twitter".
-static NSString *const kFIRUserPropertySignUpMethod
-    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
-
 /// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
 /// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
 /// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
 /// more details and information about related settings.
 ///
 /// <pre>
-///     [FIRAnalytics setUserPropertyString:@"NO"
-///                                 forName:kFIRUserPropertyAllowAdPersonalizationSignals];
+///     Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
 /// </pre>
 static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
     NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
+
+/// The method used to sign in. For example, "google", "facebook" or "twitter".
+static NSString *const kFIRUserPropertySignUpMethod
+    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
new file mode 100644
index 0000000..ad84fbb
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
@@ -0,0 +1,24 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRAnalytics+AppDelegate.h"
+#import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
+#import "FIRAnalytics.h"
+#import "FirebaseAnalytics.h"
+#import "FIREventNames.h"
+#import "FIRParameterNames.h"
+#import "FIRUserPropertyNames.h"
+
+FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];
+
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
index 368f79c..351da20 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
@@ -1,5 +1,6 @@
 #import "FIRAnalytics+AppDelegate.h"
 #import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
 #import "FIRAnalytics.h"
 #import "FIREventNames.h"
 #import "FIRParameterNames.h"
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Info.plist b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Info.plist
index b659341..c011a90 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Info.plist
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Modules/module.modulemap b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Modules/module.modulemap
index b4b1bb6..37eb24b 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Modules/module.modulemap
@@ -1,5 +1,5 @@
 framework module FirebaseAnalytics {
-umbrella header "FirebaseAnalytics.h"
+umbrella header "FirebaseAnalytics-umbrella.h"
 export *
 module * { export * }
   link framework "Foundation"
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics
index 4985613..a380d5e 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics
Binary files differ
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
index d499af6..cb1e407 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
@@ -4,59 +4,77 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/**
- * Provides App Delegate handlers to be used in your App Delegate.
- *
- * To save time integrating Firebase Analytics in an application, Firebase Analytics does not
- * require delegation implementation from the AppDelegate. Instead this is automatically done by
- * Firebase Analytics. Should you choose instead to delegate manually, you can turn off the App
- * Delegate Proxy by adding FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting
- * it to NO, and adding the methods in this category to corresponding delegation handlers.
- *
- * To handle Universal Links, you must return YES in
- * [UIApplicationDelegate application:didFinishLaunchingWithOptions:].
- */
+/// Provides App Delegate handlers to be used in your App Delegate.
+///
+/// To save time integrating Firebase Analytics in an application, Firebase Analytics does not
+/// require delegation implementation from the AppDelegate if neither SwiftUI nor UIScene lifecycle
+/// is adopted. Instead this is automatically done by Firebase Analytics. Should you choose instead
+/// to delegate manually, you can turn off the App Delegate Proxy by adding
+/// FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting it to boolean `NO`, and
+/// adding the methods in this category to corresponding delegation handlers.
+///
+/// To handle Universal Links, you must return `true` in
+/// `UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)`.
 @interface FIRAnalytics (AppDelegate)
 
-/**
- * Handles events related to a URL session that are waiting to be processed.
- *
- * For optimal use of Firebase Analytics, call this method from the
- * [UIApplicationDelegate application:handleEventsForBackgroundURLSession:completionHandler]
- * method of the app delegate in your app.
- *
- * @param identifier The identifier of the URL session requiring attention.
- * @param completionHandler The completion handler to call when you finish processing the events.
- *     Calling this completion handler lets the system know that your app's user interface is
- *     updated and a new snapshot can be taken.
- */
+/// Handles events related to a URL session that are waiting to be processed.
+///
+/// 1. If SwiftUI lifecycle is adopted, call this method from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// 2. If SwiftUI lifecycle is not adopted, Firebase Analytics does not require delegation
+/// implementation from the AppDelegate. If you choose instead to delegate manually, you can set
+/// FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this method
+/// from
+/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
+/// in your app delegate.
+///
+/// @param identifier The identifier of the URL session requiring attention.
+/// @param completionHandler The completion handler to call when you finish processing the events.
+///     Calling this completion handler lets the system know that your app's user interface is
+///     updated and a new snapshot can be taken.
 + (void)handleEventsForBackgroundURLSession:(NSString *)identifier
                           completionHandler:(nullable void (^)(void))completionHandler;
 
-/**
- * Handles the event when the app is launched by a URL.
- *
- * Call this method from [UIApplicationDelegate application:openURL:options:] &#40;on iOS 9.0 and
- * above&#41;, or [UIApplicationDelegate application:openURL:sourceApplication:annotation:] &#40;on
- * iOS 8.x and below&#41; in your app.
- *
- * @param url The URL resource to open. This resource can be a network resource or a file.
- */
+/// Handles the event when the app is launched by a URL (custom URL scheme or universal link).
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// this method in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and
+/// `UISceneDelegate.scene(_:openURLContexts:)` when the URL contexts are available.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplicationDelegate.application(_:open:options:)` in your app delegate.
+///
+/// @param url The URL resource to open. This resource can be a network resource or a file.
 + (void)handleOpenURL:(NSURL *)url;
 
-/**
- * Handles the event when the app receives data associated with user activity that includes a
- * Universal Link (on iOS 9.0 and above).
- *
- * Call this method from [UIApplication continueUserActivity:restorationHandler:] in your app
- * delegate (on iOS 9.0 and above).
- *
- * @param userActivity The activity object containing the data associated with the task the user
- *     was performing.
- */
+/// Handles the event when the app receives data associated with user activity that includes a
+/// Universal Link.
+///
+/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
+/// `Analytics.handleOpen(_:)` instead in the handler.
+///
+/// 2. If UIScene lifecycle is adopted, call this method from
+/// `UISceneDelegate.scene(_:willConnectTo:options:)` and `UISceneDelegate.scene(_:continue:)` when
+/// NSUserActivity is available. See the [Apple
+/// doc](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) for
+/// more details.
+///
+/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
+/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
+/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
+/// method from `UIApplication.application(_:continue:restorationHandler:)` in your app delegate.
+///
+/// @param userActivity The activity object containing the data associated with the task the user
+///     was performing.
 + (void)handleUserActivity:(id)userActivity;
 
 @end
 
 NS_ASSUME_NONNULL_END
-
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
index 686a386..7f89831 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
@@ -23,7 +23,7 @@
 /// device. Use the consent settings to specify individual consent type values. Settings are
 /// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
 ///
-/// @param consentSettings An NSDictionary of consent types. Supported consent type keys are
+/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
 ///   `ConsentType.adStorage` and `ConsentType.analyticsStorage`. Valid values are
 ///   `ConsentStatus.granted` and `ConsentStatus.denied`.
 + (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
new file mode 100644
index 0000000..1d9a438
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+OnDevice.h
@@ -0,0 +1,19 @@
+#import <Foundation/Foundation.h>
+
+#import "FIRAnalytics.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
+@interface FIRAnalytics (OnDevice)
+
+/// Initiates on-device conversion measurement given a user email address. Requires dependency
+/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
+/// @param emailAddress User email address. Include a domain name for all email addresses
+///   (e.g. gmail.com or hotmail.co.jp).
++ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
+    NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
index b9de094..e7ce5dc 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
@@ -28,7 +28,6 @@
 ///     <li>ad_query</li>
 ///     <li>ad_reward</li>
 ///     <li>adunit_exposure</li>
-///     <li>app_background</li>
 ///     <li>app_clear_data</li>
 ///     <li>app_exception</li>
 ///     <li>app_remove</li>
@@ -62,12 +61,12 @@
 ///     "google_", and "ga_" prefixes are reserved and should not be used. Note that event names are
 ///     case-sensitive and that logging two events whose names differ only in case will result in
 ///     two distinct events. To manually log screen view events, use the `screen_view` event name.
-/// @param parameters The dictionary of event parameters. Passing nil indicates that the event has
+/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
 ///     no parameters. Parameter names can be up to 40 characters long and must start with an
-///     alphabetic character and contain only alphanumeric characters and underscores. Only NSString
-///     and NSNumber (signed 64-bit integer and 64-bit floating-point number) parameter types are
-///     supported. NSString parameter values can be up to 100 characters long. The "firebase_",
-///     "google_", and "ga_" prefixes are reserved and should not be used for parameter names.
+///     alphabetic character and contain only alphanumeric characters and underscores. Only String,
+///     Int, and Double parameter types are supported. String parameter values can be up to 100
+///     characters long. The "firebase_", "google_", and "ga_" prefixes are reserved and should not
+///     be used for parameter names.
 + (void)logEventWithName:(NSString *)name
               parameters:(nullable NSDictionary<NSString *, id> *)parameters
     NS_SWIFT_NAME(logEvent(_:parameters:));
@@ -83,7 +82,7 @@
 /// </ul>
 ///
 /// @param value The value of the user property. Values can be up to 36 characters long. Setting the
-///     value to nil removes the user property.
+///     value to `nil` removes the user property.
 /// @param name The name of the user property to set. Should contain 1 to 24 alphanumeric characters
 ///     or underscores and must start with an alphabetic character. The "firebase_", "google_", and
 ///     "ga_" prefixes are reserved and should not be used for user property names.
@@ -94,7 +93,7 @@
 /// <a href="https://www.google.com/policies/privacy">Google's Privacy Policy</a>
 ///
 /// @param userID The user ID to ascribe to the user of this app on this device, which must be
-///     non-empty and no more than 256 characters long. Setting userID to nil removes the user ID.
+///     non-empty and no more than 256 characters long. Setting userID to `nil` removes the user ID.
 + (void)setUserID:(nullable NSString *)userID;
 
 /// Sets whether analytics collection is enabled for this app on this device. This setting is
@@ -110,14 +109,27 @@
 ///     session terminates.
 + (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
 
-/// Returns the unique ID for this instance of the application or nil if
+/// Asynchronously retrieves the identifier of the current app session.
+///
+/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
+/// etc.
+///
+/// @param completion The completion handler to call when the session ID retrieval is complete. This
+///     handler is executed on a system-defined global concurrent queue.
+///     This completion handler takes the following parameters:
+///     <b>sessionID</b> The identifier of the current app session. The value is undefined if the
+///         request failed.
+///     <b>error</b> An error object that indicates why the request failed, or `nil` if the request
+///         was successful.
++ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
+
+/// Returns the unique ID for this instance of the application or `nil` if
 /// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
 ///
 /// @see `FIRAnalytics+Consent.h`
 + (nullable NSString *)appInstanceID;
 
 /// Clears all analytics data for this instance from the device and resets the app instance ID.
-/// FIRAnalyticsConfiguration values will be reset to the default values.
 + (void)resetAnalyticsData;
 
 /// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
@@ -129,9 +141,9 @@
 ///
 /// @param parameters Parameters to be added to the dictionary of parameters added to every event.
 ///     They will be added to the dictionary of default event parameters, replacing any existing
-///     parameter with the same name. Valid parameters are NSString and NSNumber (signed 64-bit
-///     integer and 64-bit floating-point number). Setting a key's value to [NSNull null] will clear
-///     that parameter. Passing in a nil dictionary will clear all parameters.
+///     parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
+///     value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
+///     parameters.
 + (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
 
 /// Unavailable.
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h
index a362afd..1e69a44 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h
@@ -12,60 +12,76 @@
 
 #import <Foundation/Foundation.h>
 
-/// Add Payment Info event. This event signifies that a user has submitted their payment
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
+/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterPaymentType (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdSource (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
+    @"ad_impression";
+
+/// Add Payment Info event. This event signifies that a user has submitted their payment
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
     @"add_payment_info";
 
+/// Add Shipping Info event. This event signifies that a user has submitted their shipping
+/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
+    @"add_shipping_info";
+
 /// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
-/// purchase. Add this event to a funnel with @c kFIREventPurchase to gauge the effectiveness of
-/// your checkout process. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
+/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
+/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"add_to_cart";
 
 /// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist. Use
-/// this event to identify popular gift items. Note: If you supply the @c kFIRParameterValue
-/// parameter, you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics
-/// can be computed accurately. Params:
+/// this event to identify popular gift items. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
     @"add_to_wishlist";
-
-/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
-/// the @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter
-/// so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAdPlatform (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdFormat (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdSource (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdUnitName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
-    @"ad_impression";
 
 /// App Open event. By logging this event when an App becomes active, developers can understand how
 /// often users leave and return during the course of a Session. Although Sessions are automatically
@@ -74,95 +90,59 @@
 static NSString *const kFIREventAppOpen NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"app_open";
 
 /// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
-/// checking out. Add this event to a funnel with your @c kFIREventPurchase event to gauge the
-/// effectiveness of your checkout process. Note: If you supply the @c kFIRParameterValue parameter,
-/// you must also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be
-/// computed accurately. Params:
+/// checking out. Add this event to a funnel with your @c AnalyticsEventPurchase event to gauge the
+/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
+/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
     @"begin_checkout";
 
 /// Campaign Detail event. Log this event to supply the referral details of a re-engagement
-/// campaign. Note: you must supply at least one of the required parameters kFIRParameterSource,
-/// kFIRParameterMedium or kFIRParameterCampaign. Params:
+/// campaign. Note: you must supply at least one of the required parameters
+/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSource (NSString)</li>
-///     <li>@c kFIRParameterMedium (NSString)</li>
-///     <li>@c kFIRParameterCampaign (NSString)</li>
-///     <li>@c kFIRParameterTerm (NSString) (optional)</li>
-///     <li>@c kFIRParameterContent (NSString) (optional)</li>
-///     <li>@c kFIRParameterAdNetworkClickID (NSString) (optional)</li>
-///     <li>@c kFIRParameterCP1 (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterSource (String)</li>
+///     <li>@c AnalyticsParameterMedium (String)</li>
+///     <li>@c AnalyticsParameterCampaign (String)</li>
+///     <li>@c AnalyticsParameterTerm (String) (optional)</li>
+///     <li>@c AnalyticsParameterContent (String) (optional)</li>
+///     <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCP1 (String) (optional)</li>
+///     <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
+///     <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
+///     <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
     @"campaign_details";
 
-/// Checkout progress. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString) (optional)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventCheckoutProgress NS_SWIFT_NAME(AnalyticsEventCheckoutProgress) =
-    @"checkout_progress";
-
 /// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
-/// this along with @c kFIREventSpendVirtualCurrency to better understand your virtual economy.
+/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
 /// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
 /// </ul>
 static NSString *const kFIREventEarnVirtualCurrency
     NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
 
-/// E-Commerce Purchase event. This event signifies that an item was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also
-/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterLocation (NSString) (optional)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
-/// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventPurchase constant instead.</b>
-static NSString *const kFIREventEcommercePurchase NS_SWIFT_NAME(AnalyticsEventEcommercePurchase) =
-    @"ecommerce_purchase";
-
 /// Generate Lead event. Log this event when a lead has been generated in the app to understand the
 /// efficacy of your install and re-engagement campaigns. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
 /// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
     @"generate_lead";
@@ -171,22 +151,22 @@
 /// this event to analyze how popular certain groups or social features are in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterGroupID (NSString)</li>
+///     <li>@c AnalyticsParameterGroupID (String)</li>
 /// </ul>
 static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
 
 /// Level End event. Log this event when the user finishes a level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
-///     <li>@c kFIRParameterSuccess (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
+///     <li>@c AnalyticsParameterSuccess (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
 
 /// Level Start event. Log this event when the user starts a new level. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevelName (NSString)</li>
+///     <li>@c AnalyticsParameterLevelName (String)</li>
 /// </ul>
 static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
 
@@ -195,8 +175,8 @@
 /// are difficult to pass. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterLevel (Int)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"level_up";
 
@@ -209,54 +189,57 @@
 /// high scores with certain audiences or behaviors. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScore (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScore (Int)</li>
+///     <li>@c AnalyticsParameterLevel (Int) (optional)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
 
-/// Present Offer event. This event signifies that the app has presented a purchase offer to a user.
-/// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge
-/// your conversion process. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
+/// This is different from the in-app purchase event, which is reported automatically for App
+/// Store-based apps. Note: If you supply the @c AnalyticsParameterValue parameter, you must also
+/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
 /// accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterItemCategory (NSString)</li>
-///     <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventViewPromotion constant instead.</b>
-static NSString *const kFIREventPresentOffer NS_SWIFT_NAME(AnalyticsEventPresentOffer) =
-    @"present_offer";
+static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
 
-/// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
+/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
+/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
-/// <b>This constant has been deprecated. Use @c kFIREventRefund constant instead.</b>
-static NSString *const kFIREventPurchaseRefund NS_SWIFT_NAME(AnalyticsEventPurchaseRefund) =
-    @"purchase_refund";
+static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
-/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the @c
-/// kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
+/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
+/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
     @"remove_from_cart";
@@ -265,8 +248,8 @@
 /// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterScreenClass (NSString) (optional)</li>
-///     <li>@c kFIRParameterScreenName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
+///     <li>@c AnalyticsParameterScreenName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
 
@@ -275,18 +258,15 @@
 /// identify the most popular content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-///     <li>@c kFIRParameterStartDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterEndDate (NSString) (optional)</li>
-///     <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
-///         hotel bookings</li>
-///     <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
-///         for travel bookings</li>
-///     <li>@c kFIRParameterOrigin (NSString) (optional)</li>
-///     <li>@c kFIRParameterDestination (NSString) (optional)</li>
-///     <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+///     <li>@c AnalyticsParameterStartDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterEndDate (String) (optional)</li>
+///     <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
+///     <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
+///     <li>@c AnalyticsParameterOrigin (String) (optional)</li>
+///     <li>@c AnalyticsParameterDestination (String) (optional)</li>
+///     <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
 /// </ul>
 static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"search";
 
@@ -295,160 +275,20 @@
 /// identify popular content and categories of content in your app. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
 /// </ul>
 static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
     @"select_content";
-
-/// Set checkout option. Params:
-///
-/// <ul>
-///    <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
-///    <li>@c kFIRParameterCheckoutOption (NSString)</li>
-/// </ul>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIREventSetCheckoutOption NS_SWIFT_NAME(AnalyticsEventSetCheckoutOption) =
-    @"set_checkout_option";
-
-/// Share event. Apps with social features can log the Share event to identify the most viral
-/// content. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterContentType (NSString)</li>
-///     <li>@c kFIRParameterItemID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
-
-/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
-/// parameter signifies the method by which the user signed up. Use this event to understand the
-/// different behaviors between logged in and logged out users. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSignUpMethod (NSString)</li>
-/// </ul>
-static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
-
-/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
-/// help you identify which virtual goods are the most popular objects of purchase. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItemName (NSString)</li>
-///     <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
-///     <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
-/// </ul>
-static NSString *const kFIREventSpendVirtualCurrency
-    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
-
-/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
-/// this in a funnel with kFIREventTutorialComplete to understand how many users complete this
-/// process and move on to the full app experience.
-static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
-    @"tutorial_begin";
-
-/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
-/// process. Add this to a funnel with kFIREventTutorialBegin to gauge the completion rate of your
-/// on-boarding process.
-static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
-    @"tutorial_complete";
-
-/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
-/// game. Since achievements generally represent the breadth of a gaming experience, this event can
-/// help you understand how many users are experiencing all that your game has to offer. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAchievementID (NSString)</li>
-/// </ul>
-static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
-    @"unlock_achievement";
-
-/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
-/// parameters to contextualize the event. Use this event to discover the most popular items viewed
-/// in your app. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
-
-/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
-/// </ul>
-static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
-    @"view_item_list";
-
-/// View Search Results event. Log this event when the user has been presented with the results of a
-/// search. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterSearchTerm (NSString)</li>
-/// </ul>
-static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
-    @"view_search_results";
-
-/// Add Shipping Info event. This event signifies that a user has submitted their shipping
-/// information. Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
-/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShippingTier (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
-    @"add_shipping_info";
-
-/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
-/// This is different from the in-app purchase event, which is reported automatically for App
-/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also supply
-/// the @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
-/// Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
-
-/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
-/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency parameter so
-/// that revenue metrics can be computed accurately. Params:
-///
-/// <ul>
-///     <li>@c kFIRParameterAffiliation (NSString) (optional)</li>
-///     <li>@c kFIRParameterCoupon (NSString) (optional)</li>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
-///     <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
-/// </ul>
-static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
 
 /// Select Item event. This event signifies that an item was selected by a user from a list. Use the
 /// appropriate parameters to contextualize the event. Use this event to discover the most popular
 /// items selected. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterItemListID (NSString) (optional)</li>
-///     <li>@c kFIRParameterItemListName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
 
@@ -457,39 +297,122 @@
 /// applies. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
     @"select_promotion";
 
-/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
-/// analyze your purchase funnel. Note: If you supply the @c kFIRParameterValue parameter, you must
-/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
-/// accurately. Params:
+/// Share event. Apps with social features can log the Share event to identify the most viral
+/// content. Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCurrency (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
+/// </ul>
+static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
+
+/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
+/// parameter signifies the method by which the user signed up. Use this event to understand the
+/// different behaviors between logged in and logged out users. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterMethod (String)</li>
+/// </ul>
+static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
+
+/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
+/// help you identify which virtual goods are the most popular objects of purchase. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItemName (String)</li>
+///     <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
+///     <li>@c AnalyticsParameterValue (Int or Double)</li>
+/// </ul>
+static NSString *const kFIREventSpendVirtualCurrency
+    NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
+
+/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
+/// this in a funnel with @c AnalyticsEventTutorialComplete to understand how many users complete
+/// this process and move on to the full app experience.
+static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
+    @"tutorial_begin";
+
+/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
+/// process. Add this to a funnel with @c AnalyticsEventTutorialBegin to gauge the completion rate
+/// of your on-boarding process.
+static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
+    @"tutorial_complete";
+
+/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
+/// game. Since achievements generally represent the breadth of a gaming experience, this event can
+/// help you understand how many users are experiencing all that your game has to offer. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterAchievementID (String)</li>
+/// </ul>
+static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
+    @"unlock_achievement";
+
+/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
+/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
+/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
+/// computed accurately. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
 
-/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
-/// to a funnel with the @c kFIREventAddToCart and @c kFIREventPurchase to gauge your conversion
-/// process. Params:
+/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
+/// parameters to contextualize the event. Use this event to discover the most popular items viewed
+/// in your app. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
+/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
 ///
 /// <ul>
-///     <li>@c kFIRParameterCreativeName (NSString) (optional)</li>
-///     <li>@c kFIRParameterCreativeSlot (NSString) (optional)</li>
-///     <li>@c kFIRParameterItems (NSArray) (optional)</li>
-///     <li>@c kFIRParameterLocationID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionID (NSString) (optional)</li>
-///     <li>@c kFIRParameterPromotionName (NSString) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
+
+/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterItemListID (String) (optional)</li>
+///     <li>@c AnalyticsParameterItemListName (String) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
+    @"view_item_list";
+
+/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
+/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
+/// conversion process. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
+///     <li>@c AnalyticsParameterLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
 /// </ul>
 static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
     @"view_promotion";
+
+/// View Search Results event. Log this event when the user has been presented with the results of a
+/// search. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterSearchTerm (String)</li>
+/// </ul>
+static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
+    @"view_search_results";
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
index 8dbf4b1..b001ca5 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
@@ -12,720 +12,710 @@
 
 #import <Foundation/Foundation.h>
 
-/// Game achievement ID (NSString).
+/// Game achievement ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAchievementID : @"10_matches_won",
+///     let params = [
+///       AnalyticsParameterAchievementID : "10_matches_won",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
     @"achievement_id";
 
 /// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdFormat : @"Banner",
+///     let params = [
+///       AnalyticsParameterAdFormat : "Banner",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
     @"ad_format";
 
-/// Ad Network Click ID (NSString). Used for network-specific click IDs which vary in format.
+/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdNetworkClickID : @"1234567",
+///     let params = [
+///       AnalyticsParameterAdNetworkClickID : "1234567",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdNetworkClickID
     NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
 
-/// The ad platform (e.g. MoPub, IronSource) (NSString).
+/// The ad platform (e.g. MoPub, IronSource) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdPlatform : @"MoPub",
+///     let params = [
+///       AnalyticsParameterAdPlatform : "MoPub",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
     @"ad_platform";
 
-/// The ad source (e.g. AdColony) (NSString).
+/// The ad source (e.g. AdColony) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdSource : @"AdColony",
+///     let params = [
+///       AnalyticsParameterAdSource : "AdColony",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
     @"ad_source";
 
-/// The ad unit name (e.g. Banner_03) (NSString).
+/// The ad unit name (e.g. Banner_03) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAdUnitName : @"Banner_03",
+///     let params = [
+///       AnalyticsParameterAdUnitName : "Banner_03",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
     @"ad_unit_name";
 
 /// A product affiliation to designate a supplying company or brick and mortar store location
-/// (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterAffiliation : @"Google Store",
+/// (String). <pre>
+///     let params = [
+///       AnalyticsParameterAffiliation : "Google Store",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
     @"affiliation";
 
+/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
+/// Use varies by network.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCP1 : "custom_data",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+
 /// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
 /// capture campaign information, otherwise can be populated by developer. Highly Recommended
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCampaign : @"winter_promotion",
+///     let params = [
+///       AnalyticsParameterCampaign : "winter_promotion",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
     @"campaign";
 
-/// Character used in game (NSString).
+/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
+/// strategic campaign. This is a required key for GA4 data import.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCharacter : @"beat_boss",
+///     let params = [
+///       AnalyticsParameterCampaignID : "7877652710",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
+    @"campaign_id";
+
+/// Character used in game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCharacter : "beat_boss",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
     @"character";
 
-/// The checkout step (1..N) (unsigned 64-bit integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutStep : @"1",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutStep NS_SWIFT_NAME(AnalyticsParameterCheckoutStep) =
-    @"checkout_step";
-
-/// Some option on a step in an ecommerce flow (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCheckoutOption : @"Visa",
-///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated.</b>
-static NSString *const kFIRParameterCheckoutOption
-    NS_SWIFT_NAME(AnalyticsParameterCheckoutOption) = @"checkout_option";
-
-/// Campaign content (NSString).
+/// Campaign content (String).
 static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
 
-/// Type of content selected (NSString).
+/// Type of content selected (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterContentType : @"news article",
+///     let params = [
+///       AnalyticsParameterContentType : "news article",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
     @"content_type";
 
-/// Coupon code used for a purchase (NSString).
+/// Coupon code used for a purchase (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCoupon : @"SUMMER_FUN",
+///     let params = [
+///       AnalyticsParameterCoupon : "SUMMER_FUN",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
 
-/// Campaign custom parameter (NSString). Used as a method of capturing custom data in a campaign.
-/// Use varies by network.
+/// Creative Format (String). Used to identify the high-level classification of the type of ad
+/// served by a specific campaign.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCP1 : @"custom_data",
+///     let params = [
+///       AnalyticsParameterCreativeFormat : "display",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
+static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
+    @"creative_format";
 
-/// The name of a creative used in a promotional spot (NSString).
+/// The name of a creative used in a promotional spot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeName : @"Summer Sale",
+///     let params = [
+///       AnalyticsParameterCreativeName : "Summer Sale",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
     @"creative_name";
 
-/// The name of a creative slot (NSString).
+/// The name of a creative slot (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCreativeSlot : @"summer_banner2",
+///     let params = [
+///       AnalyticsParameterCreativeSlot : "summer_banner2",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
     @"creative_slot";
 
 /// Currency of the purchase or items associated with the event, in 3-letter
-/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (NSString).
+/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterCurrency : @"USD",
+///     let params = [
+///       AnalyticsParameterCurrency : "USD",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
     @"currency";
 
-/// Flight or Travel destination (NSString).
+/// Flight or Travel destination (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDestination : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterDestination : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
     @"destination";
 
-/// The arrival date, check-out date or rental end date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Monetary value of discount associated with a purchase (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterEndDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterDiscount : 2.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.00 USD
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
+    @"discount";
+
+/// The arrival date, check-out date or rental end date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterEndDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
 
-/// Flight number for travel events (NSString).
+/// Indicates that the associated event should either extend the current session or start a new
+/// session if no session was active when the event was logged. Specify 1 to extend the current
+/// session or to start a new session; any other value will not extend or start a session.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterFlightNumber : @"ZZ800",
+///     let params = [
+///       AnalyticsParameterExtendSession : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
+    @"extend_session";
+
+/// Flight number for travel events (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterFlightNumber : "ZZ800",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
     @"flight_number";
 
-/// Group/clan/guild ID (NSString).
+/// Group/clan/guild ID (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterGroupID : @"g1",
+///     let params = [
+///       AnalyticsParameterGroupID : "g1",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
 
-/// The index of the item in a list (signed 64-bit integer as NSNumber).
+/// The index of the item in a list (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterIndex : @(5),
+///     let params = [
+///       AnalyticsParameterIndex : 5,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
 
-/// Item brand (NSString).
+/// Item brand (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemBrand : @"Google",
+///     let params = [
+///       AnalyticsParameterItemBrand : "Google",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
     @"item_brand";
 
-/// Item category (context-specific) (NSString).
+/// Item category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory : @"pants",
+///     let params = [
+///       AnalyticsParameterItemCategory : "pants",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
     @"item_category";
 
-/// Item ID (context-specific) (NSString).
+/// Item Category (context-specific) (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemID : @"SKU_12345",
+///     let params = [
+///       AnalyticsParameterItemCategory2 : "pants",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
+    @"item_category2";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory3 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
+    @"item_category3";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory4 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
+    @"item_category4";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory5 : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
+    @"item_category5";
+
+/// Item ID (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemID : "SKU_12345",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
 
-/// The Google <a href="https://developers.google.com/places/place-id">Place ID</a> (NSString) that
-/// corresponds to the associated item. Alternatively, you can supply your own custom Location ID.
+/// The ID of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterItemListID : "ABC123",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterLocationID constant instead.</b>
-static NSString *const kFIRParameterItemLocationID
-    NS_SWIFT_NAME(AnalyticsParameterItemLocationID) = @"item_location_id";
+static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
+    @"item_list_id";
 
-/// Item Name (context-specific) (NSString).
+/// The name of the list in which the item was presented to the user (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemName : @"jeggings",
+///     let params = [
+///       AnalyticsParameterItemListName : "Related products",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
+    @"item_list_name";
+
+/// Item Name (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemName : "jeggings",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
     @"item_name";
 
-/// The list in which the item was presented to the user (NSString).
+/// Item variant (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemList : @"Search Results",
+///     let params = [
+///       AnalyticsParameterItemVariant : "Black",
 ///       // ...
-///     };
-/// </pre>
-/// <b>This constant has been deprecated. Use @c kFIRParameterItemListName constant instead.</b>
-static NSString *const kFIRParameterItemList NS_SWIFT_NAME(AnalyticsParameterItemList) =
-    @"item_list";
-
-/// Item variant (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemVariant : @"Black",
-///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
     @"item_variant";
 
-/// Level in game (signed 64-bit integer as NSNumber).
+/// The list of items involved in the transaction expressed as `[[String: Any]]`.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevel : @(42),
+///     let params = [
+///       AnalyticsParameterItems : [
+///         [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
+///         [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
+///       ],
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
+
+/// Level in game (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevel : 42,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
 
-/// Location (NSString). The Google <a href="https://developers.google.com/places/place-id">Place ID
+/// The name of a level in a game (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterLevelName : "room_1",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
+    @"level_name";
+
+/// Location (String). The Google <a href="https://developers.google.com/places/place-id">Place ID
 /// </a> that corresponds to the associated event. Alternatively, you can supply your own custom
 /// Location ID.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocation : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///     let params = [
+///       AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
     @"location";
 
-/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
-/// (NSString).
+/// The location associated with the event. Preferred to be the Google
+/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
+/// associated item but could be overridden to a custom location ID string.(String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMedium : @"email",
+///     let params = [
+///       AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
+    @"location_id";
+
+/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
+/// campaign.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMarketingTactic : "Remarketing",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMarketingTactic
+    NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
+
+/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
+/// (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterMedium : "email",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
 
-/// Number of nights staying at hotel (signed 64-bit integer as NSNumber).
+/// A particular approach used in an operation; for example, "facebook" or "email" in the context
+/// of a sign_up or login event. (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfNights : @(3),
+///     let params = [
+///       AnalyticsParameterMethod : "google",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+
+/// Number of nights staying at hotel (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterNumberOfNights : 3,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfNights
     NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
 
-/// Number of passengers traveling (signed 64-bit integer as NSNumber).
+/// Number of passengers traveling (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfPassengers : @(11),
+///     let params = [
+///       AnalyticsParameterNumberOfPassengers : 11,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfPassengers
     NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
 
-/// Number of rooms for travel events (signed 64-bit integer as NSNumber).
+/// Number of rooms for travel events (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterNumberOfRooms : @(2),
+///     let params = [
+///       AnalyticsParameterNumberOfRooms : 2,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
     @"number_of_rooms";
 
-/// Flight or Travel origin (NSString).
+/// Flight or Travel origin (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterOrigin : @"Mountain View, CA",
+///     let params = [
+///       AnalyticsParameterOrigin : "Mountain View, CA",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
 
-/// Purchase price (double as NSNumber).
+/// The chosen method of payment (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPrice : @(1.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $1.00 USD
+///     let params = [
+///       AnalyticsParameterPaymentType : "Visa",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
+    @"payment_type";
+
+/// Purchase price (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPrice : 1.0,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $1.00 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
 
-/// Purchase quantity (signed 64-bit integer as NSNumber).
+/// The ID of a product promotion (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterQuantity : @(1),
+///     let params = [
+///       AnalyticsParameterPromotionID : "ABC123",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
+    @"promotion_id";
+
+/// The name of a product promotion (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterPromotionName : "Summer Sale",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
+    @"promotion_name";
+
+/// Purchase quantity (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterQuantity : 1,
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
     @"quantity";
 
-/// Score in game (signed 64-bit integer as NSNumber).
+/// Score in game (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScore : @(4200),
+///     let params = [
+///       AnalyticsParameterScore : 4200,
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
 
 /// Current screen class, such as the class name of the UIViewController, logged with screen_view
-/// event and added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenClass : @"LoginViewController",
+/// event and added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenClass : "LoginViewController",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
     @"screen_class";
 
 /// Current screen name, such as the name of the UIViewController, logged with screen_view event and
-/// added to every event (NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterScreenName : @"LoginView",
+/// added to every event (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenName : "LoginView",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
     @"screen_name";
 
-/// The search string/keywords used (NSString).
+/// The search string/keywords used (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSearchTerm : @"periodic table",
+///     let params = [
+///       AnalyticsParameterSearchTerm : "periodic table",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
     @"search_term";
 
-/// Shipping cost associated with a transaction (double as NSNumber).
+/// Shipping cost associated with a transaction (Double).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShipping : @(5.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $5.99 USD
+///     let params = [
+///       AnalyticsParameterShipping : 5.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $5.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
     @"shipping";
 
-/// Sign up method (NSString).
+/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSignUpMethod : @"google",
+///     let params = [
+///       AnalyticsParameterShippingTier : "Ground",
 ///       // ...
-///     };
+///     ]
 /// </pre>
-///
-/// <b>This constant has been deprecated. Use Method constant instead.</b>
-static NSString *const kFIRParameterSignUpMethod NS_SWIFT_NAME(AnalyticsParameterSignUpMethod) =
-    @"sign_up_method";
-
-/// A particular approach used in an operation; for example, "facebook" or "email" in the context
-/// of a sign_up or login event.  (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterMethod : @"google",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
+static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
+    @"shipping_tier";
 
 /// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
 /// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
-/// property. Highly recommended (NSString).
+/// property. Highly recommended (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSource : @"InMobi",
+///     let params = [
+///       AnalyticsParameterSource : "InMobi",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
 
-/// The departure date, check-in date or rental start date for the item. This should be in
-/// YYYY-MM-DD format (NSString).
+/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
+/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
+/// set, a platform for managing organic traffic data, etc.).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterStartDate : @"2015-09-14",
+///     let params = [
+///       AnalyticsParameterSourcePlatform : "sa360",
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
+    @"source_platform";
+
+/// The departure date, check-in date or rental start date for the item. This should be in
+/// YYYY-MM-DD format (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterStartDate : "2015-09-14",
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
     @"start_date";
 
-/// Tax cost associated with a transaction (double as NSNumber).
+/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTax : @(2.43),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.43 USD
+///     let params = [
+///       AnalyticsParameterSuccess : 1,
 ///       // ...
-///     };
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
+
+/// Tax cost associated with a transaction (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterTax : 2.43,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $2.43 USD
+///       // ...
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
 
 /// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
-/// (NSString).
+/// (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTerm : @"game",
+///     let params = [
+///       AnalyticsParameterTerm : "game",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
 
-/// The unique identifier of a transaction (NSString).
+/// The unique identifier of a transaction (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTransactionID : @"T12345",
+///     let params = [
+///       AnalyticsParameterTransactionID : "T12345",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
     @"transaction_id";
 
-/// Travel class (NSString).
+/// Travel class (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterTravelClass : @"business",
+///     let params = [
+///       AnalyticsParameterTravelClass : "business",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
     @"travel_class";
 
 /// A context-specific numeric value which is accumulated automatically for each event type. This is
 /// a general purpose parameter that is useful for accumulating a key metric that pertains to an
-/// event. Examples include revenue, distance, time and points. Value should be specified as signed
-/// 64-bit integer or double as NSNumber. Notes: Values for pre-defined currency-related events
-/// (such as @c kFIREventAddToCart) should be supplied using double as NSNumber and must be
-/// accompanied by a @c kFIRParameterCurrency parameter. The valid range of accumulated values is
+/// event. Examples include revenue, distance, time and points. Value should be specified as Int or
+/// Double.
+/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
+/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
+/// parameter. The valid range of accumulated values is
 /// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
-/// corresponding @c kFIRParameterCurrency parameter, or supplying an invalid
+/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
 /// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
 /// conversion to be omitted from reporting.
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterValue : @(3.99),
-///       kFIRParameterCurrency : @"USD",  // e.g. $3.99 USD
+///     let params = [
+///       AnalyticsParameterValue : 3.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $3.99 USD
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
 
-/// Name of virtual currency type (NSString).
+/// Name of virtual currency type (String).
 /// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterVirtualCurrencyName : @"virtual_currency_name",
+///     let params = [
+///       AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
 ///       // ...
-///     };
+///     ]
 /// </pre>
 static NSString *const kFIRParameterVirtualCurrencyName
     NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";
-
-/// The name of a level in a game (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLevelName : @"room_1",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
-    @"level_name";
-
-/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (unsigned
-/// integer as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterSuccess : @(1),
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
-
-/// Indicates that the associated event should either extend the current session
-/// or start a new session if no session was active when the event was logged.
-/// Specify YES to extend the current session or to start a new session; any
-/// other value will not extend or start a session.
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterExtendSession : @YES,
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
-    @"extend_session";
-
-/// Monetary value of discount associated with a purchase (double as NSNumber).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterDiscount : @(2.0),
-///       kFIRParameterCurrency : @"USD",  // e.g. $2.00 USD
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
-    @"discount";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory2 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
-    @"item_category2";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory3 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
-    @"item_category3";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory4 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
-    @"item_category4";
-
-/// Item Category (context-specific) (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemCategory5 : @"pants",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
-    @"item_category5";
-
-/// The ID of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
-    @"item_list_id";
-
-/// The name of the list in which the item was presented to the user (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItemListName : @"Related products",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
-    @"item_list_name";
-
-/// The list of items involved in the transaction. (NSArray).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterItems : @[
-///         @{kFIRParameterItemName : @"jeggings", kFIRParameterItemCategory : @"pants"},
-///         @{kFIRParameterItemName : @"boots", kFIRParameterItemCategory : @"shoes"},
-///       ],
-///     };
-/// </pre>
-static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
-
-/// The location associated with the event. Preferred to be the Google
-/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
-/// associated item but could be overridden to a custom location ID string.(NSString). <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
-    @"location_id";
-
-/// The chosen method of payment (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPaymentType : @"Visa",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
-    @"payment_type";
-
-/// The ID of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionID : @"ABC123",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
-    @"promotion_id";
-
-/// The name of a product promotion (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterPromotionName : @"Summer Sale",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
-    @"promotion_name";
-
-/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
-/// (NSString).
-/// <pre>
-///     NSDictionary *params = @{
-///       kFIRParameterShippingTier : @"Ground",
-///       // ...
-///     };
-/// </pre>
-static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
-    @"shipping_tier";
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
index 132aef7..2442d8a 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
@@ -12,18 +12,17 @@
 
 #import <Foundation/Foundation.h>
 
-/// The method used to sign in. For example, "google", "facebook" or "twitter".
-static NSString *const kFIRUserPropertySignUpMethod
-    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
-
 /// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
 /// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
 /// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
 /// more details and information about related settings.
 ///
 /// <pre>
-///     [FIRAnalytics setUserPropertyString:@"NO"
-///                                 forName:kFIRUserPropertyAllowAdPersonalizationSignals];
+///     Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
 /// </pre>
 static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
     NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
+
+/// The method used to sign in. For example, "google", "facebook" or "twitter".
+static NSString *const kFIRUserPropertySignUpMethod
+    NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
new file mode 100644
index 0000000..ad84fbb
--- /dev/null
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics-umbrella.h
@@ -0,0 +1,24 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRAnalytics+AppDelegate.h"
+#import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
+#import "FIRAnalytics.h"
+#import "FirebaseAnalytics.h"
+#import "FIREventNames.h"
+#import "FIRParameterNames.h"
+#import "FIRUserPropertyNames.h"
+
+FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];
+
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
index 368f79c..351da20 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
@@ -1,5 +1,6 @@
 #import "FIRAnalytics+AppDelegate.h"
 #import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics+OnDevice.h"
 #import "FIRAnalytics.h"
 #import "FIREventNames.h"
 #import "FIRParameterNames.h"
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Info.plist b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Info.plist
index b659341..c011a90 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Info.plist
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap
index b4b1bb6..37eb24b 100644
--- a/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap
@@ -1,5 +1,5 @@
 framework module FirebaseAnalytics {
-umbrella header "FirebaseAnalytics.h"
+umbrella header "FirebaseAnalytics-umbrella.h"
 export *
 module * { export * }
   link framework "Foundation"
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/Info.plist b/frameworks/FirebaseAnalyticsSwift.xcframework/Info.plist
new file mode 100644
index 0000000..5170e56
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/Info.plist
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AvailableLibraries</key>
+	<array>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64</string>
+			<key>LibraryPath</key>
+			<string>FirebaseAnalyticsSwift.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>macos-arm64_x86_64</string>
+			<key>LibraryPath</key>
+			<string>FirebaseAnalyticsSwift.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>macos</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>FirebaseAnalyticsSwift.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-maccatalyst</string>
+			<key>LibraryPath</key>
+			<string>FirebaseAnalyticsSwift.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>maccatalyst</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>tvos-arm64</string>
+			<key>LibraryPath</key>
+			<string>FirebaseAnalyticsSwift.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>tvos</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>tvos-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>FirebaseAnalyticsSwift.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>tvos</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+	</array>
+	<key>CFBundlePackageType</key>
+	<string>XFWK</string>
+	<key>XCFrameworkFormatVersion</key>
+	<string>1.0</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
new file mode 100644
index 0000000..c82baa5
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
new file mode 100644
index 0000000..f0a76d4
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
@@ -0,0 +1,219 @@
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASEANALYTICSSWIFT_SWIFT_H
+#define FIREBASEANALYTICSSWIFT_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalyticsSwift",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
new file mode 100644
index 0000000..b51fc15
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseAnalyticsSwiftVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsSwiftVersionString[];
+
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Info.plist b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Info.plist
new file mode 100644
index 0000000..54ce2a1
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseAnalyticsSwift</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
new file mode 100644
index 0000000..dc0274c
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios.swiftdoc b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios.swiftdoc
new file mode 100644
index 0000000..31fdb30
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios.swiftinterface b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios.swiftinterface
new file mode 100644
index 0000000..15ef857
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios.swiftinterface
@@ -0,0 +1,14 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalyticsSwift
+import FirebaseAnalytics
+@_exported import FirebaseAnalyticsSwift
+import Swift
+import SwiftUI
+import _Concurrency
+@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
+@available(watchOS, unavailable)
+extension SwiftUI.View {
+  public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
+  
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
new file mode 100644
index 0000000..f0c1077
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseAnalyticsSwift {
+  umbrella header "FirebaseAnalyticsSwift-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseAnalyticsSwift.Swift {
+    header "FirebaseAnalyticsSwift-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
new file mode 100644
index 0000000..a34ab9e
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
new file mode 100644
index 0000000..f0a76d4
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
@@ -0,0 +1,219 @@
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASEANALYTICSSWIFT_SWIFT_H
+#define FIREBASEANALYTICSSWIFT_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalyticsSwift",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
new file mode 100644
index 0000000..b51fc15
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseAnalyticsSwiftVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsSwiftVersionString[];
+
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Info.plist b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Info.plist
new file mode 100644
index 0000000..54ce2a1
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseAnalyticsSwift</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios-macabi.swiftsourceinfo b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios-macabi.swiftsourceinfo
new file mode 100644
index 0000000..2ade63f
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios-macabi.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-ios-macabi.swiftsourceinfo b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-ios-macabi.swiftsourceinfo
new file mode 100644
index 0000000..a76be33
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-ios-macabi.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-macabi.swiftdoc b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-macabi.swiftdoc
new file mode 100644
index 0000000..0deb1fa
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-macabi.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-macabi.swiftinterface b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-macabi.swiftinterface
new file mode 100644
index 0000000..c6935cc
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-macabi.swiftinterface
@@ -0,0 +1,14 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-ios13.1-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalyticsSwift
+import FirebaseAnalytics
+@_exported import FirebaseAnalyticsSwift
+import Swift
+import SwiftUI
+import _Concurrency
+@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
+@available(watchOS, unavailable)
+extension SwiftUI.View {
+  public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
+  
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-macabi.swiftdoc b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-macabi.swiftdoc
new file mode 100644
index 0000000..65d3af7
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-macabi.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-macabi.swiftinterface b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-macabi.swiftinterface
new file mode 100644
index 0000000..e97e8be
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-macabi.swiftinterface
@@ -0,0 +1,14 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target x86_64-apple-ios13.1-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalyticsSwift
+import FirebaseAnalytics
+@_exported import FirebaseAnalyticsSwift
+import Swift
+import SwiftUI
+import _Concurrency
+@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
+@available(watchOS, unavailable)
+extension SwiftUI.View {
+  public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
+  
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/module.modulemap b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
new file mode 100644
index 0000000..f0c1077
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseAnalyticsSwift {
+  umbrella header "FirebaseAnalyticsSwift-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseAnalyticsSwift.Swift {
+    header "FirebaseAnalyticsSwift-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
new file mode 100644
index 0000000..4630c31
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
new file mode 100644
index 0000000..f0a76d4
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
@@ -0,0 +1,219 @@
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASEANALYTICSSWIFT_SWIFT_H
+#define FIREBASEANALYTICSSWIFT_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalyticsSwift",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
new file mode 100644
index 0000000..b51fc15
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseAnalyticsSwiftVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsSwiftVersionString[];
+
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Info.plist b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Info.plist
new file mode 100644
index 0000000..54ce2a1
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseAnalyticsSwift</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
new file mode 100644
index 0000000..ea4359d
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
new file mode 100644
index 0000000..b7465f9
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-simulator.swiftdoc
new file mode 100644
index 0000000..f4ada2d
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-simulator.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-simulator.swiftinterface
new file mode 100644
index 0000000..6967953
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-ios-simulator.swiftinterface
@@ -0,0 +1,14 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalyticsSwift
+import FirebaseAnalytics
+@_exported import FirebaseAnalyticsSwift
+import Swift
+import SwiftUI
+import _Concurrency
+@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
+@available(watchOS, unavailable)
+extension SwiftUI.View {
+  public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
+  
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
new file mode 100644
index 0000000..6b017b5
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
new file mode 100644
index 0000000..92e027b
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
@@ -0,0 +1,14 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target x86_64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalyticsSwift
+import FirebaseAnalytics
+@_exported import FirebaseAnalyticsSwift
+import Swift
+import SwiftUI
+import _Concurrency
+@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
+@available(watchOS, unavailable)
+extension SwiftUI.View {
+  public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
+  
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/module.modulemap b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
new file mode 100644
index 0000000..f0c1077
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/ios-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseAnalyticsSwift {
+  umbrella header "FirebaseAnalyticsSwift-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseAnalyticsSwift.Swift {
+    header "FirebaseAnalyticsSwift-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
new file mode 100644
index 0000000..58476a0
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
new file mode 100644
index 0000000..29a347c
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
@@ -0,0 +1,444 @@
+#if 0
+#elif defined(__arm64__) && __arm64__
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASEANALYTICSSWIFT_SWIFT_H
+#define FIREBASEANALYTICSSWIFT_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalyticsSwift",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#elif defined(__x86_64__) && __x86_64__
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASEANALYTICSSWIFT_SWIFT_H
+#define FIREBASEANALYTICSSWIFT_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalyticsSwift",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#endif
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
new file mode 100644
index 0000000..0a96601
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <Cocoa/Cocoa.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseAnalyticsSwiftVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsSwiftVersionString[];
+
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Info.plist b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Info.plist
new file mode 100644
index 0000000..54ce2a1
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseAnalyticsSwift</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo
new file mode 100644
index 0000000..70041ea
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo
new file mode 100644
index 0000000..605be91
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-macos.swiftdoc b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-macos.swiftdoc
new file mode 100644
index 0000000..9d476eb
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-macos.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-macos.swiftinterface b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-macos.swiftinterface
new file mode 100644
index 0000000..dda07bb
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-macos.swiftinterface
@@ -0,0 +1,14 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-macos10.15 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalyticsSwift
+import FirebaseAnalytics
+@_exported import FirebaseAnalyticsSwift
+import Swift
+import SwiftUI
+import _Concurrency
+@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
+@available(watchOS, unavailable)
+extension SwiftUI.View {
+  public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
+  
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-macos.swiftdoc b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-macos.swiftdoc
new file mode 100644
index 0000000..b53a4a4
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-macos.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-macos.swiftinterface b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-macos.swiftinterface
new file mode 100644
index 0000000..fc43033
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-macos.swiftinterface
@@ -0,0 +1,14 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target x86_64-apple-macos10.15 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalyticsSwift
+import FirebaseAnalytics
+@_exported import FirebaseAnalyticsSwift
+import Swift
+import SwiftUI
+import _Concurrency
+@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
+@available(watchOS, unavailable)
+extension SwiftUI.View {
+  public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
+  
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
new file mode 100644
index 0000000..f0c1077
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/macos-arm64_x86_64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseAnalyticsSwift {
+  umbrella header "FirebaseAnalyticsSwift-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseAnalyticsSwift.Swift {
+    header "FirebaseAnalyticsSwift-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
new file mode 100644
index 0000000..9fcb7a3
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
new file mode 100644
index 0000000..f0a76d4
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
@@ -0,0 +1,219 @@
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASEANALYTICSSWIFT_SWIFT_H
+#define FIREBASEANALYTICSSWIFT_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalyticsSwift",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
new file mode 100644
index 0000000..b51fc15
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseAnalyticsSwiftVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsSwiftVersionString[];
+
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Info.plist b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Info.plist
new file mode 100644
index 0000000..54ce2a1
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseAnalyticsSwift</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo
new file mode 100644
index 0000000..93e6c17
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos.swiftdoc b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos.swiftdoc
new file mode 100644
index 0000000..a3c0646
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos.swiftinterface b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos.swiftinterface
new file mode 100644
index 0000000..8642184
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos.swiftinterface
@@ -0,0 +1,14 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-tvos13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalyticsSwift
+import FirebaseAnalytics
+@_exported import FirebaseAnalyticsSwift
+import Swift
+import SwiftUI
+import _Concurrency
+@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
+@available(watchOS, unavailable)
+extension SwiftUI.View {
+  public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
+  
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
new file mode 100644
index 0000000..f0c1077
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseAnalyticsSwift {
+  umbrella header "FirebaseAnalyticsSwift-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseAnalyticsSwift.Swift {
+    header "FirebaseAnalyticsSwift-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
new file mode 100644
index 0000000..0da7ac9
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/FirebaseAnalyticsSwift
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
new file mode 100644
index 0000000..f0a76d4
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-Swift.h
@@ -0,0 +1,219 @@
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASEANALYTICSSWIFT_SWIFT_H
+#define FIREBASEANALYTICSSWIFT_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalyticsSwift",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
new file mode 100644
index 0000000..b51fc15
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Headers/FirebaseAnalyticsSwift-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseAnalyticsSwiftVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsSwiftVersionString[];
+
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Info.plist b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Info.plist
new file mode 100644
index 0000000..54ce2a1
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseAnalyticsSwift</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseAnalyticsSwift</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo
new file mode 100644
index 0000000..058dd8c
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo
new file mode 100644
index 0000000..67c5a1d
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos-simulator.swiftdoc b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos-simulator.swiftdoc
new file mode 100644
index 0000000..19c98af
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos-simulator.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos-simulator.swiftinterface b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos-simulator.swiftinterface
new file mode 100644
index 0000000..279fb85
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/arm64-apple-tvos-simulator.swiftinterface
@@ -0,0 +1,14 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-tvos13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalyticsSwift
+import FirebaseAnalytics
+@_exported import FirebaseAnalyticsSwift
+import Swift
+import SwiftUI
+import _Concurrency
+@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
+@available(watchOS, unavailable)
+extension SwiftUI.View {
+  public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
+  
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc
new file mode 100644
index 0000000..c2ab909
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface
new file mode 100644
index 0000000..7389497
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/FirebaseAnalyticsSwift.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface
@@ -0,0 +1,14 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target x86_64-apple-tvos13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalyticsSwift
+import FirebaseAnalytics
+@_exported import FirebaseAnalyticsSwift
+import Swift
+import SwiftUI
+import _Concurrency
+@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
+@available(watchOS, unavailable)
+extension SwiftUI.View {
+  public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
+  
+}
diff --git a/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/module.modulemap b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
new file mode 100644
index 0000000..f0c1077
--- /dev/null
+++ b/frameworks/FirebaseAnalyticsSwift.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalyticsSwift.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseAnalyticsSwift {
+  umbrella header "FirebaseAnalyticsSwift-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseAnalyticsSwift.Swift {
+    header "FirebaseAnalyticsSwift-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseCore.xcframework/Info.plist b/frameworks/FirebaseCore.xcframework/Info.plist
index d441f86..dbdec24 100644
--- a/frameworks/FirebaseCore.xcframework/Info.plist
+++ b/frameworks/FirebaseCore.xcframework/Info.plist
@@ -6,63 +6,6 @@
 	<array>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>macos-arm64_x86_64</string>
-			<key>LibraryPath</key>
-			<string>FirebaseCore.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>macos</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_x86_64-maccatalyst</string>
-			<key>LibraryPath</key>
-			<string>FirebaseCore.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>maccatalyst</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_i386_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>FirebaseCore.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>i386</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_armv7</string>
-			<key>LibraryPath</key>
-			<string>FirebaseCore.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>armv7</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
 			<string>tvos-arm64</string>
 			<key>LibraryPath</key>
 			<string>FirebaseCore.framework</string>
@@ -88,6 +31,61 @@
 			<key>SupportedPlatformVariant</key>
 			<string>simulator</string>
 		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>FirebaseCore.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-maccatalyst</string>
+			<key>LibraryPath</key>
+			<string>FirebaseCore.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>maccatalyst</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>macos-arm64_x86_64</string>
+			<key>LibraryPath</key>
+			<string>FirebaseCore.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>macos</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64</string>
+			<key>LibraryPath</key>
+			<string>FirebaseCore.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
 	</array>
 	<key>CFBundlePackageType</key>
 	<string>XFWK</string>
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/FirebaseCore b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/FirebaseCore
new file mode 100644
index 0000000..96435d6
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/FirebaseCore
Binary files differ
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRApp.h b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRApp.h
new file mode 100644
index 0000000..58ef2a6
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRApp.h
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class FIROptions;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** A block that takes a BOOL and has no return value. */
+typedef void (^FIRAppVoidBoolCallback)(BOOL success)
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
+
+/**
+ * The entry point of Firebase SDKs.
+ *
+ * Initialize and configure `FirebaseApp` using `FirebaseApp.configure()`
+ * or other customized ways as shown below.
+ *
+ * The logging system has two modes: default mode and debug mode. In default mode, only logs with
+ * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
+ * to device. The log levels that Firebase uses are consistent with the ASL log levels.
+ *
+ * Enable debug mode by passing the `-FIRDebugEnabled` argument to the application. You can add this
+ * argument in the application's Xcode scheme. When debug mode is enabled via `-FIRDebugEnabled`,
+ * further executions of the application will also be in debug mode. In order to return to default
+ * mode, you must explicitly disable the debug mode with the application argument
+ * `-FIRDebugDisabled`.
+ *
+ * It is also possible to change the default logging level in code by calling
+ * `FirebaseConfiguration.shared.setLoggerLevel(_:)` with the desired level.
+ */
+NS_SWIFT_NAME(FirebaseApp)
+@interface FIRApp : NSObject
+
+/**
+ * Configures a default Firebase app. Raises an exception if any configuration step fails. The
+ * default app is named "__FIRAPP_DEFAULT". This method should be called after the app is launched
+ * and before using Firebase services. This method should be called from the main thread and
+ * contains synchronous file I/O (reading GoogleService-Info.plist from disk).
+ */
++ (void)configure;
+
+/**
+ * Configures the default Firebase app with the provided options. The default app is named
+ * "__FIRAPP_DEFAULT". Raises an exception if any configuration step fails. This method should be
+ * called from the main thread.
+ *
+ * @param options The Firebase application options used to configure the service.
+ */
++ (void)configureWithOptions:(FIROptions *)options NS_SWIFT_NAME(configure(options:));
+
+/**
+ * Configures a Firebase app with the given name and options. Raises an exception if any
+ * configuration step fails. This method should be called from the main thread.
+ *
+ * @param name The application's name given by the developer. The name should should only contain
+               Letters, Numbers and Underscore.
+ * @param options The Firebase application options used to configure the services.
+ */
+// clang-format off
++ (void)configureWithName:(NSString *)name
+                  options:(FIROptions *)options NS_SWIFT_NAME(configure(name:options:));
+// clang-format on
+
+/**
+ * Returns the default app, or `nil` if the default app does not exist.
+ */
++ (nullable FIRApp *)defaultApp NS_SWIFT_NAME(app());
+
+/**
+ * Returns a previously created `FirebaseApp` instance with the given name, or `nil` if no such app
+ * exists. This method is thread safe.
+ */
++ (nullable FIRApp *)appNamed:(NSString *)name NS_SWIFT_NAME(app(name:));
+
+/**
+ * Returns the set of all extant `FirebaseApp` instances, or `nil` if there are no `FirebaseApp`
+ * instances. This method is thread safe.
+ */
+@property(class, readonly, nullable) NSDictionary<NSString *, FIRApp *> *allApps;
+
+/**
+ * Cleans up the current `FirebaseApp`, freeing associated data and returning its name to the pool
+ * for future use. This method is thread safe.
+ */
+- (void)deleteApp:(void (^)(BOOL success))completion;
+
+/**
+ * `FirebaseApp` instances should not be initialized directly. Call `FirebaseApp.configure()`,
+ * `FirebaseApp.configure(options:)`, or `FirebaseApp.configure(name:options:)` directly.
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Gets the name of this app.
+ */
+@property(nonatomic, copy, readonly) NSString *name;
+
+/**
+ * Gets a copy of the options for this app. These are non-modifiable.
+ */
+@property(nonatomic, copy, readonly) FIROptions *options;
+
+/**
+ * Gets or sets whether automatic data collection is enabled for all products. Defaults to `true`
+ * unless `FirebaseDataCollectionDefaultEnabled` is set to `NO` in your app's Info.plist. This value
+ * is persisted across runs of the app so that it can be set once when users have consented to
+ * collection.
+ */
+@property(nonatomic, readwrite, getter=isDataCollectionDefaultEnabled)
+    BOOL dataCollectionDefaultEnabled;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRConfiguration.h b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRConfiguration.h
new file mode 100644
index 0000000..408bcad
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRConfiguration.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+#import "FIRLoggerLevel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * This interface provides global level properties that the developer can tweak.
+ */
+NS_SWIFT_NAME(FirebaseConfiguration)
+@interface FIRConfiguration : NSObject
+
+/** Returns the shared configuration object. */
+@property(class, nonatomic, readonly) FIRConfiguration *sharedInstance NS_SWIFT_NAME(shared);
+
+/**
+ * Sets the logging level for internal Firebase logging. Firebase will only log messages
+ * that are logged at or below `loggerLevel`. The messages are logged both to the Xcode
+ * console and to the device's log. Note that if an app is running from AppStore, it will
+ * never log above `.notice` even if `loggerLevel` is set to a higher (more verbose)
+ * setting.
+ *
+ * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice.
+ */
+- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIRLoggerLevel.h b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRLoggerLevel.h
similarity index 100%
rename from frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIRLoggerLevel.h
rename to frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRLoggerLevel.h
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIROptions.h b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIROptions.h
new file mode 100644
index 0000000..8f8d945
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIROptions.h
@@ -0,0 +1,131 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * This class provides constant fields of Google APIs.
+ */
+NS_SWIFT_NAME(FirebaseOptions)
+@interface FIROptions : NSObject <NSCopying>
+
+/**
+ * Returns the default options. The first time this is called it synchronously reads
+ * GoogleService-Info.plist from disk.
+ */
++ (nullable FIROptions *)defaultOptions NS_SWIFT_NAME(defaultOptions());
+
+/**
+ * An API key used for authenticating requests from your Apple app, e.g.
+ * The key must begin with "A" and contain exactly 39 alphanumeric characters, used to identify your
+ * app to Google servers.
+ */
+@property(nonatomic, copy, nullable) NSString *APIKey NS_SWIFT_NAME(apiKey);
+
+/**
+ * The bundle ID for the application. Defaults to `Bundle.main.bundleIdentifier` when not set
+ * manually or in a plist.
+ */
+@property(nonatomic, copy) NSString *bundleID;
+
+/**
+ * The OAuth2 client ID for Apple applications used to authenticate Google users, for example
+ * @"12345.apps.googleusercontent.com", used for signing in with Google.
+ */
+@property(nonatomic, copy, nullable) NSString *clientID;
+
+/**
+ * Unused.
+ */
+@property(nonatomic, copy, nullable) NSString *trackingID DEPRECATED_ATTRIBUTE;
+
+/**
+ * The Project Number from the Google Developer's console, for example @"012345678901", used to
+ * configure Firebase Cloud Messaging.
+ */
+@property(nonatomic, copy) NSString *GCMSenderID NS_SWIFT_NAME(gcmSenderID);
+
+/**
+ * The Project ID from the Firebase console, for example @"abc-xyz-123".
+ */
+@property(nonatomic, copy, nullable) NSString *projectID;
+
+/**
+ * Unused.
+ */
+@property(nonatomic, copy, nullable) NSString *androidClientID DEPRECATED_ATTRIBUTE;
+
+/**
+ * The Google App ID that is used to uniquely identify an instance of an app.
+ */
+@property(nonatomic, copy) NSString *googleAppID;
+
+/**
+ * The database root URL, e.g. @"http://abc-xyz-123.firebaseio.com".
+ */
+@property(nonatomic, copy, nullable) NSString *databaseURL;
+
+/**
+ * The URL scheme used to set up Durable Deep Link service.
+ */
+@property(nonatomic, copy, nullable) NSString *deepLinkURLScheme;
+
+/**
+ * The Google Cloud Storage bucket name, e.g. @"abc-xyz-123.storage.firebase.com".
+ */
+@property(nonatomic, copy, nullable) NSString *storageBucket;
+
+/**
+ * The App Group identifier to share data between the application and the application extensions.
+ * The App Group must be configured in the application and on the Apple Developer Portal. Default
+ * value `nil`.
+ */
+@property(nonatomic, copy, nullable) NSString *appGroupID;
+
+/**
+ * Initializes a customized instance of FirebaseOptions from the file at the given plist file path.
+ * This will read the file synchronously from disk.
+ * For example:
+ * ```swift
+ *   if let path = Bundle.main.path(forResource:"GoogleServices-Info", ofType:"plist") {
+ *       let options = FirebaseOptions(contentsOfFile: path)
+ *   }
+ * ```
+ * Note that it is not possible to customize `FirebaseOptions` for Firebase Analytics which expects
+ * a static file named `GoogleServices-Info.plist` -
+ * https://github.com/firebase/firebase-ios-sdk/issues/230.
+ * Returns `nil` if the plist file does not exist or is invalid.
+ */
+- (nullable instancetype)initWithContentsOfFile:(NSString *)plistPath NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Initializes a customized instance of `FirebaseOptions` with required fields. Use the mutable
+ * properties to modify fields for configuring specific services. Note that it is not possible to
+ * customize `FirebaseOptions` for Firebase Analytics which expects a static file named
+ * `GoogleServices-Info.plist` - https://github.com/firebase/firebase-ios-sdk/issues/230.
+ */
+- (instancetype)initWithGoogleAppID:(NSString *)googleAppID
+                        GCMSenderID:(NSString *)GCMSenderID
+    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:))NS_DESIGNATED_INITIALIZER;
+
+/** Unavailable. Please use `init(contentsOfFile:)` or `init(googleAppID:gcmSenderID:)` instead. */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIRVersion.h b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRVersion.h
similarity index 100%
rename from frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIRVersion.h
rename to frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FIRVersion.h
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
new file mode 100644
index 0000000..0f96d94
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
@@ -0,0 +1,22 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "FirebaseCore.h"
+#import "FIRLoggerLevel.h"
+#import "FIROptions.h"
+#import "FIRVersion.h"
+
+FOUNDATION_EXPORT double FirebaseCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreVersionString[];
+
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FirebaseCore.h b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FirebaseCore.h
similarity index 100%
rename from frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FirebaseCore.h
rename to frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Headers/FirebaseCore.h
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Info.plist b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Info.plist
new file mode 100644
index 0000000..6a5040c
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseCore</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseCore</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseCore</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Modules/module.modulemap b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Modules/module.modulemap
new file mode 100644
index 0000000..e5cdc8d
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework/Modules/module.modulemap
@@ -0,0 +1,9 @@
+framework module FirebaseCore {
+umbrella header "FirebaseCore-umbrella.h"
+export *
+module * { export * }
+  link framework "Foundation"
+  link framework "Security"
+  link framework "UIKit"
+  link "z"
+}
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/FirebaseCore b/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/FirebaseCore
deleted file mode 100644
index a936799..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/FirebaseCore
+++ /dev/null
Binary files differ
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIRApp.h b/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIRApp.h
deleted file mode 100644
index f5578c6..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIRApp.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class FIROptions;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** A block that takes a BOOL and has no return value. */
-typedef void (^FIRAppVoidBoolCallback)(BOOL success) NS_SWIFT_NAME(FirebaseAppVoidBoolCallback);
-
-/**
- * The entry point of Firebase SDKs.
- *
- * Initialize and configure FIRApp using +[FIRApp configure]
- * or other customized ways as shown below.
- *
- * The logging system has two modes: default mode and debug mode. In default mode, only logs with
- * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
- * to device. The log levels that Firebase uses are consistent with the ASL log levels.
- *
- * Enable debug mode by passing the -FIRDebugEnabled argument to the application. You can add this
- * argument in the application's Xcode scheme. When debug mode is enabled via -FIRDebugEnabled,
- * further executions of the application will also be in debug mode. In order to return to default
- * mode, you must explicitly disable the debug mode with the application argument -FIRDebugDisabled.
- *
- * It is also possible to change the default logging level in code by calling setLoggerLevel: on
- * the FIRConfiguration interface.
- */
-NS_SWIFT_NAME(FirebaseApp)
-@interface FIRApp : NSObject
-
-/**
- * Configures a default Firebase app. Raises an exception if any configuration step fails. The
- * default app is named "__FIRAPP_DEFAULT". This method should be called after the app is launched
- * and before using Firebase services. This method should be called from the main thread and
- * contains synchronous file I/O (reading GoogleService-Info.plist from disk).
- */
-+ (void)configure;
-
-/**
- * Configures the default Firebase app with the provided options. The default app is named
- * "__FIRAPP_DEFAULT". Raises an exception if any configuration step fails. This method should be
- * called from the main thread.
- *
- * @param options The Firebase application options used to configure the service.
- */
-+ (void)configureWithOptions:(FIROptions *)options NS_SWIFT_NAME(configure(options:));
-
-/**
- * Configures a Firebase app with the given name and options. Raises an exception if any
- * configuration step fails. This method should be called from the main thread.
- *
- * @param name The application's name given by the developer. The name should should only contain
-               Letters, Numbers and Underscore.
- * @param options The Firebase application options used to configure the services.
- */
-// clang-format off
-+ (void)configureWithName:(NSString *)name
-                  options:(FIROptions *)options NS_SWIFT_NAME(configure(name:options:));
-// clang-format on
-
-/**
- * Returns the default app, or nil if the default app does not exist.
- */
-+ (nullable FIRApp *)defaultApp NS_SWIFT_NAME(app());
-
-/**
- * Returns a previously created FIRApp instance with the given name, or nil if no such app exists.
- * This method is thread safe.
- */
-+ (nullable FIRApp *)appNamed:(NSString *)name NS_SWIFT_NAME(app(name:));
-
-/**
- * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This
- * method is thread safe.
- */
-@property(class, readonly, nullable) NSDictionary<NSString *, FIRApp *> *allApps;
-
-/**
- * Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
- * future use. This method is thread safe.
- */
-- (void)deleteApp:(FIRAppVoidBoolCallback)completion;
-
-/**
- * FIRApp instances should not be initialized directly. Call +[FIRApp configure],
- * +[FIRApp configureWithOptions:], or +[FIRApp configureWithNames:options:] directly.
- */
-- (instancetype)init NS_UNAVAILABLE;
-
-/**
- * Gets the name of this app.
- */
-@property(nonatomic, copy, readonly) NSString *name;
-
-/**
- * Gets a copy of the options for this app. These are non-modifiable.
- */
-@property(nonatomic, copy, readonly) FIROptions *options;
-
-/**
- * Gets or sets whether automatic data collection is enabled for all products. Defaults to `YES`
- * unless `FirebaseDataCollectionDefaultEnabled` is set to `NO` in your app's Info.plist. This value
- * is persisted across runs of the app so that it can be set once when users have consented to
- * collection.
- */
-@property(nonatomic, readwrite, getter=isDataCollectionDefaultEnabled)
-    BOOL dataCollectionDefaultEnabled;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIRConfiguration.h b/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIRConfiguration.h
deleted file mode 100644
index 2b8e678..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIRConfiguration.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "FIRLoggerLevel.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- * This interface provides global level properties that the developer can tweak.
- */
-NS_SWIFT_NAME(FirebaseConfiguration)
-@interface FIRConfiguration : NSObject
-
-/** Returns the shared configuration object. */
-@property(class, nonatomic, readonly) FIRConfiguration *sharedInstance NS_SWIFT_NAME(shared);
-
-/**
- * Sets the logging level for internal Firebase logging. Firebase will only log messages
- * that are logged at or below loggerLevel. The messages are logged both to the Xcode
- * console and to the device's log. Note that if an app is running from AppStore, it will
- * never log above FIRLoggerLevelNotice even if loggerLevel is set to a higher (more verbose)
- * setting.
- *
- * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice.
- */
-- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIROptions.h b/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIROptions.h
deleted file mode 100644
index afabbf1..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Headers/FIROptions.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- * This class provides constant fields of Google APIs.
- */
-NS_SWIFT_NAME(FirebaseOptions)
-@interface FIROptions : NSObject <NSCopying>
-
-/**
- * Returns the default options. The first time this is called it synchronously reads
- * GoogleService-Info.plist from disk.
- */
-+ (nullable FIROptions *)defaultOptions NS_SWIFT_NAME(defaultOptions());
-
-/**
- * An iOS API key used for authenticating requests from your app, e.g.
- * @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
- */
-@property(nonatomic, copy, nullable) NSString *APIKey NS_SWIFT_NAME(apiKey);
-
-/**
- * The bundle ID for the application. Defaults to `[[NSBundle mainBundle] bundleID]` when not set
- * manually or in a plist.
- */
-@property(nonatomic, copy) NSString *bundleID;
-
-/**
- * The OAuth2 client ID for iOS application used to authenticate Google users, for example
- * @"12345.apps.googleusercontent.com", used for signing in with Google.
- */
-@property(nonatomic, copy, nullable) NSString *clientID;
-
-/**
- * The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics.
- */
-@property(nonatomic, copy, nullable) NSString *trackingID;
-
-/**
- * The Project Number from the Google Developer's console, for example @"012345678901", used to
- * configure Google Cloud Messaging.
- */
-@property(nonatomic, copy) NSString *GCMSenderID NS_SWIFT_NAME(gcmSenderID);
-
-/**
- * The Project ID from the Firebase console, for example @"abc-xyz-123".
- */
-@property(nonatomic, copy, nullable) NSString *projectID;
-
-/**
- * The Android client ID used in Google AppInvite when an iOS app has its Android version, for
- * example @"12345.apps.googleusercontent.com".
- */
-@property(nonatomic, copy, nullable) NSString *androidClientID;
-
-/**
- * The Google App ID that is used to uniquely identify an instance of an app.
- */
-@property(nonatomic, copy) NSString *googleAppID;
-
-/**
- * The database root URL, e.g. @"http://abc-xyz-123.firebaseio.com".
- */
-@property(nonatomic, copy, nullable) NSString *databaseURL;
-
-/**
- * The URL scheme used to set up Durable Deep Link service.
- */
-@property(nonatomic, copy, nullable) NSString *deepLinkURLScheme;
-
-/**
- * The Google Cloud Storage bucket name, e.g. @"abc-xyz-123.storage.firebase.com".
- */
-@property(nonatomic, copy, nullable) NSString *storageBucket;
-
-/**
- * The App Group identifier to share data between the application and the application extensions.
- * The App Group must be configured in the application and on the Apple Developer Portal. Default
- * value `nil`.
- */
-@property(nonatomic, copy, nullable) NSString *appGroupID;
-
-/**
- * Initializes a customized instance of FIROptions from the file at the given plist file path. This
- * will read the file synchronously from disk.
- * For example,
- * NSString *filePath =
- *     [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
- * FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
- * Returns nil if the plist file does not exist or is invalid.
- */
-- (nullable instancetype)initWithContentsOfFile:(NSString *)plistPath NS_DESIGNATED_INITIALIZER;
-
-/**
- * Initializes a customized instance of FIROptions with required fields. Use the mutable properties
- * to modify fields for configuring specific services.
- */
-// clang-format off
-- (instancetype)initWithGoogleAppID:(NSString *)googleAppID
-                        GCMSenderID:(NSString *)GCMSenderID
-    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:)) NS_DESIGNATED_INITIALIZER;
-// clang-format on
-
-/** Unavailable. Please use `init(contentsOfFile:)` or `init(googleAppID:gcmSenderID:)` instead. */
-- (instancetype)init NS_UNAVAILABLE;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Info.plist b/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Info.plist
deleted file mode 100644
index b6619c0..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>FirebaseCore</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-FirebaseCore</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>FirebaseCore</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Modules/module.modulemap b/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Modules/module.modulemap
deleted file mode 100644
index 1db47ff..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_armv7/FirebaseCore.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,11 +0,0 @@
-framework module FirebaseCore {
-umbrella header "FirebaseCore.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Foundation"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link framework "UIKit"
-  link "z"
-}
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/FirebaseCore b/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/FirebaseCore
deleted file mode 100644
index 8b87f0a..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/FirebaseCore
+++ /dev/null
Binary files differ
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h b/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h
deleted file mode 100644
index f5578c6..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class FIROptions;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** A block that takes a BOOL and has no return value. */
-typedef void (^FIRAppVoidBoolCallback)(BOOL success) NS_SWIFT_NAME(FirebaseAppVoidBoolCallback);
-
-/**
- * The entry point of Firebase SDKs.
- *
- * Initialize and configure FIRApp using +[FIRApp configure]
- * or other customized ways as shown below.
- *
- * The logging system has two modes: default mode and debug mode. In default mode, only logs with
- * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
- * to device. The log levels that Firebase uses are consistent with the ASL log levels.
- *
- * Enable debug mode by passing the -FIRDebugEnabled argument to the application. You can add this
- * argument in the application's Xcode scheme. When debug mode is enabled via -FIRDebugEnabled,
- * further executions of the application will also be in debug mode. In order to return to default
- * mode, you must explicitly disable the debug mode with the application argument -FIRDebugDisabled.
- *
- * It is also possible to change the default logging level in code by calling setLoggerLevel: on
- * the FIRConfiguration interface.
- */
-NS_SWIFT_NAME(FirebaseApp)
-@interface FIRApp : NSObject
-
-/**
- * Configures a default Firebase app. Raises an exception if any configuration step fails. The
- * default app is named "__FIRAPP_DEFAULT". This method should be called after the app is launched
- * and before using Firebase services. This method should be called from the main thread and
- * contains synchronous file I/O (reading GoogleService-Info.plist from disk).
- */
-+ (void)configure;
-
-/**
- * Configures the default Firebase app with the provided options. The default app is named
- * "__FIRAPP_DEFAULT". Raises an exception if any configuration step fails. This method should be
- * called from the main thread.
- *
- * @param options The Firebase application options used to configure the service.
- */
-+ (void)configureWithOptions:(FIROptions *)options NS_SWIFT_NAME(configure(options:));
-
-/**
- * Configures a Firebase app with the given name and options. Raises an exception if any
- * configuration step fails. This method should be called from the main thread.
- *
- * @param name The application's name given by the developer. The name should should only contain
-               Letters, Numbers and Underscore.
- * @param options The Firebase application options used to configure the services.
- */
-// clang-format off
-+ (void)configureWithName:(NSString *)name
-                  options:(FIROptions *)options NS_SWIFT_NAME(configure(name:options:));
-// clang-format on
-
-/**
- * Returns the default app, or nil if the default app does not exist.
- */
-+ (nullable FIRApp *)defaultApp NS_SWIFT_NAME(app());
-
-/**
- * Returns a previously created FIRApp instance with the given name, or nil if no such app exists.
- * This method is thread safe.
- */
-+ (nullable FIRApp *)appNamed:(NSString *)name NS_SWIFT_NAME(app(name:));
-
-/**
- * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This
- * method is thread safe.
- */
-@property(class, readonly, nullable) NSDictionary<NSString *, FIRApp *> *allApps;
-
-/**
- * Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
- * future use. This method is thread safe.
- */
-- (void)deleteApp:(FIRAppVoidBoolCallback)completion;
-
-/**
- * FIRApp instances should not be initialized directly. Call +[FIRApp configure],
- * +[FIRApp configureWithOptions:], or +[FIRApp configureWithNames:options:] directly.
- */
-- (instancetype)init NS_UNAVAILABLE;
-
-/**
- * Gets the name of this app.
- */
-@property(nonatomic, copy, readonly) NSString *name;
-
-/**
- * Gets a copy of the options for this app. These are non-modifiable.
- */
-@property(nonatomic, copy, readonly) FIROptions *options;
-
-/**
- * Gets or sets whether automatic data collection is enabled for all products. Defaults to `YES`
- * unless `FirebaseDataCollectionDefaultEnabled` is set to `NO` in your app's Info.plist. This value
- * is persisted across runs of the app so that it can be set once when users have consented to
- * collection.
- */
-@property(nonatomic, readwrite, getter=isDataCollectionDefaultEnabled)
-    BOOL dataCollectionDefaultEnabled;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h b/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h
deleted file mode 100644
index 2b8e678..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "FIRLoggerLevel.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- * This interface provides global level properties that the developer can tweak.
- */
-NS_SWIFT_NAME(FirebaseConfiguration)
-@interface FIRConfiguration : NSObject
-
-/** Returns the shared configuration object. */
-@property(class, nonatomic, readonly) FIRConfiguration *sharedInstance NS_SWIFT_NAME(shared);
-
-/**
- * Sets the logging level for internal Firebase logging. Firebase will only log messages
- * that are logged at or below loggerLevel. The messages are logged both to the Xcode
- * console and to the device's log. Note that if an app is running from AppStore, it will
- * never log above FIRLoggerLevelNotice even if loggerLevel is set to a higher (more verbose)
- * setting.
- *
- * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice.
- */
-- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h b/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h
deleted file mode 100644
index afabbf1..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- * This class provides constant fields of Google APIs.
- */
-NS_SWIFT_NAME(FirebaseOptions)
-@interface FIROptions : NSObject <NSCopying>
-
-/**
- * Returns the default options. The first time this is called it synchronously reads
- * GoogleService-Info.plist from disk.
- */
-+ (nullable FIROptions *)defaultOptions NS_SWIFT_NAME(defaultOptions());
-
-/**
- * An iOS API key used for authenticating requests from your app, e.g.
- * @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
- */
-@property(nonatomic, copy, nullable) NSString *APIKey NS_SWIFT_NAME(apiKey);
-
-/**
- * The bundle ID for the application. Defaults to `[[NSBundle mainBundle] bundleID]` when not set
- * manually or in a plist.
- */
-@property(nonatomic, copy) NSString *bundleID;
-
-/**
- * The OAuth2 client ID for iOS application used to authenticate Google users, for example
- * @"12345.apps.googleusercontent.com", used for signing in with Google.
- */
-@property(nonatomic, copy, nullable) NSString *clientID;
-
-/**
- * The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics.
- */
-@property(nonatomic, copy, nullable) NSString *trackingID;
-
-/**
- * The Project Number from the Google Developer's console, for example @"012345678901", used to
- * configure Google Cloud Messaging.
- */
-@property(nonatomic, copy) NSString *GCMSenderID NS_SWIFT_NAME(gcmSenderID);
-
-/**
- * The Project ID from the Firebase console, for example @"abc-xyz-123".
- */
-@property(nonatomic, copy, nullable) NSString *projectID;
-
-/**
- * The Android client ID used in Google AppInvite when an iOS app has its Android version, for
- * example @"12345.apps.googleusercontent.com".
- */
-@property(nonatomic, copy, nullable) NSString *androidClientID;
-
-/**
- * The Google App ID that is used to uniquely identify an instance of an app.
- */
-@property(nonatomic, copy) NSString *googleAppID;
-
-/**
- * The database root URL, e.g. @"http://abc-xyz-123.firebaseio.com".
- */
-@property(nonatomic, copy, nullable) NSString *databaseURL;
-
-/**
- * The URL scheme used to set up Durable Deep Link service.
- */
-@property(nonatomic, copy, nullable) NSString *deepLinkURLScheme;
-
-/**
- * The Google Cloud Storage bucket name, e.g. @"abc-xyz-123.storage.firebase.com".
- */
-@property(nonatomic, copy, nullable) NSString *storageBucket;
-
-/**
- * The App Group identifier to share data between the application and the application extensions.
- * The App Group must be configured in the application and on the Apple Developer Portal. Default
- * value `nil`.
- */
-@property(nonatomic, copy, nullable) NSString *appGroupID;
-
-/**
- * Initializes a customized instance of FIROptions from the file at the given plist file path. This
- * will read the file synchronously from disk.
- * For example,
- * NSString *filePath =
- *     [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
- * FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
- * Returns nil if the plist file does not exist or is invalid.
- */
-- (nullable instancetype)initWithContentsOfFile:(NSString *)plistPath NS_DESIGNATED_INITIALIZER;
-
-/**
- * Initializes a customized instance of FIROptions with required fields. Use the mutable properties
- * to modify fields for configuring specific services.
- */
-// clang-format off
-- (instancetype)initWithGoogleAppID:(NSString *)googleAppID
-                        GCMSenderID:(NSString *)GCMSenderID
-    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:)) NS_DESIGNATED_INITIALIZER;
-// clang-format on
-
-/** Unavailable. Please use `init(contentsOfFile:)` or `init(googleAppID:gcmSenderID:)` instead. */
-- (instancetype)init NS_UNAVAILABLE;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Info.plist b/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Info.plist
deleted file mode 100644
index b6619c0..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>FirebaseCore</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-FirebaseCore</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>FirebaseCore</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap b/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap
deleted file mode 100644
index 1db47ff..0000000
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,11 +0,0 @@
-framework module FirebaseCore {
-umbrella header "FirebaseCore.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Foundation"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link framework "UIKit"
-  link "z"
-}
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/FirebaseCore b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/FirebaseCore
index 56168a0..87ddc71 100644
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/FirebaseCore
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/FirebaseCore
Binary files differ
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIRApp.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIRApp.h
index f5578c6..58ef2a6 100644
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIRApp.h
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIRApp.h
@@ -21,25 +21,27 @@
 NS_ASSUME_NONNULL_BEGIN
 
 /** A block that takes a BOOL and has no return value. */
-typedef void (^FIRAppVoidBoolCallback)(BOOL success) NS_SWIFT_NAME(FirebaseAppVoidBoolCallback);
+typedef void (^FIRAppVoidBoolCallback)(BOOL success)
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * The entry point of Firebase SDKs.
  *
- * Initialize and configure FIRApp using +[FIRApp configure]
+ * Initialize and configure `FirebaseApp` using `FirebaseApp.configure()`
  * or other customized ways as shown below.
  *
  * The logging system has two modes: default mode and debug mode. In default mode, only logs with
  * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
  * to device. The log levels that Firebase uses are consistent with the ASL log levels.
  *
- * Enable debug mode by passing the -FIRDebugEnabled argument to the application. You can add this
- * argument in the application's Xcode scheme. When debug mode is enabled via -FIRDebugEnabled,
+ * Enable debug mode by passing the `-FIRDebugEnabled` argument to the application. You can add this
+ * argument in the application's Xcode scheme. When debug mode is enabled via `-FIRDebugEnabled`,
  * further executions of the application will also be in debug mode. In order to return to default
- * mode, you must explicitly disable the debug mode with the application argument -FIRDebugDisabled.
+ * mode, you must explicitly disable the debug mode with the application argument
+ * `-FIRDebugDisabled`.
  *
- * It is also possible to change the default logging level in code by calling setLoggerLevel: on
- * the FIRConfiguration interface.
+ * It is also possible to change the default logging level in code by calling
+ * `FirebaseConfiguration.shared.setLoggerLevel(_:)` with the desired level.
  */
 NS_SWIFT_NAME(FirebaseApp)
 @interface FIRApp : NSObject
@@ -75,31 +77,31 @@
 // clang-format on
 
 /**
- * Returns the default app, or nil if the default app does not exist.
+ * Returns the default app, or `nil` if the default app does not exist.
  */
 + (nullable FIRApp *)defaultApp NS_SWIFT_NAME(app());
 
 /**
- * Returns a previously created FIRApp instance with the given name, or nil if no such app exists.
- * This method is thread safe.
+ * Returns a previously created `FirebaseApp` instance with the given name, or `nil` if no such app
+ * exists. This method is thread safe.
  */
 + (nullable FIRApp *)appNamed:(NSString *)name NS_SWIFT_NAME(app(name:));
 
 /**
- * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This
- * method is thread safe.
+ * Returns the set of all extant `FirebaseApp` instances, or `nil` if there are no `FirebaseApp`
+ * instances. This method is thread safe.
  */
 @property(class, readonly, nullable) NSDictionary<NSString *, FIRApp *> *allApps;
 
 /**
- * Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
- * future use. This method is thread safe.
+ * Cleans up the current `FirebaseApp`, freeing associated data and returning its name to the pool
+ * for future use. This method is thread safe.
  */
-- (void)deleteApp:(FIRAppVoidBoolCallback)completion;
+- (void)deleteApp:(void (^)(BOOL success))completion;
 
 /**
- * FIRApp instances should not be initialized directly. Call +[FIRApp configure],
- * +[FIRApp configureWithOptions:], or +[FIRApp configureWithNames:options:] directly.
+ * `FirebaseApp` instances should not be initialized directly. Call `FirebaseApp.configure()`,
+ * `FirebaseApp.configure(options:)`, or `FirebaseApp.configure(name:options:)` directly.
  */
 - (instancetype)init NS_UNAVAILABLE;
 
@@ -114,7 +116,7 @@
 @property(nonatomic, copy, readonly) FIROptions *options;
 
 /**
- * Gets or sets whether automatic data collection is enabled for all products. Defaults to `YES`
+ * Gets or sets whether automatic data collection is enabled for all products. Defaults to `true`
  * unless `FirebaseDataCollectionDefaultEnabled` is set to `NO` in your app's Info.plist. This value
  * is persisted across runs of the app so that it can be set once when users have consented to
  * collection.
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIRConfiguration.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIRConfiguration.h
index 2b8e678..408bcad 100644
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIRConfiguration.h
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIRConfiguration.h
@@ -31,9 +31,9 @@
 
 /**
  * Sets the logging level for internal Firebase logging. Firebase will only log messages
- * that are logged at or below loggerLevel. The messages are logged both to the Xcode
+ * that are logged at or below `loggerLevel`. The messages are logged both to the Xcode
  * console and to the device's log. Note that if an app is running from AppStore, it will
- * never log above FIRLoggerLevelNotice even if loggerLevel is set to a higher (more verbose)
+ * never log above `.notice` even if `loggerLevel` is set to a higher (more verbose)
  * setting.
  *
  * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice.
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIROptions.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIROptions.h
index afabbf1..8f8d945 100644
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIROptions.h
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FIROptions.h
@@ -31,31 +31,32 @@
 + (nullable FIROptions *)defaultOptions NS_SWIFT_NAME(defaultOptions());
 
 /**
- * An iOS API key used for authenticating requests from your app, e.g.
- * @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
+ * An API key used for authenticating requests from your Apple app, e.g.
+ * The key must begin with "A" and contain exactly 39 alphanumeric characters, used to identify your
+ * app to Google servers.
  */
 @property(nonatomic, copy, nullable) NSString *APIKey NS_SWIFT_NAME(apiKey);
 
 /**
- * The bundle ID for the application. Defaults to `[[NSBundle mainBundle] bundleID]` when not set
+ * The bundle ID for the application. Defaults to `Bundle.main.bundleIdentifier` when not set
  * manually or in a plist.
  */
 @property(nonatomic, copy) NSString *bundleID;
 
 /**
- * The OAuth2 client ID for iOS application used to authenticate Google users, for example
+ * The OAuth2 client ID for Apple applications used to authenticate Google users, for example
  * @"12345.apps.googleusercontent.com", used for signing in with Google.
  */
 @property(nonatomic, copy, nullable) NSString *clientID;
 
 /**
- * The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics.
+ * Unused.
  */
-@property(nonatomic, copy, nullable) NSString *trackingID;
+@property(nonatomic, copy, nullable) NSString *trackingID DEPRECATED_ATTRIBUTE;
 
 /**
  * The Project Number from the Google Developer's console, for example @"012345678901", used to
- * configure Google Cloud Messaging.
+ * configure Firebase Cloud Messaging.
  */
 @property(nonatomic, copy) NSString *GCMSenderID NS_SWIFT_NAME(gcmSenderID);
 
@@ -65,10 +66,9 @@
 @property(nonatomic, copy, nullable) NSString *projectID;
 
 /**
- * The Android client ID used in Google AppInvite when an iOS app has its Android version, for
- * example @"12345.apps.googleusercontent.com".
+ * Unused.
  */
-@property(nonatomic, copy, nullable) NSString *androidClientID;
+@property(nonatomic, copy, nullable) NSString *androidClientID DEPRECATED_ATTRIBUTE;
 
 /**
  * The Google App ID that is used to uniquely identify an instance of an app.
@@ -98,25 +98,30 @@
 @property(nonatomic, copy, nullable) NSString *appGroupID;
 
 /**
- * Initializes a customized instance of FIROptions from the file at the given plist file path. This
- * will read the file synchronously from disk.
- * For example,
- * NSString *filePath =
- *     [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
- * FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
- * Returns nil if the plist file does not exist or is invalid.
+ * Initializes a customized instance of FirebaseOptions from the file at the given plist file path.
+ * This will read the file synchronously from disk.
+ * For example:
+ * ```swift
+ *   if let path = Bundle.main.path(forResource:"GoogleServices-Info", ofType:"plist") {
+ *       let options = FirebaseOptions(contentsOfFile: path)
+ *   }
+ * ```
+ * Note that it is not possible to customize `FirebaseOptions` for Firebase Analytics which expects
+ * a static file named `GoogleServices-Info.plist` -
+ * https://github.com/firebase/firebase-ios-sdk/issues/230.
+ * Returns `nil` if the plist file does not exist or is invalid.
  */
 - (nullable instancetype)initWithContentsOfFile:(NSString *)plistPath NS_DESIGNATED_INITIALIZER;
 
 /**
- * Initializes a customized instance of FIROptions with required fields. Use the mutable properties
- * to modify fields for configuring specific services.
+ * Initializes a customized instance of `FirebaseOptions` with required fields. Use the mutable
+ * properties to modify fields for configuring specific services. Note that it is not possible to
+ * customize `FirebaseOptions` for Firebase Analytics which expects a static file named
+ * `GoogleServices-Info.plist` - https://github.com/firebase/firebase-ios-sdk/issues/230.
  */
-// clang-format off
 - (instancetype)initWithGoogleAppID:(NSString *)googleAppID
                         GCMSenderID:(NSString *)GCMSenderID
-    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:)) NS_DESIGNATED_INITIALIZER;
-// clang-format on
+    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:))NS_DESIGNATED_INITIALIZER;
 
 /** Unavailable. Please use `init(contentsOfFile:)` or `init(googleAppID:gcmSenderID:)` instead. */
 - (instancetype)init NS_UNAVAILABLE;
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
new file mode 100644
index 0000000..0f96d94
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
@@ -0,0 +1,22 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "FirebaseCore.h"
+#import "FIRLoggerLevel.h"
+#import "FIROptions.h"
+#import "FIRVersion.h"
+
+FOUNDATION_EXPORT double FirebaseCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreVersionString[];
+
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Info.plist b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Info.plist
index b6619c0..6a5040c 100644
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Info.plist
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Modules/module.modulemap b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Modules/module.modulemap
index 1db47ff..e5cdc8d 100644
--- a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCore.framework/Modules/module.modulemap
@@ -1,11 +1,9 @@
 framework module FirebaseCore {
-umbrella header "FirebaseCore.h"
+umbrella header "FirebaseCore-umbrella.h"
 export *
 module * { export * }
-  link framework "CoreTelephony"
   link framework "Foundation"
   link framework "Security"
-  link framework "SystemConfiguration"
   link framework "UIKit"
   link "z"
 }
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/FirebaseCore b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/FirebaseCore
new file mode 100644
index 0000000..593fad9
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/FirebaseCore
Binary files differ
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h
new file mode 100644
index 0000000..58ef2a6
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class FIROptions;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** A block that takes a BOOL and has no return value. */
+typedef void (^FIRAppVoidBoolCallback)(BOOL success)
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
+
+/**
+ * The entry point of Firebase SDKs.
+ *
+ * Initialize and configure `FirebaseApp` using `FirebaseApp.configure()`
+ * or other customized ways as shown below.
+ *
+ * The logging system has two modes: default mode and debug mode. In default mode, only logs with
+ * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
+ * to device. The log levels that Firebase uses are consistent with the ASL log levels.
+ *
+ * Enable debug mode by passing the `-FIRDebugEnabled` argument to the application. You can add this
+ * argument in the application's Xcode scheme. When debug mode is enabled via `-FIRDebugEnabled`,
+ * further executions of the application will also be in debug mode. In order to return to default
+ * mode, you must explicitly disable the debug mode with the application argument
+ * `-FIRDebugDisabled`.
+ *
+ * It is also possible to change the default logging level in code by calling
+ * `FirebaseConfiguration.shared.setLoggerLevel(_:)` with the desired level.
+ */
+NS_SWIFT_NAME(FirebaseApp)
+@interface FIRApp : NSObject
+
+/**
+ * Configures a default Firebase app. Raises an exception if any configuration step fails. The
+ * default app is named "__FIRAPP_DEFAULT". This method should be called after the app is launched
+ * and before using Firebase services. This method should be called from the main thread and
+ * contains synchronous file I/O (reading GoogleService-Info.plist from disk).
+ */
++ (void)configure;
+
+/**
+ * Configures the default Firebase app with the provided options. The default app is named
+ * "__FIRAPP_DEFAULT". Raises an exception if any configuration step fails. This method should be
+ * called from the main thread.
+ *
+ * @param options The Firebase application options used to configure the service.
+ */
++ (void)configureWithOptions:(FIROptions *)options NS_SWIFT_NAME(configure(options:));
+
+/**
+ * Configures a Firebase app with the given name and options. Raises an exception if any
+ * configuration step fails. This method should be called from the main thread.
+ *
+ * @param name The application's name given by the developer. The name should should only contain
+               Letters, Numbers and Underscore.
+ * @param options The Firebase application options used to configure the services.
+ */
+// clang-format off
++ (void)configureWithName:(NSString *)name
+                  options:(FIROptions *)options NS_SWIFT_NAME(configure(name:options:));
+// clang-format on
+
+/**
+ * Returns the default app, or `nil` if the default app does not exist.
+ */
++ (nullable FIRApp *)defaultApp NS_SWIFT_NAME(app());
+
+/**
+ * Returns a previously created `FirebaseApp` instance with the given name, or `nil` if no such app
+ * exists. This method is thread safe.
+ */
++ (nullable FIRApp *)appNamed:(NSString *)name NS_SWIFT_NAME(app(name:));
+
+/**
+ * Returns the set of all extant `FirebaseApp` instances, or `nil` if there are no `FirebaseApp`
+ * instances. This method is thread safe.
+ */
+@property(class, readonly, nullable) NSDictionary<NSString *, FIRApp *> *allApps;
+
+/**
+ * Cleans up the current `FirebaseApp`, freeing associated data and returning its name to the pool
+ * for future use. This method is thread safe.
+ */
+- (void)deleteApp:(void (^)(BOOL success))completion;
+
+/**
+ * `FirebaseApp` instances should not be initialized directly. Call `FirebaseApp.configure()`,
+ * `FirebaseApp.configure(options:)`, or `FirebaseApp.configure(name:options:)` directly.
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Gets the name of this app.
+ */
+@property(nonatomic, copy, readonly) NSString *name;
+
+/**
+ * Gets a copy of the options for this app. These are non-modifiable.
+ */
+@property(nonatomic, copy, readonly) FIROptions *options;
+
+/**
+ * Gets or sets whether automatic data collection is enabled for all products. Defaults to `true`
+ * unless `FirebaseDataCollectionDefaultEnabled` is set to `NO` in your app's Info.plist. This value
+ * is persisted across runs of the app so that it can be set once when users have consented to
+ * collection.
+ */
+@property(nonatomic, readwrite, getter=isDataCollectionDefaultEnabled)
+    BOOL dataCollectionDefaultEnabled;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h
new file mode 100644
index 0000000..408bcad
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+#import "FIRLoggerLevel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * This interface provides global level properties that the developer can tweak.
+ */
+NS_SWIFT_NAME(FirebaseConfiguration)
+@interface FIRConfiguration : NSObject
+
+/** Returns the shared configuration object. */
+@property(class, nonatomic, readonly) FIRConfiguration *sharedInstance NS_SWIFT_NAME(shared);
+
+/**
+ * Sets the logging level for internal Firebase logging. Firebase will only log messages
+ * that are logged at or below `loggerLevel`. The messages are logged both to the Xcode
+ * console and to the device's log. Note that if an app is running from AppStore, it will
+ * never log above `.notice` even if `loggerLevel` is set to a higher (more verbose)
+ * setting.
+ *
+ * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice.
+ */
+- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIRLoggerLevel.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRLoggerLevel.h
similarity index 100%
rename from frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIRLoggerLevel.h
rename to frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRLoggerLevel.h
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h
new file mode 100644
index 0000000..8f8d945
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h
@@ -0,0 +1,131 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * This class provides constant fields of Google APIs.
+ */
+NS_SWIFT_NAME(FirebaseOptions)
+@interface FIROptions : NSObject <NSCopying>
+
+/**
+ * Returns the default options. The first time this is called it synchronously reads
+ * GoogleService-Info.plist from disk.
+ */
++ (nullable FIROptions *)defaultOptions NS_SWIFT_NAME(defaultOptions());
+
+/**
+ * An API key used for authenticating requests from your Apple app, e.g.
+ * The key must begin with "A" and contain exactly 39 alphanumeric characters, used to identify your
+ * app to Google servers.
+ */
+@property(nonatomic, copy, nullable) NSString *APIKey NS_SWIFT_NAME(apiKey);
+
+/**
+ * The bundle ID for the application. Defaults to `Bundle.main.bundleIdentifier` when not set
+ * manually or in a plist.
+ */
+@property(nonatomic, copy) NSString *bundleID;
+
+/**
+ * The OAuth2 client ID for Apple applications used to authenticate Google users, for example
+ * @"12345.apps.googleusercontent.com", used for signing in with Google.
+ */
+@property(nonatomic, copy, nullable) NSString *clientID;
+
+/**
+ * Unused.
+ */
+@property(nonatomic, copy, nullable) NSString *trackingID DEPRECATED_ATTRIBUTE;
+
+/**
+ * The Project Number from the Google Developer's console, for example @"012345678901", used to
+ * configure Firebase Cloud Messaging.
+ */
+@property(nonatomic, copy) NSString *GCMSenderID NS_SWIFT_NAME(gcmSenderID);
+
+/**
+ * The Project ID from the Firebase console, for example @"abc-xyz-123".
+ */
+@property(nonatomic, copy, nullable) NSString *projectID;
+
+/**
+ * Unused.
+ */
+@property(nonatomic, copy, nullable) NSString *androidClientID DEPRECATED_ATTRIBUTE;
+
+/**
+ * The Google App ID that is used to uniquely identify an instance of an app.
+ */
+@property(nonatomic, copy) NSString *googleAppID;
+
+/**
+ * The database root URL, e.g. @"http://abc-xyz-123.firebaseio.com".
+ */
+@property(nonatomic, copy, nullable) NSString *databaseURL;
+
+/**
+ * The URL scheme used to set up Durable Deep Link service.
+ */
+@property(nonatomic, copy, nullable) NSString *deepLinkURLScheme;
+
+/**
+ * The Google Cloud Storage bucket name, e.g. @"abc-xyz-123.storage.firebase.com".
+ */
+@property(nonatomic, copy, nullable) NSString *storageBucket;
+
+/**
+ * The App Group identifier to share data between the application and the application extensions.
+ * The App Group must be configured in the application and on the Apple Developer Portal. Default
+ * value `nil`.
+ */
+@property(nonatomic, copy, nullable) NSString *appGroupID;
+
+/**
+ * Initializes a customized instance of FirebaseOptions from the file at the given plist file path.
+ * This will read the file synchronously from disk.
+ * For example:
+ * ```swift
+ *   if let path = Bundle.main.path(forResource:"GoogleServices-Info", ofType:"plist") {
+ *       let options = FirebaseOptions(contentsOfFile: path)
+ *   }
+ * ```
+ * Note that it is not possible to customize `FirebaseOptions` for Firebase Analytics which expects
+ * a static file named `GoogleServices-Info.plist` -
+ * https://github.com/firebase/firebase-ios-sdk/issues/230.
+ * Returns `nil` if the plist file does not exist or is invalid.
+ */
+- (nullable instancetype)initWithContentsOfFile:(NSString *)plistPath NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Initializes a customized instance of `FirebaseOptions` with required fields. Use the mutable
+ * properties to modify fields for configuring specific services. Note that it is not possible to
+ * customize `FirebaseOptions` for Firebase Analytics which expects a static file named
+ * `GoogleServices-Info.plist` - https://github.com/firebase/firebase-ios-sdk/issues/230.
+ */
+- (instancetype)initWithGoogleAppID:(NSString *)googleAppID
+                        GCMSenderID:(NSString *)GCMSenderID
+    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:))NS_DESIGNATED_INITIALIZER;
+
+/** Unavailable. Please use `init(contentsOfFile:)` or `init(googleAppID:gcmSenderID:)` instead. */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIRVersion.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRVersion.h
similarity index 100%
rename from frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FIRVersion.h
rename to frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRVersion.h
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
new file mode 100644
index 0000000..0f96d94
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
@@ -0,0 +1,22 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "FirebaseCore.h"
+#import "FIRLoggerLevel.h"
+#import "FIROptions.h"
+#import "FIRVersion.h"
+
+FOUNDATION_EXPORT double FirebaseCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreVersionString[];
+
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore.h b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore.h
similarity index 100%
rename from frameworks/FirebaseCore.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore.h
rename to frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore.h
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Info.plist b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Info.plist
new file mode 100644
index 0000000..6a5040c
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseCore</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseCore</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseCore</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap
new file mode 100644
index 0000000..e5cdc8d
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap
@@ -0,0 +1,9 @@
+framework module FirebaseCore {
+umbrella header "FirebaseCore-umbrella.h"
+export *
+module * { export * }
+  link framework "Foundation"
+  link framework "Security"
+  link framework "UIKit"
+  link "z"
+}
diff --git a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/FirebaseCore b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/FirebaseCore
index 1299cf1..c56de42 100644
--- a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/FirebaseCore
+++ b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/FirebaseCore
Binary files differ
diff --git a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIRApp.h b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIRApp.h
index f5578c6..58ef2a6 100644
--- a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIRApp.h
+++ b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIRApp.h
@@ -21,25 +21,27 @@
 NS_ASSUME_NONNULL_BEGIN
 
 /** A block that takes a BOOL and has no return value. */
-typedef void (^FIRAppVoidBoolCallback)(BOOL success) NS_SWIFT_NAME(FirebaseAppVoidBoolCallback);
+typedef void (^FIRAppVoidBoolCallback)(BOOL success)
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * The entry point of Firebase SDKs.
  *
- * Initialize and configure FIRApp using +[FIRApp configure]
+ * Initialize and configure `FirebaseApp` using `FirebaseApp.configure()`
  * or other customized ways as shown below.
  *
  * The logging system has two modes: default mode and debug mode. In default mode, only logs with
  * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
  * to device. The log levels that Firebase uses are consistent with the ASL log levels.
  *
- * Enable debug mode by passing the -FIRDebugEnabled argument to the application. You can add this
- * argument in the application's Xcode scheme. When debug mode is enabled via -FIRDebugEnabled,
+ * Enable debug mode by passing the `-FIRDebugEnabled` argument to the application. You can add this
+ * argument in the application's Xcode scheme. When debug mode is enabled via `-FIRDebugEnabled`,
  * further executions of the application will also be in debug mode. In order to return to default
- * mode, you must explicitly disable the debug mode with the application argument -FIRDebugDisabled.
+ * mode, you must explicitly disable the debug mode with the application argument
+ * `-FIRDebugDisabled`.
  *
- * It is also possible to change the default logging level in code by calling setLoggerLevel: on
- * the FIRConfiguration interface.
+ * It is also possible to change the default logging level in code by calling
+ * `FirebaseConfiguration.shared.setLoggerLevel(_:)` with the desired level.
  */
 NS_SWIFT_NAME(FirebaseApp)
 @interface FIRApp : NSObject
@@ -75,31 +77,31 @@
 // clang-format on
 
 /**
- * Returns the default app, or nil if the default app does not exist.
+ * Returns the default app, or `nil` if the default app does not exist.
  */
 + (nullable FIRApp *)defaultApp NS_SWIFT_NAME(app());
 
 /**
- * Returns a previously created FIRApp instance with the given name, or nil if no such app exists.
- * This method is thread safe.
+ * Returns a previously created `FirebaseApp` instance with the given name, or `nil` if no such app
+ * exists. This method is thread safe.
  */
 + (nullable FIRApp *)appNamed:(NSString *)name NS_SWIFT_NAME(app(name:));
 
 /**
- * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This
- * method is thread safe.
+ * Returns the set of all extant `FirebaseApp` instances, or `nil` if there are no `FirebaseApp`
+ * instances. This method is thread safe.
  */
 @property(class, readonly, nullable) NSDictionary<NSString *, FIRApp *> *allApps;
 
 /**
- * Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
- * future use. This method is thread safe.
+ * Cleans up the current `FirebaseApp`, freeing associated data and returning its name to the pool
+ * for future use. This method is thread safe.
  */
-- (void)deleteApp:(FIRAppVoidBoolCallback)completion;
+- (void)deleteApp:(void (^)(BOOL success))completion;
 
 /**
- * FIRApp instances should not be initialized directly. Call +[FIRApp configure],
- * +[FIRApp configureWithOptions:], or +[FIRApp configureWithNames:options:] directly.
+ * `FirebaseApp` instances should not be initialized directly. Call `FirebaseApp.configure()`,
+ * `FirebaseApp.configure(options:)`, or `FirebaseApp.configure(name:options:)` directly.
  */
 - (instancetype)init NS_UNAVAILABLE;
 
@@ -114,7 +116,7 @@
 @property(nonatomic, copy, readonly) FIROptions *options;
 
 /**
- * Gets or sets whether automatic data collection is enabled for all products. Defaults to `YES`
+ * Gets or sets whether automatic data collection is enabled for all products. Defaults to `true`
  * unless `FirebaseDataCollectionDefaultEnabled` is set to `NO` in your app's Info.plist. This value
  * is persisted across runs of the app so that it can be set once when users have consented to
  * collection.
diff --git a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIRConfiguration.h b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIRConfiguration.h
index 2b8e678..408bcad 100644
--- a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIRConfiguration.h
+++ b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIRConfiguration.h
@@ -31,9 +31,9 @@
 
 /**
  * Sets the logging level for internal Firebase logging. Firebase will only log messages
- * that are logged at or below loggerLevel. The messages are logged both to the Xcode
+ * that are logged at or below `loggerLevel`. The messages are logged both to the Xcode
  * console and to the device's log. Note that if an app is running from AppStore, it will
- * never log above FIRLoggerLevelNotice even if loggerLevel is set to a higher (more verbose)
+ * never log above `.notice` even if `loggerLevel` is set to a higher (more verbose)
  * setting.
  *
  * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice.
diff --git a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIROptions.h b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIROptions.h
index afabbf1..8f8d945 100644
--- a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIROptions.h
+++ b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FIROptions.h
@@ -31,31 +31,32 @@
 + (nullable FIROptions *)defaultOptions NS_SWIFT_NAME(defaultOptions());
 
 /**
- * An iOS API key used for authenticating requests from your app, e.g.
- * @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
+ * An API key used for authenticating requests from your Apple app, e.g.
+ * The key must begin with "A" and contain exactly 39 alphanumeric characters, used to identify your
+ * app to Google servers.
  */
 @property(nonatomic, copy, nullable) NSString *APIKey NS_SWIFT_NAME(apiKey);
 
 /**
- * The bundle ID for the application. Defaults to `[[NSBundle mainBundle] bundleID]` when not set
+ * The bundle ID for the application. Defaults to `Bundle.main.bundleIdentifier` when not set
  * manually or in a plist.
  */
 @property(nonatomic, copy) NSString *bundleID;
 
 /**
- * The OAuth2 client ID for iOS application used to authenticate Google users, for example
+ * The OAuth2 client ID for Apple applications used to authenticate Google users, for example
  * @"12345.apps.googleusercontent.com", used for signing in with Google.
  */
 @property(nonatomic, copy, nullable) NSString *clientID;
 
 /**
- * The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics.
+ * Unused.
  */
-@property(nonatomic, copy, nullable) NSString *trackingID;
+@property(nonatomic, copy, nullable) NSString *trackingID DEPRECATED_ATTRIBUTE;
 
 /**
  * The Project Number from the Google Developer's console, for example @"012345678901", used to
- * configure Google Cloud Messaging.
+ * configure Firebase Cloud Messaging.
  */
 @property(nonatomic, copy) NSString *GCMSenderID NS_SWIFT_NAME(gcmSenderID);
 
@@ -65,10 +66,9 @@
 @property(nonatomic, copy, nullable) NSString *projectID;
 
 /**
- * The Android client ID used in Google AppInvite when an iOS app has its Android version, for
- * example @"12345.apps.googleusercontent.com".
+ * Unused.
  */
-@property(nonatomic, copy, nullable) NSString *androidClientID;
+@property(nonatomic, copy, nullable) NSString *androidClientID DEPRECATED_ATTRIBUTE;
 
 /**
  * The Google App ID that is used to uniquely identify an instance of an app.
@@ -98,25 +98,30 @@
 @property(nonatomic, copy, nullable) NSString *appGroupID;
 
 /**
- * Initializes a customized instance of FIROptions from the file at the given plist file path. This
- * will read the file synchronously from disk.
- * For example,
- * NSString *filePath =
- *     [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
- * FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
- * Returns nil if the plist file does not exist or is invalid.
+ * Initializes a customized instance of FirebaseOptions from the file at the given plist file path.
+ * This will read the file synchronously from disk.
+ * For example:
+ * ```swift
+ *   if let path = Bundle.main.path(forResource:"GoogleServices-Info", ofType:"plist") {
+ *       let options = FirebaseOptions(contentsOfFile: path)
+ *   }
+ * ```
+ * Note that it is not possible to customize `FirebaseOptions` for Firebase Analytics which expects
+ * a static file named `GoogleServices-Info.plist` -
+ * https://github.com/firebase/firebase-ios-sdk/issues/230.
+ * Returns `nil` if the plist file does not exist or is invalid.
  */
 - (nullable instancetype)initWithContentsOfFile:(NSString *)plistPath NS_DESIGNATED_INITIALIZER;
 
 /**
- * Initializes a customized instance of FIROptions with required fields. Use the mutable properties
- * to modify fields for configuring specific services.
+ * Initializes a customized instance of `FirebaseOptions` with required fields. Use the mutable
+ * properties to modify fields for configuring specific services. Note that it is not possible to
+ * customize `FirebaseOptions` for Firebase Analytics which expects a static file named
+ * `GoogleServices-Info.plist` - https://github.com/firebase/firebase-ios-sdk/issues/230.
  */
-// clang-format off
 - (instancetype)initWithGoogleAppID:(NSString *)googleAppID
                         GCMSenderID:(NSString *)GCMSenderID
-    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:)) NS_DESIGNATED_INITIALIZER;
-// clang-format on
+    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:))NS_DESIGNATED_INITIALIZER;
 
 /** Unavailable. Please use `init(contentsOfFile:)` or `init(googleAppID:gcmSenderID:)` instead. */
 - (instancetype)init NS_UNAVAILABLE;
diff --git a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
new file mode 100644
index 0000000..fe9e61a
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
@@ -0,0 +1,22 @@
+#ifdef __OBJC__
+#import <Cocoa/Cocoa.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "FirebaseCore.h"
+#import "FIRLoggerLevel.h"
+#import "FIROptions.h"
+#import "FIRVersion.h"
+
+FOUNDATION_EXPORT double FirebaseCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreVersionString[];
+
diff --git a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Info.plist b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Info.plist
index b6619c0..6a5040c 100644
--- a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Info.plist
+++ b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Modules/module.modulemap b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Modules/module.modulemap
index de70d90..62fa6ef 100644
--- a/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseCore.xcframework/macos-arm64_x86_64/FirebaseCore.framework/Modules/module.modulemap
@@ -1,11 +1,9 @@
 framework module FirebaseCore {
-umbrella header "FirebaseCore.h"
+umbrella header "FirebaseCore-umbrella.h"
 export *
 module * { export * }
   link framework "AppKit"
-  link framework "CoreTelephony"
   link framework "Foundation"
   link framework "Security"
-  link framework "SystemConfiguration"
   link "z"
 }
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/FirebaseCore b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/FirebaseCore
index 60c8e48..bb2af9c 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/FirebaseCore
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/FirebaseCore
Binary files differ
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIRApp.h b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIRApp.h
index f5578c6..58ef2a6 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIRApp.h
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIRApp.h
@@ -21,25 +21,27 @@
 NS_ASSUME_NONNULL_BEGIN
 
 /** A block that takes a BOOL and has no return value. */
-typedef void (^FIRAppVoidBoolCallback)(BOOL success) NS_SWIFT_NAME(FirebaseAppVoidBoolCallback);
+typedef void (^FIRAppVoidBoolCallback)(BOOL success)
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * The entry point of Firebase SDKs.
  *
- * Initialize and configure FIRApp using +[FIRApp configure]
+ * Initialize and configure `FirebaseApp` using `FirebaseApp.configure()`
  * or other customized ways as shown below.
  *
  * The logging system has two modes: default mode and debug mode. In default mode, only logs with
  * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
  * to device. The log levels that Firebase uses are consistent with the ASL log levels.
  *
- * Enable debug mode by passing the -FIRDebugEnabled argument to the application. You can add this
- * argument in the application's Xcode scheme. When debug mode is enabled via -FIRDebugEnabled,
+ * Enable debug mode by passing the `-FIRDebugEnabled` argument to the application. You can add this
+ * argument in the application's Xcode scheme. When debug mode is enabled via `-FIRDebugEnabled`,
  * further executions of the application will also be in debug mode. In order to return to default
- * mode, you must explicitly disable the debug mode with the application argument -FIRDebugDisabled.
+ * mode, you must explicitly disable the debug mode with the application argument
+ * `-FIRDebugDisabled`.
  *
- * It is also possible to change the default logging level in code by calling setLoggerLevel: on
- * the FIRConfiguration interface.
+ * It is also possible to change the default logging level in code by calling
+ * `FirebaseConfiguration.shared.setLoggerLevel(_:)` with the desired level.
  */
 NS_SWIFT_NAME(FirebaseApp)
 @interface FIRApp : NSObject
@@ -75,31 +77,31 @@
 // clang-format on
 
 /**
- * Returns the default app, or nil if the default app does not exist.
+ * Returns the default app, or `nil` if the default app does not exist.
  */
 + (nullable FIRApp *)defaultApp NS_SWIFT_NAME(app());
 
 /**
- * Returns a previously created FIRApp instance with the given name, or nil if no such app exists.
- * This method is thread safe.
+ * Returns a previously created `FirebaseApp` instance with the given name, or `nil` if no such app
+ * exists. This method is thread safe.
  */
 + (nullable FIRApp *)appNamed:(NSString *)name NS_SWIFT_NAME(app(name:));
 
 /**
- * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This
- * method is thread safe.
+ * Returns the set of all extant `FirebaseApp` instances, or `nil` if there are no `FirebaseApp`
+ * instances. This method is thread safe.
  */
 @property(class, readonly, nullable) NSDictionary<NSString *, FIRApp *> *allApps;
 
 /**
- * Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
- * future use. This method is thread safe.
+ * Cleans up the current `FirebaseApp`, freeing associated data and returning its name to the pool
+ * for future use. This method is thread safe.
  */
-- (void)deleteApp:(FIRAppVoidBoolCallback)completion;
+- (void)deleteApp:(void (^)(BOOL success))completion;
 
 /**
- * FIRApp instances should not be initialized directly. Call +[FIRApp configure],
- * +[FIRApp configureWithOptions:], or +[FIRApp configureWithNames:options:] directly.
+ * `FirebaseApp` instances should not be initialized directly. Call `FirebaseApp.configure()`,
+ * `FirebaseApp.configure(options:)`, or `FirebaseApp.configure(name:options:)` directly.
  */
 - (instancetype)init NS_UNAVAILABLE;
 
@@ -114,7 +116,7 @@
 @property(nonatomic, copy, readonly) FIROptions *options;
 
 /**
- * Gets or sets whether automatic data collection is enabled for all products. Defaults to `YES`
+ * Gets or sets whether automatic data collection is enabled for all products. Defaults to `true`
  * unless `FirebaseDataCollectionDefaultEnabled` is set to `NO` in your app's Info.plist. This value
  * is persisted across runs of the app so that it can be set once when users have consented to
  * collection.
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIRConfiguration.h b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIRConfiguration.h
index 2b8e678..408bcad 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIRConfiguration.h
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIRConfiguration.h
@@ -31,9 +31,9 @@
 
 /**
  * Sets the logging level for internal Firebase logging. Firebase will only log messages
- * that are logged at or below loggerLevel. The messages are logged both to the Xcode
+ * that are logged at or below `loggerLevel`. The messages are logged both to the Xcode
  * console and to the device's log. Note that if an app is running from AppStore, it will
- * never log above FIRLoggerLevelNotice even if loggerLevel is set to a higher (more verbose)
+ * never log above `.notice` even if `loggerLevel` is set to a higher (more verbose)
  * setting.
  *
  * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice.
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIROptions.h b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIROptions.h
index afabbf1..8f8d945 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIROptions.h
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FIROptions.h
@@ -31,31 +31,32 @@
 + (nullable FIROptions *)defaultOptions NS_SWIFT_NAME(defaultOptions());
 
 /**
- * An iOS API key used for authenticating requests from your app, e.g.
- * @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
+ * An API key used for authenticating requests from your Apple app, e.g.
+ * The key must begin with "A" and contain exactly 39 alphanumeric characters, used to identify your
+ * app to Google servers.
  */
 @property(nonatomic, copy, nullable) NSString *APIKey NS_SWIFT_NAME(apiKey);
 
 /**
- * The bundle ID for the application. Defaults to `[[NSBundle mainBundle] bundleID]` when not set
+ * The bundle ID for the application. Defaults to `Bundle.main.bundleIdentifier` when not set
  * manually or in a plist.
  */
 @property(nonatomic, copy) NSString *bundleID;
 
 /**
- * The OAuth2 client ID for iOS application used to authenticate Google users, for example
+ * The OAuth2 client ID for Apple applications used to authenticate Google users, for example
  * @"12345.apps.googleusercontent.com", used for signing in with Google.
  */
 @property(nonatomic, copy, nullable) NSString *clientID;
 
 /**
- * The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics.
+ * Unused.
  */
-@property(nonatomic, copy, nullable) NSString *trackingID;
+@property(nonatomic, copy, nullable) NSString *trackingID DEPRECATED_ATTRIBUTE;
 
 /**
  * The Project Number from the Google Developer's console, for example @"012345678901", used to
- * configure Google Cloud Messaging.
+ * configure Firebase Cloud Messaging.
  */
 @property(nonatomic, copy) NSString *GCMSenderID NS_SWIFT_NAME(gcmSenderID);
 
@@ -65,10 +66,9 @@
 @property(nonatomic, copy, nullable) NSString *projectID;
 
 /**
- * The Android client ID used in Google AppInvite when an iOS app has its Android version, for
- * example @"12345.apps.googleusercontent.com".
+ * Unused.
  */
-@property(nonatomic, copy, nullable) NSString *androidClientID;
+@property(nonatomic, copy, nullable) NSString *androidClientID DEPRECATED_ATTRIBUTE;
 
 /**
  * The Google App ID that is used to uniquely identify an instance of an app.
@@ -98,25 +98,30 @@
 @property(nonatomic, copy, nullable) NSString *appGroupID;
 
 /**
- * Initializes a customized instance of FIROptions from the file at the given plist file path. This
- * will read the file synchronously from disk.
- * For example,
- * NSString *filePath =
- *     [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
- * FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
- * Returns nil if the plist file does not exist or is invalid.
+ * Initializes a customized instance of FirebaseOptions from the file at the given plist file path.
+ * This will read the file synchronously from disk.
+ * For example:
+ * ```swift
+ *   if let path = Bundle.main.path(forResource:"GoogleServices-Info", ofType:"plist") {
+ *       let options = FirebaseOptions(contentsOfFile: path)
+ *   }
+ * ```
+ * Note that it is not possible to customize `FirebaseOptions` for Firebase Analytics which expects
+ * a static file named `GoogleServices-Info.plist` -
+ * https://github.com/firebase/firebase-ios-sdk/issues/230.
+ * Returns `nil` if the plist file does not exist or is invalid.
  */
 - (nullable instancetype)initWithContentsOfFile:(NSString *)plistPath NS_DESIGNATED_INITIALIZER;
 
 /**
- * Initializes a customized instance of FIROptions with required fields. Use the mutable properties
- * to modify fields for configuring specific services.
+ * Initializes a customized instance of `FirebaseOptions` with required fields. Use the mutable
+ * properties to modify fields for configuring specific services. Note that it is not possible to
+ * customize `FirebaseOptions` for Firebase Analytics which expects a static file named
+ * `GoogleServices-Info.plist` - https://github.com/firebase/firebase-ios-sdk/issues/230.
  */
-// clang-format off
 - (instancetype)initWithGoogleAppID:(NSString *)googleAppID
                         GCMSenderID:(NSString *)GCMSenderID
-    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:)) NS_DESIGNATED_INITIALIZER;
-// clang-format on
+    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:))NS_DESIGNATED_INITIALIZER;
 
 /** Unavailable. Please use `init(contentsOfFile:)` or `init(googleAppID:gcmSenderID:)` instead. */
 - (instancetype)init NS_UNAVAILABLE;
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
new file mode 100644
index 0000000..0f96d94
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
@@ -0,0 +1,22 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "FirebaseCore.h"
+#import "FIRLoggerLevel.h"
+#import "FIROptions.h"
+#import "FIRVersion.h"
+
+FOUNDATION_EXPORT double FirebaseCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreVersionString[];
+
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Info.plist b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Info.plist
index b6619c0..6a5040c 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Info.plist
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Modules/module.modulemap b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Modules/module.modulemap
index 019e544..e5cdc8d 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64/FirebaseCore.framework/Modules/module.modulemap
@@ -1,10 +1,9 @@
 framework module FirebaseCore {
-umbrella header "FirebaseCore.h"
+umbrella header "FirebaseCore-umbrella.h"
 export *
 module * { export * }
   link framework "Foundation"
   link framework "Security"
-  link framework "SystemConfiguration"
   link framework "UIKit"
   link "z"
 }
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/FirebaseCore b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/FirebaseCore
index 389450a..423f050 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/FirebaseCore
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/FirebaseCore
Binary files differ
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h
index f5578c6..58ef2a6 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRApp.h
@@ -21,25 +21,27 @@
 NS_ASSUME_NONNULL_BEGIN
 
 /** A block that takes a BOOL and has no return value. */
-typedef void (^FIRAppVoidBoolCallback)(BOOL success) NS_SWIFT_NAME(FirebaseAppVoidBoolCallback);
+typedef void (^FIRAppVoidBoolCallback)(BOOL success)
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * The entry point of Firebase SDKs.
  *
- * Initialize and configure FIRApp using +[FIRApp configure]
+ * Initialize and configure `FirebaseApp` using `FirebaseApp.configure()`
  * or other customized ways as shown below.
  *
  * The logging system has two modes: default mode and debug mode. In default mode, only logs with
  * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
  * to device. The log levels that Firebase uses are consistent with the ASL log levels.
  *
- * Enable debug mode by passing the -FIRDebugEnabled argument to the application. You can add this
- * argument in the application's Xcode scheme. When debug mode is enabled via -FIRDebugEnabled,
+ * Enable debug mode by passing the `-FIRDebugEnabled` argument to the application. You can add this
+ * argument in the application's Xcode scheme. When debug mode is enabled via `-FIRDebugEnabled`,
  * further executions of the application will also be in debug mode. In order to return to default
- * mode, you must explicitly disable the debug mode with the application argument -FIRDebugDisabled.
+ * mode, you must explicitly disable the debug mode with the application argument
+ * `-FIRDebugDisabled`.
  *
- * It is also possible to change the default logging level in code by calling setLoggerLevel: on
- * the FIRConfiguration interface.
+ * It is also possible to change the default logging level in code by calling
+ * `FirebaseConfiguration.shared.setLoggerLevel(_:)` with the desired level.
  */
 NS_SWIFT_NAME(FirebaseApp)
 @interface FIRApp : NSObject
@@ -75,31 +77,31 @@
 // clang-format on
 
 /**
- * Returns the default app, or nil if the default app does not exist.
+ * Returns the default app, or `nil` if the default app does not exist.
  */
 + (nullable FIRApp *)defaultApp NS_SWIFT_NAME(app());
 
 /**
- * Returns a previously created FIRApp instance with the given name, or nil if no such app exists.
- * This method is thread safe.
+ * Returns a previously created `FirebaseApp` instance with the given name, or `nil` if no such app
+ * exists. This method is thread safe.
  */
 + (nullable FIRApp *)appNamed:(NSString *)name NS_SWIFT_NAME(app(name:));
 
 /**
- * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This
- * method is thread safe.
+ * Returns the set of all extant `FirebaseApp` instances, or `nil` if there are no `FirebaseApp`
+ * instances. This method is thread safe.
  */
 @property(class, readonly, nullable) NSDictionary<NSString *, FIRApp *> *allApps;
 
 /**
- * Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
- * future use. This method is thread safe.
+ * Cleans up the current `FirebaseApp`, freeing associated data and returning its name to the pool
+ * for future use. This method is thread safe.
  */
-- (void)deleteApp:(FIRAppVoidBoolCallback)completion;
+- (void)deleteApp:(void (^)(BOOL success))completion;
 
 /**
- * FIRApp instances should not be initialized directly. Call +[FIRApp configure],
- * +[FIRApp configureWithOptions:], or +[FIRApp configureWithNames:options:] directly.
+ * `FirebaseApp` instances should not be initialized directly. Call `FirebaseApp.configure()`,
+ * `FirebaseApp.configure(options:)`, or `FirebaseApp.configure(name:options:)` directly.
  */
 - (instancetype)init NS_UNAVAILABLE;
 
@@ -114,7 +116,7 @@
 @property(nonatomic, copy, readonly) FIROptions *options;
 
 /**
- * Gets or sets whether automatic data collection is enabled for all products. Defaults to `YES`
+ * Gets or sets whether automatic data collection is enabled for all products. Defaults to `true`
  * unless `FirebaseDataCollectionDefaultEnabled` is set to `NO` in your app's Info.plist. This value
  * is persisted across runs of the app so that it can be set once when users have consented to
  * collection.
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h
index 2b8e678..408bcad 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIRConfiguration.h
@@ -31,9 +31,9 @@
 
 /**
  * Sets the logging level for internal Firebase logging. Firebase will only log messages
- * that are logged at or below loggerLevel. The messages are logged both to the Xcode
+ * that are logged at or below `loggerLevel`. The messages are logged both to the Xcode
  * console and to the device's log. Note that if an app is running from AppStore, it will
- * never log above FIRLoggerLevelNotice even if loggerLevel is set to a higher (more verbose)
+ * never log above `.notice` even if `loggerLevel` is set to a higher (more verbose)
  * setting.
  *
  * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice.
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h
index afabbf1..8f8d945 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FIROptions.h
@@ -31,31 +31,32 @@
 + (nullable FIROptions *)defaultOptions NS_SWIFT_NAME(defaultOptions());
 
 /**
- * An iOS API key used for authenticating requests from your app, e.g.
- * @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
+ * An API key used for authenticating requests from your Apple app, e.g.
+ * The key must begin with "A" and contain exactly 39 alphanumeric characters, used to identify your
+ * app to Google servers.
  */
 @property(nonatomic, copy, nullable) NSString *APIKey NS_SWIFT_NAME(apiKey);
 
 /**
- * The bundle ID for the application. Defaults to `[[NSBundle mainBundle] bundleID]` when not set
+ * The bundle ID for the application. Defaults to `Bundle.main.bundleIdentifier` when not set
  * manually or in a plist.
  */
 @property(nonatomic, copy) NSString *bundleID;
 
 /**
- * The OAuth2 client ID for iOS application used to authenticate Google users, for example
+ * The OAuth2 client ID for Apple applications used to authenticate Google users, for example
  * @"12345.apps.googleusercontent.com", used for signing in with Google.
  */
 @property(nonatomic, copy, nullable) NSString *clientID;
 
 /**
- * The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics.
+ * Unused.
  */
-@property(nonatomic, copy, nullable) NSString *trackingID;
+@property(nonatomic, copy, nullable) NSString *trackingID DEPRECATED_ATTRIBUTE;
 
 /**
  * The Project Number from the Google Developer's console, for example @"012345678901", used to
- * configure Google Cloud Messaging.
+ * configure Firebase Cloud Messaging.
  */
 @property(nonatomic, copy) NSString *GCMSenderID NS_SWIFT_NAME(gcmSenderID);
 
@@ -65,10 +66,9 @@
 @property(nonatomic, copy, nullable) NSString *projectID;
 
 /**
- * The Android client ID used in Google AppInvite when an iOS app has its Android version, for
- * example @"12345.apps.googleusercontent.com".
+ * Unused.
  */
-@property(nonatomic, copy, nullable) NSString *androidClientID;
+@property(nonatomic, copy, nullable) NSString *androidClientID DEPRECATED_ATTRIBUTE;
 
 /**
  * The Google App ID that is used to uniquely identify an instance of an app.
@@ -98,25 +98,30 @@
 @property(nonatomic, copy, nullable) NSString *appGroupID;
 
 /**
- * Initializes a customized instance of FIROptions from the file at the given plist file path. This
- * will read the file synchronously from disk.
- * For example,
- * NSString *filePath =
- *     [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
- * FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
- * Returns nil if the plist file does not exist or is invalid.
+ * Initializes a customized instance of FirebaseOptions from the file at the given plist file path.
+ * This will read the file synchronously from disk.
+ * For example:
+ * ```swift
+ *   if let path = Bundle.main.path(forResource:"GoogleServices-Info", ofType:"plist") {
+ *       let options = FirebaseOptions(contentsOfFile: path)
+ *   }
+ * ```
+ * Note that it is not possible to customize `FirebaseOptions` for Firebase Analytics which expects
+ * a static file named `GoogleServices-Info.plist` -
+ * https://github.com/firebase/firebase-ios-sdk/issues/230.
+ * Returns `nil` if the plist file does not exist or is invalid.
  */
 - (nullable instancetype)initWithContentsOfFile:(NSString *)plistPath NS_DESIGNATED_INITIALIZER;
 
 /**
- * Initializes a customized instance of FIROptions with required fields. Use the mutable properties
- * to modify fields for configuring specific services.
+ * Initializes a customized instance of `FirebaseOptions` with required fields. Use the mutable
+ * properties to modify fields for configuring specific services. Note that it is not possible to
+ * customize `FirebaseOptions` for Firebase Analytics which expects a static file named
+ * `GoogleServices-Info.plist` - https://github.com/firebase/firebase-ios-sdk/issues/230.
  */
-// clang-format off
 - (instancetype)initWithGoogleAppID:(NSString *)googleAppID
                         GCMSenderID:(NSString *)GCMSenderID
-    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:)) NS_DESIGNATED_INITIALIZER;
-// clang-format on
+    NS_SWIFT_NAME(init(googleAppID:gcmSenderID:))NS_DESIGNATED_INITIALIZER;
 
 /** Unavailable. Please use `init(contentsOfFile:)` or `init(googleAppID:gcmSenderID:)` instead. */
 - (instancetype)init NS_UNAVAILABLE;
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
new file mode 100644
index 0000000..0f96d94
--- /dev/null
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Headers/FirebaseCore-umbrella.h
@@ -0,0 +1,22 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "FirebaseCore.h"
+#import "FIRLoggerLevel.h"
+#import "FIROptions.h"
+#import "FIRVersion.h"
+
+FOUNDATION_EXPORT double FirebaseCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreVersionString[];
+
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Info.plist b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Info.plist
index b6619c0..6a5040c 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Info.plist
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap
index 019e544..e5cdc8d 100644
--- a/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseCore.xcframework/tvos-arm64_x86_64-simulator/FirebaseCore.framework/Modules/module.modulemap
@@ -1,10 +1,9 @@
 framework module FirebaseCore {
-umbrella header "FirebaseCore.h"
+umbrella header "FirebaseCore-umbrella.h"
 export *
 module * { export * }
   link framework "Foundation"
   link framework "Security"
-  link framework "SystemConfiguration"
   link framework "UIKit"
   link "z"
 }
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/Info.plist b/frameworks/FirebaseCoreDiagnostics.xcframework/Info.plist
deleted file mode 100644
index 2216534..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/Info.plist
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>AvailableLibraries</key>
-	<array>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>tvos-arm64_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>FirebaseCoreDiagnostics.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>tvos</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_i386_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>FirebaseCoreDiagnostics.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>i386</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_armv7</string>
-			<key>LibraryPath</key>
-			<string>FirebaseCoreDiagnostics.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>armv7</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>macos-arm64_x86_64</string>
-			<key>LibraryPath</key>
-			<string>FirebaseCoreDiagnostics.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>macos</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_x86_64-maccatalyst</string>
-			<key>LibraryPath</key>
-			<string>FirebaseCoreDiagnostics.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>maccatalyst</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>tvos-arm64</string>
-			<key>LibraryPath</key>
-			<string>FirebaseCoreDiagnostics.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>tvos</string>
-		</dict>
-	</array>
-	<key>CFBundlePackageType</key>
-	<string>XFWK</string>
-	<key>XCFrameworkFormatVersion</key>
-	<string>1.0</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
deleted file mode 100644
index c4c9cd4..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
+++ /dev/null
Binary files differ
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
deleted file mode 100644
index 5076d6b..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright 2020 Google LLC
- *
- * 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.
- */
-
-// There are no actual public headers in the lib. This is a dummy public header to prevent Cocoapods
-// from adding all internal headers as public.
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
deleted file mode 100644
index a27569f..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "FIRCoreDiagnostics.h"
-
-FOUNDATION_EXPORT double FirebaseCoreDiagnosticsVersionNumber;
-FOUNDATION_EXPORT const unsigned char FirebaseCoreDiagnosticsVersionString[];
-
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Info.plist b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Info.plist
deleted file mode 100644
index 80fd98d..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-FirebaseCoreDiagnostics</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Modules/module.modulemap b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
deleted file mode 100644
index ac53310..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_armv7/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,10 +0,0 @@
-framework module FirebaseCoreDiagnostics {
-umbrella header "FirebaseCoreDiagnostics-umbrella.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Foundation"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
deleted file mode 100644
index de7f7b0..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
+++ /dev/null
Binary files differ
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
deleted file mode 100644
index 5076d6b..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright 2020 Google LLC
- *
- * 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.
- */
-
-// There are no actual public headers in the lib. This is a dummy public header to prevent Cocoapods
-// from adding all internal headers as public.
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
deleted file mode 100644
index a27569f..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "FIRCoreDiagnostics.h"
-
-FOUNDATION_EXPORT double FirebaseCoreDiagnosticsVersionNumber;
-FOUNDATION_EXPORT const unsigned char FirebaseCoreDiagnosticsVersionString[];
-
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Info.plist b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Info.plist
deleted file mode 100644
index 80fd98d..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-FirebaseCoreDiagnostics</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Modules/module.modulemap b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
deleted file mode 100644
index ac53310..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,10 +0,0 @@
-framework module FirebaseCoreDiagnostics {
-umbrella header "FirebaseCoreDiagnostics-umbrella.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Foundation"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
deleted file mode 100644
index 1a74c1b..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
+++ /dev/null
Binary files differ
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
deleted file mode 100644
index 5076d6b..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright 2020 Google LLC
- *
- * 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.
- */
-
-// There are no actual public headers in the lib. This is a dummy public header to prevent Cocoapods
-// from adding all internal headers as public.
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
deleted file mode 100644
index a27569f..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "FIRCoreDiagnostics.h"
-
-FOUNDATION_EXPORT double FirebaseCoreDiagnosticsVersionNumber;
-FOUNDATION_EXPORT const unsigned char FirebaseCoreDiagnosticsVersionString[];
-
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Info.plist b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Info.plist
deleted file mode 100644
index 80fd98d..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-FirebaseCoreDiagnostics</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Modules/module.modulemap b/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
deleted file mode 100644
index ac53310..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,10 +0,0 @@
-framework module FirebaseCoreDiagnostics {
-umbrella header "FirebaseCoreDiagnostics-umbrella.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Foundation"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics b/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
deleted file mode 100644
index c860d38..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
+++ /dev/null
Binary files differ
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h b/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
deleted file mode 100644
index 5076d6b..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright 2020 Google LLC
- *
- * 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.
- */
-
-// There are no actual public headers in the lib. This is a dummy public header to prevent Cocoapods
-// from adding all internal headers as public.
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h b/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
deleted file mode 100644
index add21ae..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifdef __OBJC__
-#import <Cocoa/Cocoa.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "FIRCoreDiagnostics.h"
-
-FOUNDATION_EXPORT double FirebaseCoreDiagnosticsVersionNumber;
-FOUNDATION_EXPORT const unsigned char FirebaseCoreDiagnosticsVersionString[];
-
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Info.plist b/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Info.plist
deleted file mode 100644
index 80fd98d..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-FirebaseCoreDiagnostics</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Modules/module.modulemap b/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
deleted file mode 100644
index ac53310..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/macos-arm64_x86_64/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,10 +0,0 @@
-framework module FirebaseCoreDiagnostics {
-umbrella header "FirebaseCoreDiagnostics-umbrella.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Foundation"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics b/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
deleted file mode 100644
index 87502c7..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
+++ /dev/null
Binary files differ
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h b/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
deleted file mode 100644
index 5076d6b..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright 2020 Google LLC
- *
- * 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.
- */
-
-// There are no actual public headers in the lib. This is a dummy public header to prevent Cocoapods
-// from adding all internal headers as public.
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h b/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
deleted file mode 100644
index a27569f..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "FIRCoreDiagnostics.h"
-
-FOUNDATION_EXPORT double FirebaseCoreDiagnosticsVersionNumber;
-FOUNDATION_EXPORT const unsigned char FirebaseCoreDiagnosticsVersionString[];
-
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Info.plist b/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Info.plist
deleted file mode 100644
index 80fd98d..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-FirebaseCoreDiagnostics</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Modules/module.modulemap b/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
deleted file mode 100644
index 762befc..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,9 +0,0 @@
-framework module FirebaseCoreDiagnostics {
-umbrella header "FirebaseCoreDiagnostics-umbrella.h"
-export *
-module * { export * }
-  link framework "Foundation"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics b/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
deleted file mode 100644
index 8634585..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
+++ /dev/null
Binary files differ
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h b/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
deleted file mode 100644
index 5076d6b..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright 2020 Google LLC
- *
- * 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.
- */
-
-// There are no actual public headers in the lib. This is a dummy public header to prevent Cocoapods
-// from adding all internal headers as public.
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h b/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
deleted file mode 100644
index a27569f..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "FIRCoreDiagnostics.h"
-
-FOUNDATION_EXPORT double FirebaseCoreDiagnosticsVersionNumber;
-FOUNDATION_EXPORT const unsigned char FirebaseCoreDiagnosticsVersionString[];
-
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Info.plist b/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Info.plist
deleted file mode 100644
index 80fd98d..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-FirebaseCoreDiagnostics</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>FirebaseCoreDiagnostics</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Modules/module.modulemap b/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
deleted file mode 100644
index 762befc..0000000
--- a/frameworks/FirebaseCoreDiagnostics.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreDiagnostics.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,9 +0,0 @@
-framework module FirebaseCoreDiagnostics {
-umbrella header "FirebaseCoreDiagnostics-umbrella.h"
-export *
-module * { export * }
-  link framework "Foundation"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/Info.plist b/frameworks/FirebaseCoreInternal.xcframework/Info.plist
new file mode 100644
index 0000000..c8bca7a
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/Info.plist
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AvailableLibraries</key>
+	<array>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>FirebaseCoreInternal.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>macos-arm64_x86_64</string>
+			<key>LibraryPath</key>
+			<string>FirebaseCoreInternal.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>macos</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>tvos-arm64</string>
+			<key>LibraryPath</key>
+			<string>FirebaseCoreInternal.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>tvos</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>tvos-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>FirebaseCoreInternal.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>tvos</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-maccatalyst</string>
+			<key>LibraryPath</key>
+			<string>FirebaseCoreInternal.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>maccatalyst</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64</string>
+			<key>LibraryPath</key>
+			<string>FirebaseCoreInternal.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+	</array>
+	<key>CFBundlePackageType</key>
+	<string>XFWK</string>
+	<key>XCFrameworkFormatVersion</key>
+	<string>1.0</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/FirebaseCoreInternal b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/FirebaseCoreInternal
new file mode 100644
index 0000000..c2e134a
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/FirebaseCoreInternal
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
new file mode 100644
index 0000000..8750a58
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
@@ -0,0 +1,271 @@
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASECOREINTERNAL_SWIFT_H
+#define FIREBASECOREINTERNAL_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+@import ObjectiveC;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseCoreInternal",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+
+@class NSString;
+@class FIRHeartbeatsPayload;
+
+/// An object that provides API to log and flush heartbeats from a synchronized storage container.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatController")
+@interface FIRHeartbeatController : NSObject
+/// Public initializer.
+/// \param id The <code>id</code> to associate this controller’s heartbeat storage with.
+///
+- (nonnull instancetype)initWithId:(NSString * _Nonnull)id OBJC_DESIGNATED_INITIALIZER;
+/// Asynchronously logs a new heartbeat, if needed.
+/// note:
+/// This API is thread-safe.
+/// \param agent The string agent (i.e. Firebase User Agent) to associate the logged heartbeat with.
+///
+- (void)log:(NSString * _Nonnull)agent;
+/// Synchronously flushes heartbeats from storage into a heartbeats payload.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat(s).
+- (FIRHeartbeatsPayload * _Nonnull)flush SWIFT_WARN_UNUSED_RESULT;
+/// Synchronously flushes the heartbeat for today.
+/// If no heartbeat was logged today, the returned payload is empty.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat.
+- (FIRHeartbeatsPayload * _Nonnull)flushHeartbeatFromToday SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+/// A model object representing a payload of heartbeat data intended for sending in network requests.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatsPayload")
+@interface FIRHeartbeatsPayload : NSObject
+/// Returns a processed payload string intended for use in a HTTP header.
+///
+/// returns:
+/// A string value from the heartbeats payload.
+- (NSString * _Nonnull)headerValue SWIFT_WARN_UNUSED_RESULT;
+/// A Boolean value indicating whether the payload is empty.
+@property (nonatomic, readonly) BOOL isEmpty;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
new file mode 100644
index 0000000..559d38b
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseCoreInternalVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreInternalVersionString[];
+
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Info.plist b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Info.plist
new file mode 100644
index 0000000..159ad17
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseCoreInternal</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
new file mode 100644
index 0000000..3f413e9
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios.swiftdoc b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios.swiftdoc
new file mode 100644
index 0000000..96e5c1e
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios.swiftinterface b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios.swiftinterface
new file mode 100644
index 0000000..f0bece4
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios.swiftinterface
@@ -0,0 +1,57 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-ios10.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseCoreInternal
+@_exported import FirebaseCoreInternal
+import Foundation
+import GoogleUtilities
+import Swift
+import _Concurrency
+@objc(FIRHeartbeatController) @objcMembers public class _ObjC_HeartbeatController : ObjectiveC.NSObject {
+  @objc public init(id: Swift.String)
+  @objc public func log(_ agent: Swift.String)
+  @objc public func flush() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc public func flushHeartbeatFromToday() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc deinit
+}
+@objc(FIRHeartbeatsPayload) public class _ObjC_HeartbeatsPayload : ObjectiveC.NSObject, FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public init(_ heartbeatsPayload: FirebaseCoreInternal.HeartbeatsPayload)
+  @objc public func headerValue() -> Swift.String
+  @objc public var isEmpty: Swift.Bool {
+    @objc get
+  }
+  @objc deinit
+}
+@_hasMissingDesignatedInitializers final public class HeartbeatController {
+  convenience public init(id: Swift.String)
+  final public func log(_ agent: Swift.String)
+  @discardableResult
+  final public func flush() -> FirebaseCoreInternal.HeartbeatsPayload
+  @discardableResult
+  final public func flushHeartbeatFromToday() -> FirebaseCoreInternal.HeartbeatsPayload
+  @objc deinit
+}
+public protocol HTTPHeaderRepresentable {
+  func headerValue() -> Swift.String
+}
+public struct HeartbeatsPayload : Swift.Codable {
+  public var isEmpty: Swift.Bool {
+    get
+  }
+  public func encode(to encoder: Swift.Encoder) throws
+  public init(from decoder: Swift.Decoder) throws
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public func headerValue() -> Swift.String
+}
+extension FirebaseCoreInternal.HeartbeatsPayload {
+  public static let dateFormatter: Foundation.DateFormatter
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : Swift.Equatable {
+  public static func == (a: FirebaseCoreInternal.HeartbeatsPayload, b: FirebaseCoreInternal.HeartbeatsPayload) -> Swift.Bool
+}
+extension Foundation.Data {
+  public func base64URLEncodedString(options: Foundation.Data.Base64EncodingOptions = []) -> Swift.String
+  public init?(base64URLEncoded base64URLString: Swift.String, options: Foundation.Data.Base64DecodingOptions = [])
+  public func zipped() throws -> Foundation.Data
+  public func unzipped() throws -> Foundation.Data
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/module.modulemap b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/module.modulemap
new file mode 100644
index 0000000..c45ad76
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64/FirebaseCoreInternal.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseCoreInternal {
+  umbrella header "FirebaseCoreInternal-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseCoreInternal.Swift {
+    header "FirebaseCoreInternal-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/FirebaseCoreInternal b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/FirebaseCoreInternal
new file mode 100644
index 0000000..145462d
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/FirebaseCoreInternal
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
new file mode 100644
index 0000000..8750a58
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
@@ -0,0 +1,271 @@
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASECOREINTERNAL_SWIFT_H
+#define FIREBASECOREINTERNAL_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+@import ObjectiveC;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseCoreInternal",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+
+@class NSString;
+@class FIRHeartbeatsPayload;
+
+/// An object that provides API to log and flush heartbeats from a synchronized storage container.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatController")
+@interface FIRHeartbeatController : NSObject
+/// Public initializer.
+/// \param id The <code>id</code> to associate this controller’s heartbeat storage with.
+///
+- (nonnull instancetype)initWithId:(NSString * _Nonnull)id OBJC_DESIGNATED_INITIALIZER;
+/// Asynchronously logs a new heartbeat, if needed.
+/// note:
+/// This API is thread-safe.
+/// \param agent The string agent (i.e. Firebase User Agent) to associate the logged heartbeat with.
+///
+- (void)log:(NSString * _Nonnull)agent;
+/// Synchronously flushes heartbeats from storage into a heartbeats payload.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat(s).
+- (FIRHeartbeatsPayload * _Nonnull)flush SWIFT_WARN_UNUSED_RESULT;
+/// Synchronously flushes the heartbeat for today.
+/// If no heartbeat was logged today, the returned payload is empty.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat.
+- (FIRHeartbeatsPayload * _Nonnull)flushHeartbeatFromToday SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+/// A model object representing a payload of heartbeat data intended for sending in network requests.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatsPayload")
+@interface FIRHeartbeatsPayload : NSObject
+/// Returns a processed payload string intended for use in a HTTP header.
+///
+/// returns:
+/// A string value from the heartbeats payload.
+- (NSString * _Nonnull)headerValue SWIFT_WARN_UNUSED_RESULT;
+/// A Boolean value indicating whether the payload is empty.
+@property (nonatomic, readonly) BOOL isEmpty;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
new file mode 100644
index 0000000..559d38b
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseCoreInternalVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreInternalVersionString[];
+
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Info.plist b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Info.plist
new file mode 100644
index 0000000..159ad17
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseCoreInternal</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios-macabi.swiftsourceinfo b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios-macabi.swiftsourceinfo
new file mode 100644
index 0000000..d67aad9
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios-macabi.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-ios-macabi.swiftsourceinfo b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-ios-macabi.swiftsourceinfo
new file mode 100644
index 0000000..e0cde02
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-ios-macabi.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-macabi.swiftdoc b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-macabi.swiftdoc
new file mode 100644
index 0000000..571ed57
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-macabi.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-macabi.swiftinterface b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-macabi.swiftinterface
new file mode 100644
index 0000000..6a922a5
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-macabi.swiftinterface
@@ -0,0 +1,57 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-ios13.1-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseCoreInternal
+@_exported import FirebaseCoreInternal
+import Foundation
+import GoogleUtilities
+import Swift
+import _Concurrency
+@objc(FIRHeartbeatController) @objcMembers public class _ObjC_HeartbeatController : ObjectiveC.NSObject {
+  @objc public init(id: Swift.String)
+  @objc public func log(_ agent: Swift.String)
+  @objc public func flush() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc public func flushHeartbeatFromToday() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc deinit
+}
+@objc(FIRHeartbeatsPayload) public class _ObjC_HeartbeatsPayload : ObjectiveC.NSObject, FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public init(_ heartbeatsPayload: FirebaseCoreInternal.HeartbeatsPayload)
+  @objc public func headerValue() -> Swift.String
+  @objc public var isEmpty: Swift.Bool {
+    @objc get
+  }
+  @objc deinit
+}
+@_hasMissingDesignatedInitializers final public class HeartbeatController {
+  convenience public init(id: Swift.String)
+  final public func log(_ agent: Swift.String)
+  @discardableResult
+  final public func flush() -> FirebaseCoreInternal.HeartbeatsPayload
+  @discardableResult
+  final public func flushHeartbeatFromToday() -> FirebaseCoreInternal.HeartbeatsPayload
+  @objc deinit
+}
+public protocol HTTPHeaderRepresentable {
+  func headerValue() -> Swift.String
+}
+public struct HeartbeatsPayload : Swift.Codable {
+  public var isEmpty: Swift.Bool {
+    get
+  }
+  public func encode(to encoder: Swift.Encoder) throws
+  public init(from decoder: Swift.Decoder) throws
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public func headerValue() -> Swift.String
+}
+extension FirebaseCoreInternal.HeartbeatsPayload {
+  public static let dateFormatter: Foundation.DateFormatter
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : Swift.Equatable {
+  public static func == (a: FirebaseCoreInternal.HeartbeatsPayload, b: FirebaseCoreInternal.HeartbeatsPayload) -> Swift.Bool
+}
+extension Foundation.Data {
+  public func base64URLEncodedString(options: Foundation.Data.Base64EncodingOptions = []) -> Swift.String
+  public init?(base64URLEncoded base64URLString: Swift.String, options: Foundation.Data.Base64DecodingOptions = [])
+  public func zipped() throws -> Foundation.Data
+  public func unzipped() throws -> Foundation.Data
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-macabi.swiftdoc b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-macabi.swiftdoc
new file mode 100644
index 0000000..159b0ad
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-macabi.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-macabi.swiftinterface b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-macabi.swiftinterface
new file mode 100644
index 0000000..3fdb80d
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-macabi.swiftinterface
@@ -0,0 +1,57 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target x86_64-apple-ios13.1-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseCoreInternal
+@_exported import FirebaseCoreInternal
+import Foundation
+import GoogleUtilities
+import Swift
+import _Concurrency
+@objc(FIRHeartbeatController) @objcMembers public class _ObjC_HeartbeatController : ObjectiveC.NSObject {
+  @objc public init(id: Swift.String)
+  @objc public func log(_ agent: Swift.String)
+  @objc public func flush() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc public func flushHeartbeatFromToday() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc deinit
+}
+@objc(FIRHeartbeatsPayload) public class _ObjC_HeartbeatsPayload : ObjectiveC.NSObject, FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public init(_ heartbeatsPayload: FirebaseCoreInternal.HeartbeatsPayload)
+  @objc public func headerValue() -> Swift.String
+  @objc public var isEmpty: Swift.Bool {
+    @objc get
+  }
+  @objc deinit
+}
+@_hasMissingDesignatedInitializers final public class HeartbeatController {
+  convenience public init(id: Swift.String)
+  final public func log(_ agent: Swift.String)
+  @discardableResult
+  final public func flush() -> FirebaseCoreInternal.HeartbeatsPayload
+  @discardableResult
+  final public func flushHeartbeatFromToday() -> FirebaseCoreInternal.HeartbeatsPayload
+  @objc deinit
+}
+public protocol HTTPHeaderRepresentable {
+  func headerValue() -> Swift.String
+}
+public struct HeartbeatsPayload : Swift.Codable {
+  public var isEmpty: Swift.Bool {
+    get
+  }
+  public func encode(to encoder: Swift.Encoder) throws
+  public init(from decoder: Swift.Decoder) throws
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public func headerValue() -> Swift.String
+}
+extension FirebaseCoreInternal.HeartbeatsPayload {
+  public static let dateFormatter: Foundation.DateFormatter
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : Swift.Equatable {
+  public static func == (a: FirebaseCoreInternal.HeartbeatsPayload, b: FirebaseCoreInternal.HeartbeatsPayload) -> Swift.Bool
+}
+extension Foundation.Data {
+  public func base64URLEncodedString(options: Foundation.Data.Base64EncodingOptions = []) -> Swift.String
+  public init?(base64URLEncoded base64URLString: Swift.String, options: Foundation.Data.Base64DecodingOptions = [])
+  public func zipped() throws -> Foundation.Data
+  public func unzipped() throws -> Foundation.Data
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/module.modulemap b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/module.modulemap
new file mode 100644
index 0000000..c45ad76
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseCoreInternal.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseCoreInternal {
+  umbrella header "FirebaseCoreInternal-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseCoreInternal.Swift {
+    header "FirebaseCoreInternal-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/FirebaseCoreInternal b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/FirebaseCoreInternal
new file mode 100644
index 0000000..4b19efe
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/FirebaseCoreInternal
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
new file mode 100644
index 0000000..8750a58
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
@@ -0,0 +1,271 @@
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASECOREINTERNAL_SWIFT_H
+#define FIREBASECOREINTERNAL_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+@import ObjectiveC;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseCoreInternal",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+
+@class NSString;
+@class FIRHeartbeatsPayload;
+
+/// An object that provides API to log and flush heartbeats from a synchronized storage container.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatController")
+@interface FIRHeartbeatController : NSObject
+/// Public initializer.
+/// \param id The <code>id</code> to associate this controller’s heartbeat storage with.
+///
+- (nonnull instancetype)initWithId:(NSString * _Nonnull)id OBJC_DESIGNATED_INITIALIZER;
+/// Asynchronously logs a new heartbeat, if needed.
+/// note:
+/// This API is thread-safe.
+/// \param agent The string agent (i.e. Firebase User Agent) to associate the logged heartbeat with.
+///
+- (void)log:(NSString * _Nonnull)agent;
+/// Synchronously flushes heartbeats from storage into a heartbeats payload.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat(s).
+- (FIRHeartbeatsPayload * _Nonnull)flush SWIFT_WARN_UNUSED_RESULT;
+/// Synchronously flushes the heartbeat for today.
+/// If no heartbeat was logged today, the returned payload is empty.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat.
+- (FIRHeartbeatsPayload * _Nonnull)flushHeartbeatFromToday SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+/// A model object representing a payload of heartbeat data intended for sending in network requests.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatsPayload")
+@interface FIRHeartbeatsPayload : NSObject
+/// Returns a processed payload string intended for use in a HTTP header.
+///
+/// returns:
+/// A string value from the heartbeats payload.
+- (NSString * _Nonnull)headerValue SWIFT_WARN_UNUSED_RESULT;
+/// A Boolean value indicating whether the payload is empty.
+@property (nonatomic, readonly) BOOL isEmpty;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
new file mode 100644
index 0000000..559d38b
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseCoreInternalVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreInternalVersionString[];
+
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Info.plist b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Info.plist
new file mode 100644
index 0000000..159ad17
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseCoreInternal</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
new file mode 100644
index 0000000..9824d79
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
new file mode 100644
index 0000000..ea17576
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-simulator.swiftdoc
new file mode 100644
index 0000000..78d4b9f
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-simulator.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-simulator.swiftinterface
new file mode 100644
index 0000000..f7396ee
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-ios-simulator.swiftinterface
@@ -0,0 +1,57 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-ios10.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseCoreInternal
+@_exported import FirebaseCoreInternal
+import Foundation
+import GoogleUtilities
+import Swift
+import _Concurrency
+@objc(FIRHeartbeatController) @objcMembers public class _ObjC_HeartbeatController : ObjectiveC.NSObject {
+  @objc public init(id: Swift.String)
+  @objc public func log(_ agent: Swift.String)
+  @objc public func flush() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc public func flushHeartbeatFromToday() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc deinit
+}
+@objc(FIRHeartbeatsPayload) public class _ObjC_HeartbeatsPayload : ObjectiveC.NSObject, FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public init(_ heartbeatsPayload: FirebaseCoreInternal.HeartbeatsPayload)
+  @objc public func headerValue() -> Swift.String
+  @objc public var isEmpty: Swift.Bool {
+    @objc get
+  }
+  @objc deinit
+}
+@_hasMissingDesignatedInitializers final public class HeartbeatController {
+  convenience public init(id: Swift.String)
+  final public func log(_ agent: Swift.String)
+  @discardableResult
+  final public func flush() -> FirebaseCoreInternal.HeartbeatsPayload
+  @discardableResult
+  final public func flushHeartbeatFromToday() -> FirebaseCoreInternal.HeartbeatsPayload
+  @objc deinit
+}
+public protocol HTTPHeaderRepresentable {
+  func headerValue() -> Swift.String
+}
+public struct HeartbeatsPayload : Swift.Codable {
+  public var isEmpty: Swift.Bool {
+    get
+  }
+  public func encode(to encoder: Swift.Encoder) throws
+  public init(from decoder: Swift.Decoder) throws
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public func headerValue() -> Swift.String
+}
+extension FirebaseCoreInternal.HeartbeatsPayload {
+  public static let dateFormatter: Foundation.DateFormatter
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : Swift.Equatable {
+  public static func == (a: FirebaseCoreInternal.HeartbeatsPayload, b: FirebaseCoreInternal.HeartbeatsPayload) -> Swift.Bool
+}
+extension Foundation.Data {
+  public func base64URLEncodedString(options: Foundation.Data.Base64EncodingOptions = []) -> Swift.String
+  public init?(base64URLEncoded base64URLString: Swift.String, options: Foundation.Data.Base64DecodingOptions = [])
+  public func zipped() throws -> Foundation.Data
+  public func unzipped() throws -> Foundation.Data
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
new file mode 100644
index 0000000..a0e64c3
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
new file mode 100644
index 0000000..a443a5a
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
@@ -0,0 +1,57 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target x86_64-apple-ios10.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseCoreInternal
+@_exported import FirebaseCoreInternal
+import Foundation
+import GoogleUtilities
+import Swift
+import _Concurrency
+@objc(FIRHeartbeatController) @objcMembers public class _ObjC_HeartbeatController : ObjectiveC.NSObject {
+  @objc public init(id: Swift.String)
+  @objc public func log(_ agent: Swift.String)
+  @objc public func flush() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc public func flushHeartbeatFromToday() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc deinit
+}
+@objc(FIRHeartbeatsPayload) public class _ObjC_HeartbeatsPayload : ObjectiveC.NSObject, FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public init(_ heartbeatsPayload: FirebaseCoreInternal.HeartbeatsPayload)
+  @objc public func headerValue() -> Swift.String
+  @objc public var isEmpty: Swift.Bool {
+    @objc get
+  }
+  @objc deinit
+}
+@_hasMissingDesignatedInitializers final public class HeartbeatController {
+  convenience public init(id: Swift.String)
+  final public func log(_ agent: Swift.String)
+  @discardableResult
+  final public func flush() -> FirebaseCoreInternal.HeartbeatsPayload
+  @discardableResult
+  final public func flushHeartbeatFromToday() -> FirebaseCoreInternal.HeartbeatsPayload
+  @objc deinit
+}
+public protocol HTTPHeaderRepresentable {
+  func headerValue() -> Swift.String
+}
+public struct HeartbeatsPayload : Swift.Codable {
+  public var isEmpty: Swift.Bool {
+    get
+  }
+  public func encode(to encoder: Swift.Encoder) throws
+  public init(from decoder: Swift.Decoder) throws
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public func headerValue() -> Swift.String
+}
+extension FirebaseCoreInternal.HeartbeatsPayload {
+  public static let dateFormatter: Foundation.DateFormatter
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : Swift.Equatable {
+  public static func == (a: FirebaseCoreInternal.HeartbeatsPayload, b: FirebaseCoreInternal.HeartbeatsPayload) -> Swift.Bool
+}
+extension Foundation.Data {
+  public func base64URLEncodedString(options: Foundation.Data.Base64EncodingOptions = []) -> Swift.String
+  public init?(base64URLEncoded base64URLString: Swift.String, options: Foundation.Data.Base64DecodingOptions = [])
+  public func zipped() throws -> Foundation.Data
+  public func unzipped() throws -> Foundation.Data
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/module.modulemap b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/module.modulemap
new file mode 100644
index 0000000..c45ad76
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/ios-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseCoreInternal {
+  umbrella header "FirebaseCoreInternal-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseCoreInternal.Swift {
+    header "FirebaseCoreInternal-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/FirebaseCoreInternal b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/FirebaseCoreInternal
new file mode 100644
index 0000000..44007a2
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/FirebaseCoreInternal
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
new file mode 100644
index 0000000..eb2a51b
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
@@ -0,0 +1,548 @@
+#if 0
+#elif defined(__arm64__) && __arm64__
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASECOREINTERNAL_SWIFT_H
+#define FIREBASECOREINTERNAL_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+@import ObjectiveC;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseCoreInternal",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+
+@class NSString;
+@class FIRHeartbeatsPayload;
+
+/// An object that provides API to log and flush heartbeats from a synchronized storage container.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatController")
+@interface FIRHeartbeatController : NSObject
+/// Public initializer.
+/// \param id The <code>id</code> to associate this controller’s heartbeat storage with.
+///
+- (nonnull instancetype)initWithId:(NSString * _Nonnull)id OBJC_DESIGNATED_INITIALIZER;
+/// Asynchronously logs a new heartbeat, if needed.
+/// note:
+/// This API is thread-safe.
+/// \param agent The string agent (i.e. Firebase User Agent) to associate the logged heartbeat with.
+///
+- (void)log:(NSString * _Nonnull)agent;
+/// Synchronously flushes heartbeats from storage into a heartbeats payload.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat(s).
+- (FIRHeartbeatsPayload * _Nonnull)flush SWIFT_WARN_UNUSED_RESULT;
+/// Synchronously flushes the heartbeat for today.
+/// If no heartbeat was logged today, the returned payload is empty.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat.
+- (FIRHeartbeatsPayload * _Nonnull)flushHeartbeatFromToday SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+/// A model object representing a payload of heartbeat data intended for sending in network requests.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatsPayload")
+@interface FIRHeartbeatsPayload : NSObject
+/// Returns a processed payload string intended for use in a HTTP header.
+///
+/// returns:
+/// A string value from the heartbeats payload.
+- (NSString * _Nonnull)headerValue SWIFT_WARN_UNUSED_RESULT;
+/// A Boolean value indicating whether the payload is empty.
+@property (nonatomic, readonly) BOOL isEmpty;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#elif defined(__x86_64__) && __x86_64__
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASECOREINTERNAL_SWIFT_H
+#define FIREBASECOREINTERNAL_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+@import ObjectiveC;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseCoreInternal",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+
+@class NSString;
+@class FIRHeartbeatsPayload;
+
+/// An object that provides API to log and flush heartbeats from a synchronized storage container.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatController")
+@interface FIRHeartbeatController : NSObject
+/// Public initializer.
+/// \param id The <code>id</code> to associate this controller’s heartbeat storage with.
+///
+- (nonnull instancetype)initWithId:(NSString * _Nonnull)id OBJC_DESIGNATED_INITIALIZER;
+/// Asynchronously logs a new heartbeat, if needed.
+/// note:
+/// This API is thread-safe.
+/// \param agent The string agent (i.e. Firebase User Agent) to associate the logged heartbeat with.
+///
+- (void)log:(NSString * _Nonnull)agent;
+/// Synchronously flushes heartbeats from storage into a heartbeats payload.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat(s).
+- (FIRHeartbeatsPayload * _Nonnull)flush SWIFT_WARN_UNUSED_RESULT;
+/// Synchronously flushes the heartbeat for today.
+/// If no heartbeat was logged today, the returned payload is empty.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat.
+- (FIRHeartbeatsPayload * _Nonnull)flushHeartbeatFromToday SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+/// A model object representing a payload of heartbeat data intended for sending in network requests.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatsPayload")
+@interface FIRHeartbeatsPayload : NSObject
+/// Returns a processed payload string intended for use in a HTTP header.
+///
+/// returns:
+/// A string value from the heartbeats payload.
+- (NSString * _Nonnull)headerValue SWIFT_WARN_UNUSED_RESULT;
+/// A Boolean value indicating whether the payload is empty.
+@property (nonatomic, readonly) BOOL isEmpty;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#endif
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
new file mode 100644
index 0000000..b162b2b
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <Cocoa/Cocoa.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseCoreInternalVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreInternalVersionString[];
+
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Info.plist b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Info.plist
new file mode 100644
index 0000000..159ad17
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseCoreInternal</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo
new file mode 100644
index 0000000..b9cde8a
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo
new file mode 100644
index 0000000..433433a
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-macos.swiftdoc b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-macos.swiftdoc
new file mode 100644
index 0000000..c52a45c
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-macos.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-macos.swiftinterface b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-macos.swiftinterface
new file mode 100644
index 0000000..56a3234
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-macos.swiftinterface
@@ -0,0 +1,57 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-macos10.13 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseCoreInternal
+@_exported import FirebaseCoreInternal
+import Foundation
+import GoogleUtilities
+import Swift
+import _Concurrency
+@objc(FIRHeartbeatController) @objcMembers public class _ObjC_HeartbeatController : ObjectiveC.NSObject {
+  @objc public init(id: Swift.String)
+  @objc public func log(_ agent: Swift.String)
+  @objc public func flush() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc public func flushHeartbeatFromToday() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc deinit
+}
+@objc(FIRHeartbeatsPayload) public class _ObjC_HeartbeatsPayload : ObjectiveC.NSObject, FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public init(_ heartbeatsPayload: FirebaseCoreInternal.HeartbeatsPayload)
+  @objc public func headerValue() -> Swift.String
+  @objc public var isEmpty: Swift.Bool {
+    @objc get
+  }
+  @objc deinit
+}
+@_hasMissingDesignatedInitializers final public class HeartbeatController {
+  convenience public init(id: Swift.String)
+  final public func log(_ agent: Swift.String)
+  @discardableResult
+  final public func flush() -> FirebaseCoreInternal.HeartbeatsPayload
+  @discardableResult
+  final public func flushHeartbeatFromToday() -> FirebaseCoreInternal.HeartbeatsPayload
+  @objc deinit
+}
+public protocol HTTPHeaderRepresentable {
+  func headerValue() -> Swift.String
+}
+public struct HeartbeatsPayload : Swift.Codable {
+  public var isEmpty: Swift.Bool {
+    get
+  }
+  public func encode(to encoder: Swift.Encoder) throws
+  public init(from decoder: Swift.Decoder) throws
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public func headerValue() -> Swift.String
+}
+extension FirebaseCoreInternal.HeartbeatsPayload {
+  public static let dateFormatter: Foundation.DateFormatter
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : Swift.Equatable {
+  public static func == (a: FirebaseCoreInternal.HeartbeatsPayload, b: FirebaseCoreInternal.HeartbeatsPayload) -> Swift.Bool
+}
+extension Foundation.Data {
+  public func base64URLEncodedString(options: Foundation.Data.Base64EncodingOptions = []) -> Swift.String
+  public init?(base64URLEncoded base64URLString: Swift.String, options: Foundation.Data.Base64DecodingOptions = [])
+  public func zipped() throws -> Foundation.Data
+  public func unzipped() throws -> Foundation.Data
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-macos.swiftdoc b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-macos.swiftdoc
new file mode 100644
index 0000000..e6298b9
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-macos.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-macos.swiftinterface b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-macos.swiftinterface
new file mode 100644
index 0000000..735cea2
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-macos.swiftinterface
@@ -0,0 +1,57 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target x86_64-apple-macos10.13 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseCoreInternal
+@_exported import FirebaseCoreInternal
+import Foundation
+import GoogleUtilities
+import Swift
+import _Concurrency
+@objc(FIRHeartbeatController) @objcMembers public class _ObjC_HeartbeatController : ObjectiveC.NSObject {
+  @objc public init(id: Swift.String)
+  @objc public func log(_ agent: Swift.String)
+  @objc public func flush() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc public func flushHeartbeatFromToday() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc deinit
+}
+@objc(FIRHeartbeatsPayload) public class _ObjC_HeartbeatsPayload : ObjectiveC.NSObject, FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public init(_ heartbeatsPayload: FirebaseCoreInternal.HeartbeatsPayload)
+  @objc public func headerValue() -> Swift.String
+  @objc public var isEmpty: Swift.Bool {
+    @objc get
+  }
+  @objc deinit
+}
+@_hasMissingDesignatedInitializers final public class HeartbeatController {
+  convenience public init(id: Swift.String)
+  final public func log(_ agent: Swift.String)
+  @discardableResult
+  final public func flush() -> FirebaseCoreInternal.HeartbeatsPayload
+  @discardableResult
+  final public func flushHeartbeatFromToday() -> FirebaseCoreInternal.HeartbeatsPayload
+  @objc deinit
+}
+public protocol HTTPHeaderRepresentable {
+  func headerValue() -> Swift.String
+}
+public struct HeartbeatsPayload : Swift.Codable {
+  public var isEmpty: Swift.Bool {
+    get
+  }
+  public func encode(to encoder: Swift.Encoder) throws
+  public init(from decoder: Swift.Decoder) throws
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public func headerValue() -> Swift.String
+}
+extension FirebaseCoreInternal.HeartbeatsPayload {
+  public static let dateFormatter: Foundation.DateFormatter
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : Swift.Equatable {
+  public static func == (a: FirebaseCoreInternal.HeartbeatsPayload, b: FirebaseCoreInternal.HeartbeatsPayload) -> Swift.Bool
+}
+extension Foundation.Data {
+  public func base64URLEncodedString(options: Foundation.Data.Base64EncodingOptions = []) -> Swift.String
+  public init?(base64URLEncoded base64URLString: Swift.String, options: Foundation.Data.Base64DecodingOptions = [])
+  public func zipped() throws -> Foundation.Data
+  public func unzipped() throws -> Foundation.Data
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/module.modulemap b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/module.modulemap
new file mode 100644
index 0000000..c45ad76
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/macos-arm64_x86_64/FirebaseCoreInternal.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseCoreInternal {
+  umbrella header "FirebaseCoreInternal-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseCoreInternal.Swift {
+    header "FirebaseCoreInternal-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/FirebaseCoreInternal b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/FirebaseCoreInternal
new file mode 100644
index 0000000..7d74a72
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/FirebaseCoreInternal
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
new file mode 100644
index 0000000..8750a58
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
@@ -0,0 +1,271 @@
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASECOREINTERNAL_SWIFT_H
+#define FIREBASECOREINTERNAL_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+@import ObjectiveC;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseCoreInternal",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+
+@class NSString;
+@class FIRHeartbeatsPayload;
+
+/// An object that provides API to log and flush heartbeats from a synchronized storage container.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatController")
+@interface FIRHeartbeatController : NSObject
+/// Public initializer.
+/// \param id The <code>id</code> to associate this controller’s heartbeat storage with.
+///
+- (nonnull instancetype)initWithId:(NSString * _Nonnull)id OBJC_DESIGNATED_INITIALIZER;
+/// Asynchronously logs a new heartbeat, if needed.
+/// note:
+/// This API is thread-safe.
+/// \param agent The string agent (i.e. Firebase User Agent) to associate the logged heartbeat with.
+///
+- (void)log:(NSString * _Nonnull)agent;
+/// Synchronously flushes heartbeats from storage into a heartbeats payload.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat(s).
+- (FIRHeartbeatsPayload * _Nonnull)flush SWIFT_WARN_UNUSED_RESULT;
+/// Synchronously flushes the heartbeat for today.
+/// If no heartbeat was logged today, the returned payload is empty.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat.
+- (FIRHeartbeatsPayload * _Nonnull)flushHeartbeatFromToday SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+/// A model object representing a payload of heartbeat data intended for sending in network requests.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatsPayload")
+@interface FIRHeartbeatsPayload : NSObject
+/// Returns a processed payload string intended for use in a HTTP header.
+///
+/// returns:
+/// A string value from the heartbeats payload.
+- (NSString * _Nonnull)headerValue SWIFT_WARN_UNUSED_RESULT;
+/// A Boolean value indicating whether the payload is empty.
+@property (nonatomic, readonly) BOOL isEmpty;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
new file mode 100644
index 0000000..559d38b
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseCoreInternalVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreInternalVersionString[];
+
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Info.plist b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Info.plist
new file mode 100644
index 0000000..159ad17
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseCoreInternal</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo
new file mode 100644
index 0000000..44fa8ba
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos.swiftdoc b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos.swiftdoc
new file mode 100644
index 0000000..88c00bb
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos.swiftinterface b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos.swiftinterface
new file mode 100644
index 0000000..fe89947
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos.swiftinterface
@@ -0,0 +1,57 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-tvos12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseCoreInternal
+@_exported import FirebaseCoreInternal
+import Foundation
+import GoogleUtilities
+import Swift
+import _Concurrency
+@objc(FIRHeartbeatController) @objcMembers public class _ObjC_HeartbeatController : ObjectiveC.NSObject {
+  @objc public init(id: Swift.String)
+  @objc public func log(_ agent: Swift.String)
+  @objc public func flush() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc public func flushHeartbeatFromToday() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc deinit
+}
+@objc(FIRHeartbeatsPayload) public class _ObjC_HeartbeatsPayload : ObjectiveC.NSObject, FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public init(_ heartbeatsPayload: FirebaseCoreInternal.HeartbeatsPayload)
+  @objc public func headerValue() -> Swift.String
+  @objc public var isEmpty: Swift.Bool {
+    @objc get
+  }
+  @objc deinit
+}
+@_hasMissingDesignatedInitializers final public class HeartbeatController {
+  convenience public init(id: Swift.String)
+  final public func log(_ agent: Swift.String)
+  @discardableResult
+  final public func flush() -> FirebaseCoreInternal.HeartbeatsPayload
+  @discardableResult
+  final public func flushHeartbeatFromToday() -> FirebaseCoreInternal.HeartbeatsPayload
+  @objc deinit
+}
+public protocol HTTPHeaderRepresentable {
+  func headerValue() -> Swift.String
+}
+public struct HeartbeatsPayload : Swift.Codable {
+  public var isEmpty: Swift.Bool {
+    get
+  }
+  public func encode(to encoder: Swift.Encoder) throws
+  public init(from decoder: Swift.Decoder) throws
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public func headerValue() -> Swift.String
+}
+extension FirebaseCoreInternal.HeartbeatsPayload {
+  public static let dateFormatter: Foundation.DateFormatter
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : Swift.Equatable {
+  public static func == (a: FirebaseCoreInternal.HeartbeatsPayload, b: FirebaseCoreInternal.HeartbeatsPayload) -> Swift.Bool
+}
+extension Foundation.Data {
+  public func base64URLEncodedString(options: Foundation.Data.Base64EncodingOptions = []) -> Swift.String
+  public init?(base64URLEncoded base64URLString: Swift.String, options: Foundation.Data.Base64DecodingOptions = [])
+  public func zipped() throws -> Foundation.Data
+  public func unzipped() throws -> Foundation.Data
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/module.modulemap b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/module.modulemap
new file mode 100644
index 0000000..c45ad76
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64/FirebaseCoreInternal.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseCoreInternal {
+  umbrella header "FirebaseCoreInternal-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseCoreInternal.Swift {
+    header "FirebaseCoreInternal-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/FirebaseCoreInternal b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/FirebaseCoreInternal
new file mode 100644
index 0000000..e6d02d2
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/FirebaseCoreInternal
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
new file mode 100644
index 0000000..8750a58
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-Swift.h
@@ -0,0 +1,271 @@
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+#ifndef FIREBASECOREINTERNAL_SWIFT_H
+#define FIREBASECOREINTERNAL_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <Foundation/Foundation.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+#else
+# define SWIFT_RELEASES_ARGUMENT
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if __has_feature(modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+@import ObjectiveC;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseCoreInternal",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+
+@class NSString;
+@class FIRHeartbeatsPayload;
+
+/// An object that provides API to log and flush heartbeats from a synchronized storage container.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatController")
+@interface FIRHeartbeatController : NSObject
+/// Public initializer.
+/// \param id The <code>id</code> to associate this controller’s heartbeat storage with.
+///
+- (nonnull instancetype)initWithId:(NSString * _Nonnull)id OBJC_DESIGNATED_INITIALIZER;
+/// Asynchronously logs a new heartbeat, if needed.
+/// note:
+/// This API is thread-safe.
+/// \param agent The string agent (i.e. Firebase User Agent) to associate the logged heartbeat with.
+///
+- (void)log:(NSString * _Nonnull)agent;
+/// Synchronously flushes heartbeats from storage into a heartbeats payload.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat(s).
+- (FIRHeartbeatsPayload * _Nonnull)flush SWIFT_WARN_UNUSED_RESULT;
+/// Synchronously flushes the heartbeat for today.
+/// If no heartbeat was logged today, the returned payload is empty.
+/// note:
+/// This API is thread-safe.
+///
+/// returns:
+/// A heartbeats payload for the flushed heartbeat.
+- (FIRHeartbeatsPayload * _Nonnull)flushHeartbeatFromToday SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+/// A model object representing a payload of heartbeat data intended for sending in network requests.
+SWIFT_CLASS_NAMED("_ObjC_HeartbeatsPayload")
+@interface FIRHeartbeatsPayload : NSObject
+/// Returns a processed payload string intended for use in a HTTP header.
+///
+/// returns:
+/// A string value from the heartbeats payload.
+- (NSString * _Nonnull)headerValue SWIFT_WARN_UNUSED_RESULT;
+/// A Boolean value indicating whether the payload is empty.
+@property (nonatomic, readonly) BOOL isEmpty;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#pragma clang diagnostic pop
+#endif
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
new file mode 100644
index 0000000..559d38b
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Headers/FirebaseCoreInternal-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double FirebaseCoreInternalVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseCoreInternalVersionString[];
+
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Info.plist b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Info.plist
new file mode 100644
index 0000000..159ad17
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseCoreInternal</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseCoreInternal</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo
new file mode 100644
index 0000000..3ead074
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo
new file mode 100644
index 0000000..c35e63b
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos-simulator.swiftdoc b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos-simulator.swiftdoc
new file mode 100644
index 0000000..8f2e1ce
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos-simulator.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos-simulator.swiftinterface b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos-simulator.swiftinterface
new file mode 100644
index 0000000..5a28652
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/arm64-apple-tvos-simulator.swiftinterface
@@ -0,0 +1,57 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-tvos12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseCoreInternal
+@_exported import FirebaseCoreInternal
+import Foundation
+import GoogleUtilities
+import Swift
+import _Concurrency
+@objc(FIRHeartbeatController) @objcMembers public class _ObjC_HeartbeatController : ObjectiveC.NSObject {
+  @objc public init(id: Swift.String)
+  @objc public func log(_ agent: Swift.String)
+  @objc public func flush() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc public func flushHeartbeatFromToday() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc deinit
+}
+@objc(FIRHeartbeatsPayload) public class _ObjC_HeartbeatsPayload : ObjectiveC.NSObject, FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public init(_ heartbeatsPayload: FirebaseCoreInternal.HeartbeatsPayload)
+  @objc public func headerValue() -> Swift.String
+  @objc public var isEmpty: Swift.Bool {
+    @objc get
+  }
+  @objc deinit
+}
+@_hasMissingDesignatedInitializers final public class HeartbeatController {
+  convenience public init(id: Swift.String)
+  final public func log(_ agent: Swift.String)
+  @discardableResult
+  final public func flush() -> FirebaseCoreInternal.HeartbeatsPayload
+  @discardableResult
+  final public func flushHeartbeatFromToday() -> FirebaseCoreInternal.HeartbeatsPayload
+  @objc deinit
+}
+public protocol HTTPHeaderRepresentable {
+  func headerValue() -> Swift.String
+}
+public struct HeartbeatsPayload : Swift.Codable {
+  public var isEmpty: Swift.Bool {
+    get
+  }
+  public func encode(to encoder: Swift.Encoder) throws
+  public init(from decoder: Swift.Decoder) throws
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public func headerValue() -> Swift.String
+}
+extension FirebaseCoreInternal.HeartbeatsPayload {
+  public static let dateFormatter: Foundation.DateFormatter
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : Swift.Equatable {
+  public static func == (a: FirebaseCoreInternal.HeartbeatsPayload, b: FirebaseCoreInternal.HeartbeatsPayload) -> Swift.Bool
+}
+extension Foundation.Data {
+  public func base64URLEncodedString(options: Foundation.Data.Base64EncodingOptions = []) -> Swift.String
+  public init?(base64URLEncoded base64URLString: Swift.String, options: Foundation.Data.Base64DecodingOptions = [])
+  public func zipped() throws -> Foundation.Data
+  public func unzipped() throws -> Foundation.Data
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc
new file mode 100644
index 0000000..bfdbdcf
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc
Binary files differ
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface
new file mode 100644
index 0000000..eecd4bd
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/FirebaseCoreInternal.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface
@@ -0,0 +1,57 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target x86_64-apple-tvos12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseCoreInternal
+@_exported import FirebaseCoreInternal
+import Foundation
+import GoogleUtilities
+import Swift
+import _Concurrency
+@objc(FIRHeartbeatController) @objcMembers public class _ObjC_HeartbeatController : ObjectiveC.NSObject {
+  @objc public init(id: Swift.String)
+  @objc public func log(_ agent: Swift.String)
+  @objc public func flush() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc public func flushHeartbeatFromToday() -> FirebaseCoreInternal._ObjC_HeartbeatsPayload
+  @objc deinit
+}
+@objc(FIRHeartbeatsPayload) public class _ObjC_HeartbeatsPayload : ObjectiveC.NSObject, FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public init(_ heartbeatsPayload: FirebaseCoreInternal.HeartbeatsPayload)
+  @objc public func headerValue() -> Swift.String
+  @objc public var isEmpty: Swift.Bool {
+    @objc get
+  }
+  @objc deinit
+}
+@_hasMissingDesignatedInitializers final public class HeartbeatController {
+  convenience public init(id: Swift.String)
+  final public func log(_ agent: Swift.String)
+  @discardableResult
+  final public func flush() -> FirebaseCoreInternal.HeartbeatsPayload
+  @discardableResult
+  final public func flushHeartbeatFromToday() -> FirebaseCoreInternal.HeartbeatsPayload
+  @objc deinit
+}
+public protocol HTTPHeaderRepresentable {
+  func headerValue() -> Swift.String
+}
+public struct HeartbeatsPayload : Swift.Codable {
+  public var isEmpty: Swift.Bool {
+    get
+  }
+  public func encode(to encoder: Swift.Encoder) throws
+  public init(from decoder: Swift.Decoder) throws
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : FirebaseCoreInternal.HTTPHeaderRepresentable {
+  public func headerValue() -> Swift.String
+}
+extension FirebaseCoreInternal.HeartbeatsPayload {
+  public static let dateFormatter: Foundation.DateFormatter
+}
+extension FirebaseCoreInternal.HeartbeatsPayload : Swift.Equatable {
+  public static func == (a: FirebaseCoreInternal.HeartbeatsPayload, b: FirebaseCoreInternal.HeartbeatsPayload) -> Swift.Bool
+}
+extension Foundation.Data {
+  public func base64URLEncodedString(options: Foundation.Data.Base64EncodingOptions = []) -> Swift.String
+  public init?(base64URLEncoded base64URLString: Swift.String, options: Foundation.Data.Base64DecodingOptions = [])
+  public func zipped() throws -> Foundation.Data
+  public func unzipped() throws -> Foundation.Data
+}
diff --git a/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/module.modulemap b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/module.modulemap
new file mode 100644
index 0000000..c45ad76
--- /dev/null
+++ b/frameworks/FirebaseCoreInternal.xcframework/tvos-arm64_x86_64-simulator/FirebaseCoreInternal.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseCoreInternal {
+  umbrella header "FirebaseCoreInternal-umbrella.h"
+
+  export *
+  module * { export * }
+}
+
+module FirebaseCoreInternal.Swift {
+    header "FirebaseCoreInternal-Swift.h"
+    requires objc
+}
diff --git a/frameworks/FirebaseInstallations.xcframework/Info.plist b/frameworks/FirebaseInstallations.xcframework/Info.plist
index 1d56096..e89954a 100644
--- a/frameworks/FirebaseInstallations.xcframework/Info.plist
+++ b/frameworks/FirebaseInstallations.xcframework/Info.plist
@@ -6,28 +6,12 @@
 	<array>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>tvos-arm64_x86_64-simulator</string>
+			<string>ios-arm64</string>
 			<key>LibraryPath</key>
 			<string>FirebaseInstallations.framework</string>
 			<key>SupportedArchitectures</key>
 			<array>
 				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>tvos</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_armv7</string>
-			<key>LibraryPath</key>
-			<string>FirebaseInstallations.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>armv7</string>
 			</array>
 			<key>SupportedPlatform</key>
 			<string>ios</string>
@@ -49,22 +33,6 @@
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>ios-arm64_i386_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>FirebaseInstallations.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>i386</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
 			<string>macos-arm64_x86_64</string>
 			<key>LibraryPath</key>
 			<string>FirebaseInstallations.framework</string>
@@ -78,6 +46,36 @@
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
+			<string>tvos-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>FirebaseInstallations.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>tvos</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>FirebaseInstallations.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
 			<string>tvos-arm64</string>
 			<key>LibraryPath</key>
 			<string>FirebaseInstallations.framework</string>
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/FirebaseInstallations b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/FirebaseInstallations
new file mode 100644
index 0000000..a6ae462
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/FirebaseInstallations
Binary files differ
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallations.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallations.h
new file mode 100644
index 0000000..1811d2b
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallations.h
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2019 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class FIRApp;
+@class FIRInstallationsAuthTokenResult;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** A notification with this name is sent each time an installation is created or deleted. */
+// clang-format off
+// clang-format12 merges the next two lines.
+FOUNDATION_EXPORT const NSNotificationName FIRInstallationIDDidChangeNotification
+    NS_SWIFT_NAME(InstallationIDDidChange);
+/** `userInfo` key for the `FirebaseApp.name` in `InstallationIDDidChangeNotification`. */
+FOUNDATION_EXPORT NSString *const kFIRInstallationIDDidChangeNotificationAppNameKey
+    NS_SWIFT_NAME(InstallationIDDidChangeAppNameKey);
+// clang-format on
+
+/**
+ * An installation ID handler block.
+ * @param identifier The installation ID string if exists or `nil` otherwise.
+ * @param error The error when `identifier == nil` or `nil` otherwise.
+ */
+typedef void (^FIRInstallationsIDHandler)(NSString *__nullable identifier,
+                                          NSError *__nullable error)
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
+
+/**
+ * An authorization token handler block.
+ * @param tokenResult An instance of `InstallationsAuthTokenResult` in case of success or `nil`
+ * otherwise.
+ * @param error The error when `tokenResult == nil` or `nil` otherwise.
+ */
+typedef void (^FIRInstallationsTokenHandler)(
+    FIRInstallationsAuthTokenResult *__nullable tokenResult, NSError *__nullable error)
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
+
+/**
+ * The class provides API for Firebase Installations.
+ * Each configured `FirebaseApp` has a corresponding single instance of `Installations`.
+ * An instance of the class provides access to the installation info for the `FirebaseApp` as well
+ * as the ability to delete it. A Firebase Installation is unique by `FirebaseApp.name` and
+ * `FirebaseApp.options.googleAppID` .
+ */
+NS_SWIFT_NAME(Installations)
+@interface FIRInstallations : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Returns a default instance of `Installations`.
+ * @return An instance of `Installations` for `FirebaseApp.defaultApp().
+ * @throw Throws an exception if the default app is not configured yet or required  `FirebaseApp`
+ * options are missing.
+ */
++ (FIRInstallations *)installations NS_SWIFT_NAME(installations());
+
+/**
+ * Returns an instance of `Installations` for an application.
+ * @param application A configured `FirebaseApp` instance.
+ * @return An instance of `Installations` corresponding to the passed application.
+ * @throw Throws an exception if required `FirebaseApp` options are missing.
+ */
++ (FIRInstallations *)installationsWithApp:(FIRApp *)application NS_SWIFT_NAME(installations(app:));
+
+/**
+ * The method creates or retrieves an installation ID. The installation ID is a stable identifier
+ * that uniquely identifies the app instance. NOTE: If the application already has an existing
+ * FirebaseInstanceID then the InstanceID identifier will be used.
+ * @param completion A completion handler which is invoked when the operation completes.
+ */
+- (void)installationIDWithCompletion:(void (^)(NSString *__nullable identifier,
+                                               NSError *__nullable error))completion;
+
+/**
+ * Retrieves (locally if it exists or from the server) a valid installation auth token. An existing
+ * token may be invalidated or expired, so it is recommended to fetch the installation auth token
+ * before each server request. The method does the same as
+ * `Installations.authToken(forcingRefresh:completion:)` with forcing refresh `false`.
+ * @param completion A completion handler which is invoked when the operation completes.
+ */
+- (void)authTokenWithCompletion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
+
+/**
+ * Retrieves (locally or from the server depending on `forceRefresh` value) a valid installation
+ * auth token. An existing token may be invalidated or expire, so it is recommended to fetch the
+ * installation auth token before each server request. This method should be used with `forceRefresh
+ * == true` when e.g. a request with the previously fetched installation auth token failed with "Not
+ * Authorized" error.
+ * @param forceRefresh If `true` then the locally cached installation auth token will be ignored and
+ * a new one will be requested from the server. If `false`, then the locally cached installation
+ * auth token will be returned if exists and has not expired yet.
+ * @param completion  A completion handler which is invoked when the operation completes. See
+ * `InstallationsTokenHandler` for additional details.
+ */
+- (void)authTokenForcingRefresh:(BOOL)forceRefresh
+                     completion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
+
+/**
+ * Deletes all the installation data including the unique identifier, auth tokens and
+ * all related data on the server side. A network connection is required for the method to
+ * succeed. If fails, the existing installation data remains untouched.
+ * @param completion A completion handler which is invoked when the operation completes. `error ==
+ * nil` indicates success.
+ */
+- (void)deleteWithCompletion:(void (^)(NSError *__nullable error))completion;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h
similarity index 100%
rename from frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h
rename to frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
new file mode 100644
index 0000000..939ca0a
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2019 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+extern NSString *const kFirebaseInstallationsErrorDomain NS_SWIFT_NAME(InstallationsErrorDomain);
+
+typedef NS_ERROR_ENUM(kFirebaseInstallationsErrorDomain, FIRInstallationsErrorCode){
+    /** Unknown error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeUnknown = 0,
+
+    /** Keychain error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeKeychain = 1,
+
+    /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
+    FIRInstallationsErrorCodeServerUnreachable = 2,
+
+    /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details.
+     */
+    FIRInstallationsErrorCodeInvalidConfiguration = 3,
+
+} NS_SWIFT_NAME(InstallationsErrorCode);
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
new file mode 100644
index 0000000..431ef45
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
@@ -0,0 +1,20 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FirebaseInstallations.h"
+#import "FIRInstallations.h"
+#import "FIRInstallationsAuthTokenResult.h"
+#import "FIRInstallationsErrors.h"
+
+FOUNDATION_EXPORT double FirebaseInstallationsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseInstallationsVersionString[];
+
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Headers/FirebaseInstallations.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations.h
similarity index 100%
rename from frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Headers/FirebaseInstallations.h
rename to frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations.h
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Info.plist b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Info.plist
new file mode 100644
index 0000000..b44cb38
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseInstallations</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseInstallations</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseInstallations</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Modules/module.modulemap b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Modules/module.modulemap
new file mode 100644
index 0000000..be6b28f
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64/FirebaseInstallations.framework/Modules/module.modulemap
@@ -0,0 +1,9 @@
+framework module FirebaseInstallations {
+umbrella header "FirebaseInstallations-umbrella.h"
+export *
+module * { export * }
+  link framework "Foundation"
+  link framework "Security"
+  link framework "UIKit"
+  link "z"
+}
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/FirebaseInstallations b/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/FirebaseInstallations
deleted file mode 100644
index 245cb52..0000000
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/FirebaseInstallations
+++ /dev/null
Binary files differ
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Headers/FIRInstallations.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Headers/FIRInstallations.h
deleted file mode 100644
index 9ffe9ee..0000000
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Headers/FIRInstallations.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class FIRApp;
-@class FIRInstallationsAuthTokenResult;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** A notification with this name is sent each time an installation is created or deleted. */
-// clang-format off
-// clang-format12 merges the next two lines.
-FOUNDATION_EXPORT const NSNotificationName FIRInstallationIDDidChangeNotification
-    NS_SWIFT_NAME(InstallationIDDidChange);
-/** `userInfo` key for the `FirebaseApp.name` in `FIRInstallationIDDidChangeNotification`. */
-FOUNDATION_EXPORT NSString *const kFIRInstallationIDDidChangeNotificationAppNameKey
-    NS_SWIFT_NAME(InstallationIDDidChangeAppNameKey);
-// clang-format on
-
-/**
- * An installation ID handler block.
- * @param identifier The installation ID string if exists or `nil` otherwise.
- * @param error The error when `identifier == nil` or `nil` otherwise.
- */
-typedef void (^FIRInstallationsIDHandler)(NSString *__nullable identifier,
-                                          NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsIDHandler);
-
-/**
- * An authorization token handler block.
- * @param tokenResult An instance of `InstallationsAuthTokenResult` in case of success or `nil`
- * otherwise.
- * @param error The error when `tokenResult == nil` or `nil` otherwise.
- */
-typedef void (^FIRInstallationsTokenHandler)(
-    FIRInstallationsAuthTokenResult *__nullable tokenResult, NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsTokenHandler);
-
-/**
- * The class provides API for Firebase Installations.
- * Each configured `FirebaseApp` has a corresponding single instance of `Installations`.
- * An instance of the class provides access to the installation info for the `FirebaseApp` as well
- * as the ability to delete it. A Firebase Installation is unique by `FirebaseApp.name` and
- * `FirebaseApp.options.googleAppID` .
- */
-NS_SWIFT_NAME(Installations)
-@interface FIRInstallations : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/**
- * Returns a default instance of `Installations`.
- * @returns An instance of `Installations` for `FirebaseApp.defaultApp().
- * @throw Throws an exception if the default app is not configured yet or required  `FirebaseApp`
- * options are missing.
- */
-+ (FIRInstallations *)installations NS_SWIFT_NAME(installations());
-
-/**
- * Returns an instance of `Installations` for an application.
- * @param application A configured `FirebaseApp` instance.
- * @returns An instance of `Installations` corresponding to the passed application.
- * @throw Throws an exception if required `FirebaseApp` options are missing.
- */
-+ (FIRInstallations *)installationsWithApp:(FIRApp *)application
-    NS_SWIFT_NAME(installations(app:));
-
-/**
- * The method creates or retrieves an installation ID. The installation ID is a stable identifier
- * that uniquely identifies the app instance. NOTE: If the application already has an existing
- * FirebaseInstanceID then the InstanceID identifier will be used.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsIDHandler` for additional details.
- */
-- (void)installationIDWithCompletion:(FIRInstallationsIDHandler)completion;
-
-/**
- * Retrieves (locally if it exists or from the server) a valid installation auth token. An existing
- * token may be invalidated or expired, so it is recommended to fetch the installation auth token
- * before each server request. The method does the same as `Installations.authTokenForcingRefresh(:,
- * completion:)` with forcing refresh `NO`.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsTokenHandler` for additional details.
- */
-- (void)authTokenWithCompletion:(FIRInstallationsTokenHandler)completion;
-
-/**
- * Retrieves (locally or from the server depending on `forceRefresh` value) a valid installation
- * auth token. An existing token may be invalidated or expire, so it is recommended to fetch the
- * installation auth token before each server request. This method should be used with `forceRefresh
- * == YES` when e.g. a request with the previously fetched installation auth token failed with "Not
- * Authorized" error.
- * @param forceRefresh If `YES` then the locally cached installation auth token will be ignored and
- * a new one will be requested from the server. If `NO`, then the locally cached installation auth
- * token will be returned if exists and has not expired yet.
- * @param completion  A completion handler which is invoked when the operation completes. See
- * `InstallationsTokenHandler` for additional details.
- */
-- (void)authTokenForcingRefresh:(BOOL)forceRefresh
-                     completion:(FIRInstallationsTokenHandler)completion;
-
-/**
- * Deletes all the installation data including the unique identifier, auth tokens and
- * all related data on the server side. A network connection is required for the method to
- * succeed. If fails, the existing installation data remains untouched.
- * @param completion A completion handler which is invoked when the operation completes. `error ==
- * nil` indicates success.
- */
-- (void)deleteWithCompletion:(void (^)(NSError *__nullable error))completion;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
deleted file mode 100644
index d0c3b99..0000000
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-extern NSString *const kFirebaseInstallationsErrorDomain;
-
-typedef NS_ENUM(NSUInteger, FIRInstallationsErrorCode) {
-  /** Unknown error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeUnknown = 0,
-
-  /** Keychain error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeKeychain = 1,
-
-  /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
-  FIRInstallationsErrorCodeServerUnreachable = 2,
-
-  /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details. */
-  FIRInstallationsErrorCodeInvalidConfiguration = 3,
-
-} NS_SWIFT_NAME(InstallationsErrorCode);
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Info.plist b/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Info.plist
deleted file mode 100644
index 34d140c..0000000
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>FirebaseInstallations</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-FirebaseInstallations</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>FirebaseInstallations</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Modules/module.modulemap b/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Modules/module.modulemap
deleted file mode 100644
index 222f6b2..0000000
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_armv7/FirebaseInstallations.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,11 +0,0 @@
-framework module FirebaseInstallations {
-umbrella header "FirebaseInstallations.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Foundation"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link framework "UIKit"
-  link "z"
-}
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations b/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations
deleted file mode 100644
index f7d6b29..0000000
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations
+++ /dev/null
Binary files differ
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h
deleted file mode 100644
index 9ffe9ee..0000000
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class FIRApp;
-@class FIRInstallationsAuthTokenResult;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** A notification with this name is sent each time an installation is created or deleted. */
-// clang-format off
-// clang-format12 merges the next two lines.
-FOUNDATION_EXPORT const NSNotificationName FIRInstallationIDDidChangeNotification
-    NS_SWIFT_NAME(InstallationIDDidChange);
-/** `userInfo` key for the `FirebaseApp.name` in `FIRInstallationIDDidChangeNotification`. */
-FOUNDATION_EXPORT NSString *const kFIRInstallationIDDidChangeNotificationAppNameKey
-    NS_SWIFT_NAME(InstallationIDDidChangeAppNameKey);
-// clang-format on
-
-/**
- * An installation ID handler block.
- * @param identifier The installation ID string if exists or `nil` otherwise.
- * @param error The error when `identifier == nil` or `nil` otherwise.
- */
-typedef void (^FIRInstallationsIDHandler)(NSString *__nullable identifier,
-                                          NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsIDHandler);
-
-/**
- * An authorization token handler block.
- * @param tokenResult An instance of `InstallationsAuthTokenResult` in case of success or `nil`
- * otherwise.
- * @param error The error when `tokenResult == nil` or `nil` otherwise.
- */
-typedef void (^FIRInstallationsTokenHandler)(
-    FIRInstallationsAuthTokenResult *__nullable tokenResult, NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsTokenHandler);
-
-/**
- * The class provides API for Firebase Installations.
- * Each configured `FirebaseApp` has a corresponding single instance of `Installations`.
- * An instance of the class provides access to the installation info for the `FirebaseApp` as well
- * as the ability to delete it. A Firebase Installation is unique by `FirebaseApp.name` and
- * `FirebaseApp.options.googleAppID` .
- */
-NS_SWIFT_NAME(Installations)
-@interface FIRInstallations : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/**
- * Returns a default instance of `Installations`.
- * @returns An instance of `Installations` for `FirebaseApp.defaultApp().
- * @throw Throws an exception if the default app is not configured yet or required  `FirebaseApp`
- * options are missing.
- */
-+ (FIRInstallations *)installations NS_SWIFT_NAME(installations());
-
-/**
- * Returns an instance of `Installations` for an application.
- * @param application A configured `FirebaseApp` instance.
- * @returns An instance of `Installations` corresponding to the passed application.
- * @throw Throws an exception if required `FirebaseApp` options are missing.
- */
-+ (FIRInstallations *)installationsWithApp:(FIRApp *)application
-    NS_SWIFT_NAME(installations(app:));
-
-/**
- * The method creates or retrieves an installation ID. The installation ID is a stable identifier
- * that uniquely identifies the app instance. NOTE: If the application already has an existing
- * FirebaseInstanceID then the InstanceID identifier will be used.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsIDHandler` for additional details.
- */
-- (void)installationIDWithCompletion:(FIRInstallationsIDHandler)completion;
-
-/**
- * Retrieves (locally if it exists or from the server) a valid installation auth token. An existing
- * token may be invalidated or expired, so it is recommended to fetch the installation auth token
- * before each server request. The method does the same as `Installations.authTokenForcingRefresh(:,
- * completion:)` with forcing refresh `NO`.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsTokenHandler` for additional details.
- */
-- (void)authTokenWithCompletion:(FIRInstallationsTokenHandler)completion;
-
-/**
- * Retrieves (locally or from the server depending on `forceRefresh` value) a valid installation
- * auth token. An existing token may be invalidated or expire, so it is recommended to fetch the
- * installation auth token before each server request. This method should be used with `forceRefresh
- * == YES` when e.g. a request with the previously fetched installation auth token failed with "Not
- * Authorized" error.
- * @param forceRefresh If `YES` then the locally cached installation auth token will be ignored and
- * a new one will be requested from the server. If `NO`, then the locally cached installation auth
- * token will be returned if exists and has not expired yet.
- * @param completion  A completion handler which is invoked when the operation completes. See
- * `InstallationsTokenHandler` for additional details.
- */
-- (void)authTokenForcingRefresh:(BOOL)forceRefresh
-                     completion:(FIRInstallationsTokenHandler)completion;
-
-/**
- * Deletes all the installation data including the unique identifier, auth tokens and
- * all related data on the server side. A network connection is required for the method to
- * succeed. If fails, the existing installation data remains untouched.
- * @param completion A completion handler which is invoked when the operation completes. `error ==
- * nil` indicates success.
- */
-- (void)deleteWithCompletion:(void (^)(NSError *__nullable error))completion;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
deleted file mode 100644
index d0c3b99..0000000
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-extern NSString *const kFirebaseInstallationsErrorDomain;
-
-typedef NS_ENUM(NSUInteger, FIRInstallationsErrorCode) {
-  /** Unknown error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeUnknown = 0,
-
-  /** Keychain error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeKeychain = 1,
-
-  /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
-  FIRInstallationsErrorCodeServerUnreachable = 2,
-
-  /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details. */
-  FIRInstallationsErrorCodeInvalidConfiguration = 3,
-
-} NS_SWIFT_NAME(InstallationsErrorCode);
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Info.plist b/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Info.plist
deleted file mode 100644
index 34d140c..0000000
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>FirebaseInstallations</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-FirebaseInstallations</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>FirebaseInstallations</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap b/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap
deleted file mode 100644
index 222f6b2..0000000
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,11 +0,0 @@
-framework module FirebaseInstallations {
-umbrella header "FirebaseInstallations.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Foundation"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link framework "UIKit"
-  link "z"
-}
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/FirebaseInstallations b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/FirebaseInstallations
index 7e8da0a..323aeb8 100644
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/FirebaseInstallations
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/FirebaseInstallations
Binary files differ
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FIRInstallations.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FIRInstallations.h
index 9ffe9ee..1811d2b 100644
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FIRInstallations.h
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FIRInstallations.h
@@ -26,7 +26,7 @@
 // clang-format12 merges the next two lines.
 FOUNDATION_EXPORT const NSNotificationName FIRInstallationIDDidChangeNotification
     NS_SWIFT_NAME(InstallationIDDidChange);
-/** `userInfo` key for the `FirebaseApp.name` in `FIRInstallationIDDidChangeNotification`. */
+/** `userInfo` key for the `FirebaseApp.name` in `InstallationIDDidChangeNotification`. */
 FOUNDATION_EXPORT NSString *const kFIRInstallationIDDidChangeNotificationAppNameKey
     NS_SWIFT_NAME(InstallationIDDidChangeAppNameKey);
 // clang-format on
@@ -38,7 +38,7 @@
  */
 typedef void (^FIRInstallationsIDHandler)(NSString *__nullable identifier,
                                           NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsIDHandler);
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * An authorization token handler block.
@@ -48,7 +48,7 @@
  */
 typedef void (^FIRInstallationsTokenHandler)(
     FIRInstallationsAuthTokenResult *__nullable tokenResult, NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsTokenHandler);
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * The class provides API for Firebase Installations.
@@ -64,7 +64,7 @@
 
 /**
  * Returns a default instance of `Installations`.
- * @returns An instance of `Installations` for `FirebaseApp.defaultApp().
+ * @return An instance of `Installations` for `FirebaseApp.defaultApp().
  * @throw Throws an exception if the default app is not configured yet or required  `FirebaseApp`
  * options are missing.
  */
@@ -73,45 +73,45 @@
 /**
  * Returns an instance of `Installations` for an application.
  * @param application A configured `FirebaseApp` instance.
- * @returns An instance of `Installations` corresponding to the passed application.
+ * @return An instance of `Installations` corresponding to the passed application.
  * @throw Throws an exception if required `FirebaseApp` options are missing.
  */
-+ (FIRInstallations *)installationsWithApp:(FIRApp *)application
-    NS_SWIFT_NAME(installations(app:));
++ (FIRInstallations *)installationsWithApp:(FIRApp *)application NS_SWIFT_NAME(installations(app:));
 
 /**
  * The method creates or retrieves an installation ID. The installation ID is a stable identifier
  * that uniquely identifies the app instance. NOTE: If the application already has an existing
  * FirebaseInstanceID then the InstanceID identifier will be used.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsIDHandler` for additional details.
+ * @param completion A completion handler which is invoked when the operation completes.
  */
-- (void)installationIDWithCompletion:(FIRInstallationsIDHandler)completion;
+- (void)installationIDWithCompletion:(void (^)(NSString *__nullable identifier,
+                                               NSError *__nullable error))completion;
 
 /**
  * Retrieves (locally if it exists or from the server) a valid installation auth token. An existing
  * token may be invalidated or expired, so it is recommended to fetch the installation auth token
- * before each server request. The method does the same as `Installations.authTokenForcingRefresh(:,
- * completion:)` with forcing refresh `NO`.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsTokenHandler` for additional details.
+ * before each server request. The method does the same as
+ * `Installations.authToken(forcingRefresh:completion:)` with forcing refresh `false`.
+ * @param completion A completion handler which is invoked when the operation completes.
  */
-- (void)authTokenWithCompletion:(FIRInstallationsTokenHandler)completion;
+- (void)authTokenWithCompletion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
 
 /**
  * Retrieves (locally or from the server depending on `forceRefresh` value) a valid installation
  * auth token. An existing token may be invalidated or expire, so it is recommended to fetch the
  * installation auth token before each server request. This method should be used with `forceRefresh
- * == YES` when e.g. a request with the previously fetched installation auth token failed with "Not
+ * == true` when e.g. a request with the previously fetched installation auth token failed with "Not
  * Authorized" error.
- * @param forceRefresh If `YES` then the locally cached installation auth token will be ignored and
- * a new one will be requested from the server. If `NO`, then the locally cached installation auth
- * token will be returned if exists and has not expired yet.
+ * @param forceRefresh If `true` then the locally cached installation auth token will be ignored and
+ * a new one will be requested from the server. If `false`, then the locally cached installation
+ * auth token will be returned if exists and has not expired yet.
  * @param completion  A completion handler which is invoked when the operation completes. See
  * `InstallationsTokenHandler` for additional details.
  */
 - (void)authTokenForcingRefresh:(BOOL)forceRefresh
-                     completion:(FIRInstallationsTokenHandler)completion;
+                     completion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
 
 /**
  * Deletes all the installation data including the unique identifier, auth tokens and
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
index d0c3b99..939ca0a 100644
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
@@ -16,19 +16,20 @@
 
 #import <Foundation/Foundation.h>
 
-extern NSString *const kFirebaseInstallationsErrorDomain;
+extern NSString *const kFirebaseInstallationsErrorDomain NS_SWIFT_NAME(InstallationsErrorDomain);
 
-typedef NS_ENUM(NSUInteger, FIRInstallationsErrorCode) {
-  /** Unknown error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeUnknown = 0,
+typedef NS_ERROR_ENUM(kFirebaseInstallationsErrorDomain, FIRInstallationsErrorCode){
+    /** Unknown error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeUnknown = 0,
 
-  /** Keychain error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeKeychain = 1,
+    /** Keychain error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeKeychain = 1,
 
-  /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
-  FIRInstallationsErrorCodeServerUnreachable = 2,
+    /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
+    FIRInstallationsErrorCodeServerUnreachable = 2,
 
-  /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details. */
-  FIRInstallationsErrorCodeInvalidConfiguration = 3,
+    /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details.
+     */
+    FIRInstallationsErrorCodeInvalidConfiguration = 3,
 
 } NS_SWIFT_NAME(InstallationsErrorCode);
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
new file mode 100644
index 0000000..431ef45
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
@@ -0,0 +1,20 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FirebaseInstallations.h"
+#import "FIRInstallations.h"
+#import "FIRInstallationsAuthTokenResult.h"
+#import "FIRInstallationsErrors.h"
+
+FOUNDATION_EXPORT double FirebaseInstallationsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseInstallationsVersionString[];
+
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Info.plist b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Info.plist
index 34d140c..b44cb38 100644
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Info.plist
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Modules/module.modulemap b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Modules/module.modulemap
index 222f6b2..be6b28f 100644
--- a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseInstallations.framework/Modules/module.modulemap
@@ -1,11 +1,9 @@
 framework module FirebaseInstallations {
-umbrella header "FirebaseInstallations.h"
+umbrella header "FirebaseInstallations-umbrella.h"
 export *
 module * { export * }
-  link framework "CoreTelephony"
   link framework "Foundation"
   link framework "Security"
-  link framework "SystemConfiguration"
   link framework "UIKit"
   link "z"
 }
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations
new file mode 100644
index 0000000..5331208
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations
Binary files differ
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h
new file mode 100644
index 0000000..1811d2b
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2019 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class FIRApp;
+@class FIRInstallationsAuthTokenResult;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** A notification with this name is sent each time an installation is created or deleted. */
+// clang-format off
+// clang-format12 merges the next two lines.
+FOUNDATION_EXPORT const NSNotificationName FIRInstallationIDDidChangeNotification
+    NS_SWIFT_NAME(InstallationIDDidChange);
+/** `userInfo` key for the `FirebaseApp.name` in `InstallationIDDidChangeNotification`. */
+FOUNDATION_EXPORT NSString *const kFIRInstallationIDDidChangeNotificationAppNameKey
+    NS_SWIFT_NAME(InstallationIDDidChangeAppNameKey);
+// clang-format on
+
+/**
+ * An installation ID handler block.
+ * @param identifier The installation ID string if exists or `nil` otherwise.
+ * @param error The error when `identifier == nil` or `nil` otherwise.
+ */
+typedef void (^FIRInstallationsIDHandler)(NSString *__nullable identifier,
+                                          NSError *__nullable error)
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
+
+/**
+ * An authorization token handler block.
+ * @param tokenResult An instance of `InstallationsAuthTokenResult` in case of success or `nil`
+ * otherwise.
+ * @param error The error when `tokenResult == nil` or `nil` otherwise.
+ */
+typedef void (^FIRInstallationsTokenHandler)(
+    FIRInstallationsAuthTokenResult *__nullable tokenResult, NSError *__nullable error)
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
+
+/**
+ * The class provides API for Firebase Installations.
+ * Each configured `FirebaseApp` has a corresponding single instance of `Installations`.
+ * An instance of the class provides access to the installation info for the `FirebaseApp` as well
+ * as the ability to delete it. A Firebase Installation is unique by `FirebaseApp.name` and
+ * `FirebaseApp.options.googleAppID` .
+ */
+NS_SWIFT_NAME(Installations)
+@interface FIRInstallations : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Returns a default instance of `Installations`.
+ * @return An instance of `Installations` for `FirebaseApp.defaultApp().
+ * @throw Throws an exception if the default app is not configured yet or required  `FirebaseApp`
+ * options are missing.
+ */
++ (FIRInstallations *)installations NS_SWIFT_NAME(installations());
+
+/**
+ * Returns an instance of `Installations` for an application.
+ * @param application A configured `FirebaseApp` instance.
+ * @return An instance of `Installations` corresponding to the passed application.
+ * @throw Throws an exception if required `FirebaseApp` options are missing.
+ */
++ (FIRInstallations *)installationsWithApp:(FIRApp *)application NS_SWIFT_NAME(installations(app:));
+
+/**
+ * The method creates or retrieves an installation ID. The installation ID is a stable identifier
+ * that uniquely identifies the app instance. NOTE: If the application already has an existing
+ * FirebaseInstanceID then the InstanceID identifier will be used.
+ * @param completion A completion handler which is invoked when the operation completes.
+ */
+- (void)installationIDWithCompletion:(void (^)(NSString *__nullable identifier,
+                                               NSError *__nullable error))completion;
+
+/**
+ * Retrieves (locally if it exists or from the server) a valid installation auth token. An existing
+ * token may be invalidated or expired, so it is recommended to fetch the installation auth token
+ * before each server request. The method does the same as
+ * `Installations.authToken(forcingRefresh:completion:)` with forcing refresh `false`.
+ * @param completion A completion handler which is invoked when the operation completes.
+ */
+- (void)authTokenWithCompletion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
+
+/**
+ * Retrieves (locally or from the server depending on `forceRefresh` value) a valid installation
+ * auth token. An existing token may be invalidated or expire, so it is recommended to fetch the
+ * installation auth token before each server request. This method should be used with `forceRefresh
+ * == true` when e.g. a request with the previously fetched installation auth token failed with "Not
+ * Authorized" error.
+ * @param forceRefresh If `true` then the locally cached installation auth token will be ignored and
+ * a new one will be requested from the server. If `false`, then the locally cached installation
+ * auth token will be returned if exists and has not expired yet.
+ * @param completion  A completion handler which is invoked when the operation completes. See
+ * `InstallationsTokenHandler` for additional details.
+ */
+- (void)authTokenForcingRefresh:(BOOL)forceRefresh
+                     completion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
+
+/**
+ * Deletes all the installation data including the unique identifier, auth tokens and
+ * all related data on the server side. A network connection is required for the method to
+ * succeed. If fails, the existing installation data remains untouched.
+ * @param completion A completion handler which is invoked when the operation completes. `error ==
+ * nil` indicates success.
+ */
+- (void)deleteWithCompletion:(void (^)(NSError *__nullable error))completion;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h
similarity index 100%
rename from frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h
rename to frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
new file mode 100644
index 0000000..939ca0a
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2019 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+extern NSString *const kFirebaseInstallationsErrorDomain NS_SWIFT_NAME(InstallationsErrorDomain);
+
+typedef NS_ERROR_ENUM(kFirebaseInstallationsErrorDomain, FIRInstallationsErrorCode){
+    /** Unknown error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeUnknown = 0,
+
+    /** Keychain error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeKeychain = 1,
+
+    /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
+    FIRInstallationsErrorCodeServerUnreachable = 2,
+
+    /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details.
+     */
+    FIRInstallationsErrorCodeInvalidConfiguration = 3,
+
+} NS_SWIFT_NAME(InstallationsErrorCode);
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
new file mode 100644
index 0000000..431ef45
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
@@ -0,0 +1,20 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FirebaseInstallations.h"
+#import "FIRInstallations.h"
+#import "FIRInstallationsAuthTokenResult.h"
+#import "FIRInstallationsErrors.h"
+
+FOUNDATION_EXPORT double FirebaseInstallationsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseInstallationsVersionString[];
+
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations.h b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations.h
similarity index 100%
rename from frameworks/FirebaseInstallations.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations.h
rename to frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations.h
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Info.plist b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Info.plist
new file mode 100644
index 0000000..b44cb38
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>FirebaseInstallations</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseInstallations</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseInstallations</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>10.9.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap
new file mode 100644
index 0000000..be6b28f
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/ios-arm64_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap
@@ -0,0 +1,9 @@
+framework module FirebaseInstallations {
+umbrella header "FirebaseInstallations-umbrella.h"
+export *
+module * { export * }
+  link framework "Foundation"
+  link framework "Security"
+  link framework "UIKit"
+  link "z"
+}
diff --git a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/FirebaseInstallations b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/FirebaseInstallations
index 65ae2e3..d262fef 100644
--- a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/FirebaseInstallations
+++ b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/FirebaseInstallations
Binary files differ
diff --git a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FIRInstallations.h b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FIRInstallations.h
index 9ffe9ee..1811d2b 100644
--- a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FIRInstallations.h
+++ b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FIRInstallations.h
@@ -26,7 +26,7 @@
 // clang-format12 merges the next two lines.
 FOUNDATION_EXPORT const NSNotificationName FIRInstallationIDDidChangeNotification
     NS_SWIFT_NAME(InstallationIDDidChange);
-/** `userInfo` key for the `FirebaseApp.name` in `FIRInstallationIDDidChangeNotification`. */
+/** `userInfo` key for the `FirebaseApp.name` in `InstallationIDDidChangeNotification`. */
 FOUNDATION_EXPORT NSString *const kFIRInstallationIDDidChangeNotificationAppNameKey
     NS_SWIFT_NAME(InstallationIDDidChangeAppNameKey);
 // clang-format on
@@ -38,7 +38,7 @@
  */
 typedef void (^FIRInstallationsIDHandler)(NSString *__nullable identifier,
                                           NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsIDHandler);
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * An authorization token handler block.
@@ -48,7 +48,7 @@
  */
 typedef void (^FIRInstallationsTokenHandler)(
     FIRInstallationsAuthTokenResult *__nullable tokenResult, NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsTokenHandler);
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * The class provides API for Firebase Installations.
@@ -64,7 +64,7 @@
 
 /**
  * Returns a default instance of `Installations`.
- * @returns An instance of `Installations` for `FirebaseApp.defaultApp().
+ * @return An instance of `Installations` for `FirebaseApp.defaultApp().
  * @throw Throws an exception if the default app is not configured yet or required  `FirebaseApp`
  * options are missing.
  */
@@ -73,45 +73,45 @@
 /**
  * Returns an instance of `Installations` for an application.
  * @param application A configured `FirebaseApp` instance.
- * @returns An instance of `Installations` corresponding to the passed application.
+ * @return An instance of `Installations` corresponding to the passed application.
  * @throw Throws an exception if required `FirebaseApp` options are missing.
  */
-+ (FIRInstallations *)installationsWithApp:(FIRApp *)application
-    NS_SWIFT_NAME(installations(app:));
++ (FIRInstallations *)installationsWithApp:(FIRApp *)application NS_SWIFT_NAME(installations(app:));
 
 /**
  * The method creates or retrieves an installation ID. The installation ID is a stable identifier
  * that uniquely identifies the app instance. NOTE: If the application already has an existing
  * FirebaseInstanceID then the InstanceID identifier will be used.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsIDHandler` for additional details.
+ * @param completion A completion handler which is invoked when the operation completes.
  */
-- (void)installationIDWithCompletion:(FIRInstallationsIDHandler)completion;
+- (void)installationIDWithCompletion:(void (^)(NSString *__nullable identifier,
+                                               NSError *__nullable error))completion;
 
 /**
  * Retrieves (locally if it exists or from the server) a valid installation auth token. An existing
  * token may be invalidated or expired, so it is recommended to fetch the installation auth token
- * before each server request. The method does the same as `Installations.authTokenForcingRefresh(:,
- * completion:)` with forcing refresh `NO`.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsTokenHandler` for additional details.
+ * before each server request. The method does the same as
+ * `Installations.authToken(forcingRefresh:completion:)` with forcing refresh `false`.
+ * @param completion A completion handler which is invoked when the operation completes.
  */
-- (void)authTokenWithCompletion:(FIRInstallationsTokenHandler)completion;
+- (void)authTokenWithCompletion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
 
 /**
  * Retrieves (locally or from the server depending on `forceRefresh` value) a valid installation
  * auth token. An existing token may be invalidated or expire, so it is recommended to fetch the
  * installation auth token before each server request. This method should be used with `forceRefresh
- * == YES` when e.g. a request with the previously fetched installation auth token failed with "Not
+ * == true` when e.g. a request with the previously fetched installation auth token failed with "Not
  * Authorized" error.
- * @param forceRefresh If `YES` then the locally cached installation auth token will be ignored and
- * a new one will be requested from the server. If `NO`, then the locally cached installation auth
- * token will be returned if exists and has not expired yet.
+ * @param forceRefresh If `true` then the locally cached installation auth token will be ignored and
+ * a new one will be requested from the server. If `false`, then the locally cached installation
+ * auth token will be returned if exists and has not expired yet.
  * @param completion  A completion handler which is invoked when the operation completes. See
  * `InstallationsTokenHandler` for additional details.
  */
 - (void)authTokenForcingRefresh:(BOOL)forceRefresh
-                     completion:(FIRInstallationsTokenHandler)completion;
+                     completion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
 
 /**
  * Deletes all the installation data including the unique identifier, auth tokens and
diff --git a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
index d0c3b99..939ca0a 100644
--- a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
+++ b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
@@ -16,19 +16,20 @@
 
 #import <Foundation/Foundation.h>
 
-extern NSString *const kFirebaseInstallationsErrorDomain;
+extern NSString *const kFirebaseInstallationsErrorDomain NS_SWIFT_NAME(InstallationsErrorDomain);
 
-typedef NS_ENUM(NSUInteger, FIRInstallationsErrorCode) {
-  /** Unknown error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeUnknown = 0,
+typedef NS_ERROR_ENUM(kFirebaseInstallationsErrorDomain, FIRInstallationsErrorCode){
+    /** Unknown error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeUnknown = 0,
 
-  /** Keychain error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeKeychain = 1,
+    /** Keychain error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeKeychain = 1,
 
-  /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
-  FIRInstallationsErrorCodeServerUnreachable = 2,
+    /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
+    FIRInstallationsErrorCodeServerUnreachable = 2,
 
-  /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details. */
-  FIRInstallationsErrorCodeInvalidConfiguration = 3,
+    /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details.
+     */
+    FIRInstallationsErrorCodeInvalidConfiguration = 3,
 
 } NS_SWIFT_NAME(InstallationsErrorCode);
diff --git a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
new file mode 100644
index 0000000..4f6338d
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
@@ -0,0 +1,20 @@
+#ifdef __OBJC__
+#import <Cocoa/Cocoa.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FirebaseInstallations.h"
+#import "FIRInstallations.h"
+#import "FIRInstallationsAuthTokenResult.h"
+#import "FIRInstallationsErrors.h"
+
+FOUNDATION_EXPORT double FirebaseInstallationsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseInstallationsVersionString[];
+
diff --git a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Info.plist b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Info.plist
index 34d140c..b44cb38 100644
--- a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Info.plist
+++ b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Modules/module.modulemap b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Modules/module.modulemap
index 521c053..3d0ba0d 100644
--- a/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseInstallations.xcframework/macos-arm64_x86_64/FirebaseInstallations.framework/Modules/module.modulemap
@@ -1,11 +1,9 @@
 framework module FirebaseInstallations {
-umbrella header "FirebaseInstallations.h"
+umbrella header "FirebaseInstallations-umbrella.h"
 export *
 module * { export * }
   link framework "AppKit"
-  link framework "CoreTelephony"
   link framework "Foundation"
   link framework "Security"
-  link framework "SystemConfiguration"
   link "z"
 }
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/FirebaseInstallations b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/FirebaseInstallations
index 921d17a..52ba663 100644
--- a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/FirebaseInstallations
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/FirebaseInstallations
Binary files differ
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FIRInstallations.h b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FIRInstallations.h
index 9ffe9ee..1811d2b 100644
--- a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FIRInstallations.h
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FIRInstallations.h
@@ -26,7 +26,7 @@
 // clang-format12 merges the next two lines.
 FOUNDATION_EXPORT const NSNotificationName FIRInstallationIDDidChangeNotification
     NS_SWIFT_NAME(InstallationIDDidChange);
-/** `userInfo` key for the `FirebaseApp.name` in `FIRInstallationIDDidChangeNotification`. */
+/** `userInfo` key for the `FirebaseApp.name` in `InstallationIDDidChangeNotification`. */
 FOUNDATION_EXPORT NSString *const kFIRInstallationIDDidChangeNotificationAppNameKey
     NS_SWIFT_NAME(InstallationIDDidChangeAppNameKey);
 // clang-format on
@@ -38,7 +38,7 @@
  */
 typedef void (^FIRInstallationsIDHandler)(NSString *__nullable identifier,
                                           NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsIDHandler);
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * An authorization token handler block.
@@ -48,7 +48,7 @@
  */
 typedef void (^FIRInstallationsTokenHandler)(
     FIRInstallationsAuthTokenResult *__nullable tokenResult, NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsTokenHandler);
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * The class provides API for Firebase Installations.
@@ -64,7 +64,7 @@
 
 /**
  * Returns a default instance of `Installations`.
- * @returns An instance of `Installations` for `FirebaseApp.defaultApp().
+ * @return An instance of `Installations` for `FirebaseApp.defaultApp().
  * @throw Throws an exception if the default app is not configured yet or required  `FirebaseApp`
  * options are missing.
  */
@@ -73,45 +73,45 @@
 /**
  * Returns an instance of `Installations` for an application.
  * @param application A configured `FirebaseApp` instance.
- * @returns An instance of `Installations` corresponding to the passed application.
+ * @return An instance of `Installations` corresponding to the passed application.
  * @throw Throws an exception if required `FirebaseApp` options are missing.
  */
-+ (FIRInstallations *)installationsWithApp:(FIRApp *)application
-    NS_SWIFT_NAME(installations(app:));
++ (FIRInstallations *)installationsWithApp:(FIRApp *)application NS_SWIFT_NAME(installations(app:));
 
 /**
  * The method creates or retrieves an installation ID. The installation ID is a stable identifier
  * that uniquely identifies the app instance. NOTE: If the application already has an existing
  * FirebaseInstanceID then the InstanceID identifier will be used.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsIDHandler` for additional details.
+ * @param completion A completion handler which is invoked when the operation completes.
  */
-- (void)installationIDWithCompletion:(FIRInstallationsIDHandler)completion;
+- (void)installationIDWithCompletion:(void (^)(NSString *__nullable identifier,
+                                               NSError *__nullable error))completion;
 
 /**
  * Retrieves (locally if it exists or from the server) a valid installation auth token. An existing
  * token may be invalidated or expired, so it is recommended to fetch the installation auth token
- * before each server request. The method does the same as `Installations.authTokenForcingRefresh(:,
- * completion:)` with forcing refresh `NO`.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsTokenHandler` for additional details.
+ * before each server request. The method does the same as
+ * `Installations.authToken(forcingRefresh:completion:)` with forcing refresh `false`.
+ * @param completion A completion handler which is invoked when the operation completes.
  */
-- (void)authTokenWithCompletion:(FIRInstallationsTokenHandler)completion;
+- (void)authTokenWithCompletion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
 
 /**
  * Retrieves (locally or from the server depending on `forceRefresh` value) a valid installation
  * auth token. An existing token may be invalidated or expire, so it is recommended to fetch the
  * installation auth token before each server request. This method should be used with `forceRefresh
- * == YES` when e.g. a request with the previously fetched installation auth token failed with "Not
+ * == true` when e.g. a request with the previously fetched installation auth token failed with "Not
  * Authorized" error.
- * @param forceRefresh If `YES` then the locally cached installation auth token will be ignored and
- * a new one will be requested from the server. If `NO`, then the locally cached installation auth
- * token will be returned if exists and has not expired yet.
+ * @param forceRefresh If `true` then the locally cached installation auth token will be ignored and
+ * a new one will be requested from the server. If `false`, then the locally cached installation
+ * auth token will be returned if exists and has not expired yet.
  * @param completion  A completion handler which is invoked when the operation completes. See
  * `InstallationsTokenHandler` for additional details.
  */
 - (void)authTokenForcingRefresh:(BOOL)forceRefresh
-                     completion:(FIRInstallationsTokenHandler)completion;
+                     completion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
 
 /**
  * Deletes all the installation data including the unique identifier, auth tokens and
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
index d0c3b99..939ca0a 100644
--- a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
@@ -16,19 +16,20 @@
 
 #import <Foundation/Foundation.h>
 
-extern NSString *const kFirebaseInstallationsErrorDomain;
+extern NSString *const kFirebaseInstallationsErrorDomain NS_SWIFT_NAME(InstallationsErrorDomain);
 
-typedef NS_ENUM(NSUInteger, FIRInstallationsErrorCode) {
-  /** Unknown error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeUnknown = 0,
+typedef NS_ERROR_ENUM(kFirebaseInstallationsErrorDomain, FIRInstallationsErrorCode){
+    /** Unknown error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeUnknown = 0,
 
-  /** Keychain error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeKeychain = 1,
+    /** Keychain error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeKeychain = 1,
 
-  /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
-  FIRInstallationsErrorCodeServerUnreachable = 2,
+    /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
+    FIRInstallationsErrorCodeServerUnreachable = 2,
 
-  /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details. */
-  FIRInstallationsErrorCodeInvalidConfiguration = 3,
+    /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details.
+     */
+    FIRInstallationsErrorCodeInvalidConfiguration = 3,
 
 } NS_SWIFT_NAME(InstallationsErrorCode);
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
new file mode 100644
index 0000000..431ef45
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
@@ -0,0 +1,20 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FirebaseInstallations.h"
+#import "FIRInstallations.h"
+#import "FIRInstallationsAuthTokenResult.h"
+#import "FIRInstallationsErrors.h"
+
+FOUNDATION_EXPORT double FirebaseInstallationsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseInstallationsVersionString[];
+
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Info.plist b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Info.plist
index 34d140c..b44cb38 100644
--- a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Info.plist
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Modules/module.modulemap b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Modules/module.modulemap
index f3f6ab7..be6b28f 100644
--- a/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64/FirebaseInstallations.framework/Modules/module.modulemap
@@ -1,10 +1,9 @@
 framework module FirebaseInstallations {
-umbrella header "FirebaseInstallations.h"
+umbrella header "FirebaseInstallations-umbrella.h"
 export *
 module * { export * }
   link framework "Foundation"
   link framework "Security"
-  link framework "SystemConfiguration"
   link framework "UIKit"
   link "z"
 }
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations
index 6520d51..33a8d1d 100644
--- a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/FirebaseInstallations
Binary files differ
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h
index 9ffe9ee..1811d2b 100644
--- a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallations.h
@@ -26,7 +26,7 @@
 // clang-format12 merges the next two lines.
 FOUNDATION_EXPORT const NSNotificationName FIRInstallationIDDidChangeNotification
     NS_SWIFT_NAME(InstallationIDDidChange);
-/** `userInfo` key for the `FirebaseApp.name` in `FIRInstallationIDDidChangeNotification`. */
+/** `userInfo` key for the `FirebaseApp.name` in `InstallationIDDidChangeNotification`. */
 FOUNDATION_EXPORT NSString *const kFIRInstallationIDDidChangeNotificationAppNameKey
     NS_SWIFT_NAME(InstallationIDDidChangeAppNameKey);
 // clang-format on
@@ -38,7 +38,7 @@
  */
 typedef void (^FIRInstallationsIDHandler)(NSString *__nullable identifier,
                                           NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsIDHandler);
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * An authorization token handler block.
@@ -48,7 +48,7 @@
  */
 typedef void (^FIRInstallationsTokenHandler)(
     FIRInstallationsAuthTokenResult *__nullable tokenResult, NSError *__nullable error)
-    NS_SWIFT_NAME(InstallationsTokenHandler);
+    NS_SWIFT_UNAVAILABLE("Use Swift's closure syntax instead.");
 
 /**
  * The class provides API for Firebase Installations.
@@ -64,7 +64,7 @@
 
 /**
  * Returns a default instance of `Installations`.
- * @returns An instance of `Installations` for `FirebaseApp.defaultApp().
+ * @return An instance of `Installations` for `FirebaseApp.defaultApp().
  * @throw Throws an exception if the default app is not configured yet or required  `FirebaseApp`
  * options are missing.
  */
@@ -73,45 +73,45 @@
 /**
  * Returns an instance of `Installations` for an application.
  * @param application A configured `FirebaseApp` instance.
- * @returns An instance of `Installations` corresponding to the passed application.
+ * @return An instance of `Installations` corresponding to the passed application.
  * @throw Throws an exception if required `FirebaseApp` options are missing.
  */
-+ (FIRInstallations *)installationsWithApp:(FIRApp *)application
-    NS_SWIFT_NAME(installations(app:));
++ (FIRInstallations *)installationsWithApp:(FIRApp *)application NS_SWIFT_NAME(installations(app:));
 
 /**
  * The method creates or retrieves an installation ID. The installation ID is a stable identifier
  * that uniquely identifies the app instance. NOTE: If the application already has an existing
  * FirebaseInstanceID then the InstanceID identifier will be used.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsIDHandler` for additional details.
+ * @param completion A completion handler which is invoked when the operation completes.
  */
-- (void)installationIDWithCompletion:(FIRInstallationsIDHandler)completion;
+- (void)installationIDWithCompletion:(void (^)(NSString *__nullable identifier,
+                                               NSError *__nullable error))completion;
 
 /**
  * Retrieves (locally if it exists or from the server) a valid installation auth token. An existing
  * token may be invalidated or expired, so it is recommended to fetch the installation auth token
- * before each server request. The method does the same as `Installations.authTokenForcingRefresh(:,
- * completion:)` with forcing refresh `NO`.
- * @param completion A completion handler which is invoked when the operation completes. See
- * `InstallationsTokenHandler` for additional details.
+ * before each server request. The method does the same as
+ * `Installations.authToken(forcingRefresh:completion:)` with forcing refresh `false`.
+ * @param completion A completion handler which is invoked when the operation completes.
  */
-- (void)authTokenWithCompletion:(FIRInstallationsTokenHandler)completion;
+- (void)authTokenWithCompletion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
 
 /**
  * Retrieves (locally or from the server depending on `forceRefresh` value) a valid installation
  * auth token. An existing token may be invalidated or expire, so it is recommended to fetch the
  * installation auth token before each server request. This method should be used with `forceRefresh
- * == YES` when e.g. a request with the previously fetched installation auth token failed with "Not
+ * == true` when e.g. a request with the previously fetched installation auth token failed with "Not
  * Authorized" error.
- * @param forceRefresh If `YES` then the locally cached installation auth token will be ignored and
- * a new one will be requested from the server. If `NO`, then the locally cached installation auth
- * token will be returned if exists and has not expired yet.
+ * @param forceRefresh If `true` then the locally cached installation auth token will be ignored and
+ * a new one will be requested from the server. If `false`, then the locally cached installation
+ * auth token will be returned if exists and has not expired yet.
  * @param completion  A completion handler which is invoked when the operation completes. See
  * `InstallationsTokenHandler` for additional details.
  */
 - (void)authTokenForcingRefresh:(BOOL)forceRefresh
-                     completion:(FIRInstallationsTokenHandler)completion;
+                     completion:(void (^)(FIRInstallationsAuthTokenResult *__nullable tokenResult,
+                                          NSError *__nullable error))completion;
 
 /**
  * Deletes all the installation data including the unique identifier, auth tokens and
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
index d0c3b99..939ca0a 100644
--- a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
@@ -16,19 +16,20 @@
 
 #import <Foundation/Foundation.h>
 
-extern NSString *const kFirebaseInstallationsErrorDomain;
+extern NSString *const kFirebaseInstallationsErrorDomain NS_SWIFT_NAME(InstallationsErrorDomain);
 
-typedef NS_ENUM(NSUInteger, FIRInstallationsErrorCode) {
-  /** Unknown error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeUnknown = 0,
+typedef NS_ERROR_ENUM(kFirebaseInstallationsErrorDomain, FIRInstallationsErrorCode){
+    /** Unknown error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeUnknown = 0,
 
-  /** Keychain error. See `userInfo` for details. */
-  FIRInstallationsErrorCodeKeychain = 1,
+    /** Keychain error. See `userInfo` for details. */
+    FIRInstallationsErrorCodeKeychain = 1,
 
-  /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
-  FIRInstallationsErrorCodeServerUnreachable = 2,
+    /** Server unreachable. A network error or server is unavailable. See `userInfo` for details. */
+    FIRInstallationsErrorCodeServerUnreachable = 2,
 
-  /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details. */
-  FIRInstallationsErrorCodeInvalidConfiguration = 3,
+    /** FirebaseApp configuration issues e.g. invalid GMP-App-ID, etc. See `userInfo` for details.
+     */
+    FIRInstallationsErrorCodeInvalidConfiguration = 3,
 
 } NS_SWIFT_NAME(InstallationsErrorCode);
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
new file mode 100644
index 0000000..431ef45
--- /dev/null
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Headers/FirebaseInstallations-umbrella.h
@@ -0,0 +1,20 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FirebaseInstallations.h"
+#import "FIRInstallations.h"
+#import "FIRInstallationsAuthTokenResult.h"
+#import "FIRInstallationsErrors.h"
+
+FOUNDATION_EXPORT double FirebaseInstallationsVersionNumber;
+FOUNDATION_EXPORT const unsigned char FirebaseInstallationsVersionString[];
+
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Info.plist b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Info.plist
index 34d140c..b44cb38 100644
--- a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Info.plist
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.10.0</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap
index f3f6ab7..be6b28f 100644
--- a/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap
+++ b/frameworks/FirebaseInstallations.xcframework/tvos-arm64_x86_64-simulator/FirebaseInstallations.framework/Modules/module.modulemap
@@ -1,10 +1,9 @@
 framework module FirebaseInstallations {
-umbrella header "FirebaseInstallations.h"
+umbrella header "FirebaseInstallations-umbrella.h"
 export *
 module * { export * }
   link framework "Foundation"
   link framework "Security"
-  link framework "SystemConfiguration"
   link framework "UIKit"
   link "z"
 }
diff --git a/frameworks/GoogleAppMeasurement.xcframework/Info.plist b/frameworks/GoogleAppMeasurement.xcframework/Info.plist
index 2ebbcb1..4c0a158 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/Info.plist
+++ b/frameworks/GoogleAppMeasurement.xcframework/Info.plist
@@ -6,16 +6,16 @@
 	<array>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>ios-arm64_armv7</string>
+			<string>macos-arm64_x86_64</string>
 			<key>LibraryPath</key>
 			<string>GoogleAppMeasurement.framework</string>
 			<key>SupportedArchitectures</key>
 			<array>
 				<string>arm64</string>
-				<string>armv7</string>
+				<string>x86_64</string>
 			</array>
 			<key>SupportedPlatform</key>
-			<string>ios</string>
+			<string>macos</string>
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
@@ -65,19 +65,6 @@
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>macos-arm64_x86_64</string>
-			<key>LibraryPath</key>
-			<string>GoogleAppMeasurement.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>macos</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
 			<string>tvos-arm64</string>
 			<key>LibraryPath</key>
 			<string>GoogleAppMeasurement.framework</string>
@@ -88,6 +75,19 @@
 			<key>SupportedPlatform</key>
 			<string>tvos</string>
 		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_armv7</string>
+			<key>LibraryPath</key>
+			<string>GoogleAppMeasurement.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>armv7</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
 	</array>
 	<key>CFBundlePackageType</key>
 	<string>XFWK</string>
diff --git a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/GoogleAppMeasurement b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/GoogleAppMeasurement
index b834f07..2acc5d2 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/GoogleAppMeasurement
+++ b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/GoogleAppMeasurement
Binary files differ
diff --git a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/Info.plist b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/Info.plist
index da08178..b316416 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement
index 209309d..0bce636 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement
+++ b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement
Binary files differ
diff --git a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist
index da08178..b316416 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/GoogleAppMeasurement b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/GoogleAppMeasurement
index 6fefa14..d038b53 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/GoogleAppMeasurement
+++ b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/GoogleAppMeasurement
Binary files differ
diff --git a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/Info.plist b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/Info.plist
index da08178..b316416 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/GoogleAppMeasurement b/frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/GoogleAppMeasurement
index f4c687a..cbc7f79 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/GoogleAppMeasurement
+++ b/frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/GoogleAppMeasurement
Binary files differ
diff --git a/frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/Info.plist b/frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/Info.plist
index da08178..b316416 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/GoogleAppMeasurement b/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/GoogleAppMeasurement
index 400e468..1a05731 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/GoogleAppMeasurement
+++ b/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/GoogleAppMeasurement
Binary files differ
diff --git a/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/Info.plist b/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/Info.plist
index da08178..b316416 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement b/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement
index bc21356..e109638 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement
+++ b/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement
Binary files differ
diff --git a/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist b/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist
index da08178..b316416 100644
--- a/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/Info.plist b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/Info.plist
index 59c2821..bc97762 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/Info.plist
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/Info.plist
@@ -6,7 +6,19 @@
 	<array>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>tvos-arm64_x86_64-simulator</string>
+			<string>tvos-arm64</string>
+			<key>LibraryPath</key>
+			<string>GoogleAppMeasurementIdentitySupport.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>tvos</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-maccatalyst</string>
 			<key>LibraryPath</key>
 			<string>GoogleAppMeasurementIdentitySupport.framework</string>
 			<key>SupportedArchitectures</key>
@@ -15,9 +27,9 @@
 				<string>x86_64</string>
 			</array>
 			<key>SupportedPlatform</key>
-			<string>tvos</string>
+			<string>ios</string>
 			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
+			<string>maccatalyst</string>
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
@@ -47,7 +59,7 @@
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>ios-arm64_x86_64-maccatalyst</string>
+			<string>tvos-arm64_x86_64-simulator</string>
 			<key>LibraryPath</key>
 			<string>GoogleAppMeasurementIdentitySupport.framework</string>
 			<key>SupportedArchitectures</key>
@@ -56,9 +68,9 @@
 				<string>x86_64</string>
 			</array>
 			<key>SupportedPlatform</key>
-			<string>ios</string>
+			<string>tvos</string>
 			<key>SupportedPlatformVariant</key>
-			<string>maccatalyst</string>
+			<string>simulator</string>
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
@@ -75,18 +87,6 @@
 			<string>ios</string>
 			<key>SupportedPlatformVariant</key>
 			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>tvos-arm64</string>
-			<key>LibraryPath</key>
-			<string>GoogleAppMeasurementIdentitySupport.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>tvos</string>
 		</dict>
 	</array>
 	<key>CFBundlePackageType</key>
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
index d8220f3..a1fe980 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
Binary files differ
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/Info.plist b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/Info.plist
index f80bfd1..1113568 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
index 3b41094..6f9d92c 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
Binary files differ
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist
index f80bfd1..1113568 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
index d57353c..355a16d 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
Binary files differ
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/Info.plist b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/Info.plist
index f80bfd1..1113568 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
index 95b5188..37be22f 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
Binary files differ
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/Info.plist b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/Info.plist
index f80bfd1..1113568 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
index edbdc80..51ab511 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
Binary files differ
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/Info.plist b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/Info.plist
index f80bfd1..1113568 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
index 2d1c2de..bd77ea5 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
Binary files differ
diff --git a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist
index f80bfd1..1113568 100644
--- a/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist
+++ b/frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>8.9.1</string>
+	<string>10.9.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleDataTransport.xcframework/Info.plist b/frameworks/GoogleDataTransport.xcframework/Info.plist
deleted file mode 100644
index 9b90f7d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/Info.plist
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>AvailableLibraries</key>
-	<array>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_x86_64-maccatalyst</string>
-			<key>LibraryPath</key>
-			<string>GoogleDataTransport.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>maccatalyst</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>tvos-arm64_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>GoogleDataTransport.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>tvos</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>macos-arm64_x86_64</string>
-			<key>LibraryPath</key>
-			<string>GoogleDataTransport.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>macos</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>tvos-arm64</string>
-			<key>LibraryPath</key>
-			<string>GoogleDataTransport.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>tvos</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_i386_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>GoogleDataTransport.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>i386</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_armv7</string>
-			<key>LibraryPath</key>
-			<string>GoogleDataTransport.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>armv7</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-		</dict>
-	</array>
-	<key>CFBundlePackageType</key>
-	<string>XFWK</string>
-	<key>XCFrameworkFormatVersion</key>
-	<string>1.0</string>
-</dict>
-</plist>
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/GoogleDataTransport b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/GoogleDataTransport
deleted file mode 100644
index cba2b37..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/GoogleDataTransport
+++ /dev/null
Binary files differ
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORClock.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORClock.h
deleted file mode 100644
index 8c75b50..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORClock.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This class manages the device clock and produces snapshots of the current time. */
-@interface GDTCORClock : NSObject <NSSecureCoding>
-
-/** The wallclock time, UTC, in milliseconds. */
-@property(nonatomic, readonly) int64_t timeMillis;
-
-/** The offset from UTC in seconds. */
-@property(nonatomic, readonly) int64_t timezoneOffsetSeconds;
-
-/** The kernel boot time when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t kernelBootTimeNanoseconds;
-
-/** The device uptime when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t uptimeNanoseconds;
-
-@property(nonatomic, readonly) int64_t kernelBootTime DEPRECATED_MSG_ATTRIBUTE(
-    "Please use `kernelBootTimeNanoseconds` instead");
-
-@property(nonatomic, readonly)
-    int64_t uptime DEPRECATED_MSG_ATTRIBUTE("Please use `uptimeNanoseconds` instead");
-
-/** Creates a GDTCORClock object using the current time and offsets.
- *
- * @return A new GDTCORClock object representing the current time state.
- */
-+ (instancetype)snapshot;
-
-/** Creates a GDTCORClock object representing a time in the future, relative to now.
- *
- * @param millisInTheFuture The millis in the future from now this clock should represent.
- * @return An instance representing a future time.
- */
-+ (instancetype)clockSnapshotInTheFuture:(uint64_t)millisInTheFuture;
-
-/** Compares one clock with another, returns YES if the caller is after the parameter.
- *
- * @return YES if the calling clock's time is after the given clock's time.
- */
-- (BOOL)isAfter:(GDTCORClock *)otherClock;
-
-/** Returns value of `uptime` property in milliseconds. */
-- (int64_t)uptimeMilliseconds;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
deleted file mode 100644
index 1fdf732..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The current logging level. This value and higher will be printed. Declared as volatile to make
- * getting and setting atomic.
- */
-FOUNDATION_EXPORT volatile NSInteger GDTCORConsoleLoggerLoggingLevel;
-
-/** A  list of logging levels that GDT supports. */
-typedef NS_ENUM(NSInteger, GDTCORLoggingLevel) {
-
-  /** Causes all logs to be printed. */
-  GDTCORLoggingLevelDebug = 1,
-
-  /** Causes all non-debug logs to be printed. */
-  GDTCORLoggingLevelVerbose = 2,
-
-  /** Causes warnings and errors to be printed. */
-  GDTCORLoggingLevelWarnings = 3,
-
-  /** Causes errors to be printed. This is the default value. */
-  GDTCORLoggingLevelErrors = 4
-};
-
-/** A list of message codes to print in the logger that help to correspond printed messages with
- * code locations.
- *
- * Prefixes:
- * - MCD => MessageCodeDebug
- * - MCW => MessageCodeWarning
- * - MCE => MessageCodeError
- */
-typedef NS_ENUM(NSInteger, GDTCORMessageCode) {
-
-  /** For debug logs. */
-  GDTCORMCDDebugLog = 0,
-
-  /** For warning messages concerning transportBytes: not being implemented by a data object. */
-  GDTCORMCWDataObjectMissingBytesImpl = 1,
-
-  /** For warning messages concerning a failed event upload. */
-  GDTCORMCWUploadFailed = 2,
-
-  /** For warning messages concerning a forced event upload. */
-  GDTCORMCWForcedUpload = 3,
-
-  /** For warning messages concerning a failed reachability call. */
-  GDTCORMCWReachabilityFailed = 4,
-
-  /** For warning messages concerning a database warning. */
-  GDTCORMCWDatabaseWarning = 5,
-
-  /** For warning messages concerning the reading of a event file. */
-  GDTCORMCWFileReadError = 6,
-
-  /** For error messages concerning transformGDTEvent: not being implemented by an event
-     transformer. */
-  GDTCORMCETransformerDoesntImplementTransform = 1000,
-
-  /** For error messages concerning the creation of a directory failing. */
-  GDTCORMCEDirectoryCreationError = 1001,
-
-  /** For error messages concerning the writing of a event file. */
-  GDTCORMCEFileWriteError = 1002,
-
-  /** For error messages concerning the lack of a prioritizer for a given backend. */
-  GDTCORMCEPrioritizerError = 1003,
-
-  /** For error messages concerning a package delivery API violation. */
-  GDTCORMCEDeliverTwice = 1004,
-
-  /** For error messages concerning an error in an implementation of -transportBytes. */
-  GDTCORMCETransportBytesError = 1005,
-
-  /** For general purpose error messages in a dependency. */
-  GDTCORMCEGeneralError = 1006,
-
-  /** For fatal errors. Please go to https://github.com/firebase/firebase-ios-sdk/issues and open
-   * an issue if you encounter an error with this code.
-   */
-  GDTCORMCEFatalAssertion = 1007,
-
-  /** For error messages concerning the reading of a event file. */
-  GDTCORMCEFileReadError = 1008,
-
-  /** For errors related to running sqlite. */
-  GDTCORMCEDatabaseError = 1009,
-};
-
-/** Prints the given code and format string to the console.
- *
- * @param code The message code describing the nature of the log.
- * @param logLevel The log level of this log.
- * @param format The format string.
- */
-FOUNDATION_EXPORT
-void GDTCORLog(GDTCORMessageCode code, GDTCORLoggingLevel logLevel, NSString *_Nonnull format, ...)
-    NS_FORMAT_FUNCTION(3, 4);
-
-/** Prints an assert log to the console.
- *
- * @param wasFatal Send YES if the assertion should be fatal, NO otherwise.
- * @param file The file in which the failure occurred.
- * @param line The line number of the failure.
- * @param format The format string.
- */
-FOUNDATION_EXPORT void GDTCORLogAssert(BOOL wasFatal,
-                                       NSString *_Nonnull file,
-                                       NSInteger line,
-                                       NSString *_Nullable format,
-                                       ...) NS_FORMAT_FUNCTION(4, 5);
-
-/** Returns the string that represents some message code.
- *
- * @param code The code to convert to a string.
- * @return The string representing the message code.
- */
-FOUNDATION_EXPORT NSString *_Nonnull GDTCORMessageCodeEnumToString(GDTCORMessageCode code);
-
-#define GDTCORLogDebug(MESSAGE_FORMAT, ...) \
-  GDTCORLog(GDTCORMCDDebugLog, GDTCORLoggingLevelDebug, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogWarning with slightly more convenient usage.
-#define GDTCORLogWarning(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelWarnings, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogError with slightly more convenient usage and a failing assert.
-#define GDTCORLogError(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelErrors, MESSAGE_FORMAT, __VA_ARGS__);
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
deleted file mode 100644
index 836a454..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google LLC
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-#import "GDTCORTargets.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/* Class that manages the endpoints used by Google data transport library. */
-@interface GDTCOREndpoints : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Returns the upload URL for a target specified. If the target is not available, returns nil.
- *
- *  @param target GoogleDataTransport target for which the upload URL is being looked up for.
- *  @return URL that will be used for uploading the events for the provided target.
- */
-+ (nullable NSURL *)uploadURLForTarget:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREvent.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREvent.h
deleted file mode 100644
index 52c2384..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREvent.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventDataObject.h"
-#import "GDTCORTargets.h"
-
-@class GDTCORClock;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The different possible quality of service specifiers. High values indicate high priority. */
-typedef NS_ENUM(NSInteger, GDTCOREventQoS) {
-  /** The QoS tier wasn't set, and won't ever be sent. */
-  GDTCOREventQoSUnknown = 0,
-
-  /** This event is internal telemetry data that should not be sent on its own if possible. */
-  GDTCOREventQoSTelemetry = 1,
-
-  /** This event should be sent, but in a batch only roughly once per day. */
-  GDTCOREventQoSDaily = 2,
-
-  /** This event should be sent when requested by the uploader. */
-  GDTCOREventQosDefault = 3,
-
-  /** This event should be sent immediately along with any other data that can be batched. */
-  GDTCOREventQoSFast = 4,
-
-  /** This event should only be uploaded on wifi. */
-  GDTCOREventQoSWifiOnly = 5,
-};
-
-@interface GDTCOREvent : NSObject <NSSecureCoding>
-
-/** The unique ID of the event. */
-@property(readonly, nonatomic) NSString *eventID;
-
-/** The mapping identifier, to allow backends to map the transport bytes to a proto. */
-@property(nullable, readonly, nonatomic) NSString *mappingID;
-
-/** The identifier for the backend this event will eventually be sent to. */
-@property(readonly, nonatomic) GDTCORTarget target;
-
-/** The data object encapsulated in the transport of your choice, as long as it implements
- * the GDTCOREventDataObject protocol. */
-@property(nullable, nonatomic) id<GDTCOREventDataObject> dataObject;
-
-/** The serialized bytes from calling [dataObject transportBytes]. */
-@property(nullable, readonly, nonatomic) NSData *serializedDataObjectBytes;
-
-/** The quality of service tier this event belongs to. */
-@property(nonatomic) GDTCOREventQoS qosTier;
-
-/** The clock snapshot at the time of the event. */
-@property(nonatomic) GDTCORClock *clockSnapshot;
-
-/** The expiration date of the event. Default is 604800 seconds (7 days) from creation. */
-@property(nonatomic) NSDate *expirationDate;
-
-/** Bytes that can be used by an uploader later on. */
-@property(nullable, nonatomic) NSData *customBytes;
-
-/** Initializes an instance using the given mappingID.
- *
- * @param mappingID The mapping identifier.
- * @param target The event's target identifier.
- * @return An instance of this class.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID target:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
deleted file mode 100644
index 34ef624..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This protocol defines the common interface that event protos should implement regardless of the
- * underlying transport technology (protobuf, nanopb, etc).
- */
-@protocol GDTCOREventDataObject <NSObject>
-
-@required
-
-/** Returns the serialized proto bytes of the implementing event proto.
- *
- * @return the serialized proto bytes of the implementing event proto.
- */
-- (NSData *)transportBytes;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
deleted file mode 100644
index 80dee7d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** Defines the API that event transformers must adopt. */
-@protocol GDTCOREventTransformer <NSObject>
-
-@required
-
-/** Transforms an event by applying some logic to it. Events returned can be nil, for example, in
- *  instances where the event should be sampled.
- *
- * @param event The event to transform.
- * @return A transformed event, or nil if the transformation dropped the event.
- */
-- (nullable GDTCOREvent *)transformGDTEvent:(GDTCOREvent *)event;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORTargets.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORTargets.h
deleted file mode 100644
index 0b83ab9..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORTargets.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The list of targets supported by the shared transport infrastructure. If adding a new target,
- * please use the previous value +1.
- */
-typedef NS_ENUM(NSInteger, GDTCORTarget) {
-
-  /** A target only used in testing. */
-  kGDTCORTargetTest = 999,
-
-  /** The CCT target. */
-  kGDTCORTargetCCT = 1000,
-
-  /** The FLL target. */
-  kGDTCORTargetFLL = 1001,
-
-  /** The CSH target. The CSH target is a special-purpose backend. Please do not use it without
-   * permission.
-   */
-  kGDTCORTargetCSH = 1002,
-
-  /** The INT target. */
-  kGDTCORTargetINT = 1003,
-};
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORTransport.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORTransport.h
deleted file mode 100644
index e58248d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GDTCORTransport.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface GDTCORTransport : NSObject
-
-// Please use the designated initializer.
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Initializes a new transport that will send events to the given target backend.
- *
- * @param mappingID The mapping identifier used by the backend to map the data object transport
- * bytes to a proto.
- * @param transformers A list of transformers to be applied to events that are sent.
- * @param target The target backend of this transport.
- * @return A transport that will send events.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID
-                              transformers:
-                                  (nullable NSArray<id<GDTCOREventTransformer>> *)transformers
-                                    target:(GDTCORTarget)target NS_DESIGNATED_INITIALIZER;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event
-                onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event
-           onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event;
-
-/** Creates an event for use by this transport.
- *
- * @return An event that is suited for use by this transport.
- */
-- (GDTCOREvent *)eventForTransport;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GoogleDataTransport.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
deleted file mode 100644
index 0bd39dc..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import "GDTCORClock.h"
-#import "GDTCORConsoleLogger.h"
-#import "GDTCOREndpoints.h"
-#import "GDTCOREvent.h"
-#import "GDTCOREventDataObject.h"
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-#import "GDTCORTransport.h"
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Info.plist b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Info.plist
deleted file mode 100644
index 3784d66..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-GoogleDataTransport</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>9.1.2</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Modules/module.modulemap b/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Modules/module.modulemap
deleted file mode 100644
index 495e356..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_armv7/GoogleDataTransport.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,9 +0,0 @@
-framework module GoogleDataTransport {
-umbrella header "GoogleDataTransport.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/GoogleDataTransport b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/GoogleDataTransport
deleted file mode 100644
index 2d8403c..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/GoogleDataTransport
+++ /dev/null
Binary files differ
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORClock.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORClock.h
deleted file mode 100644
index 8c75b50..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORClock.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This class manages the device clock and produces snapshots of the current time. */
-@interface GDTCORClock : NSObject <NSSecureCoding>
-
-/** The wallclock time, UTC, in milliseconds. */
-@property(nonatomic, readonly) int64_t timeMillis;
-
-/** The offset from UTC in seconds. */
-@property(nonatomic, readonly) int64_t timezoneOffsetSeconds;
-
-/** The kernel boot time when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t kernelBootTimeNanoseconds;
-
-/** The device uptime when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t uptimeNanoseconds;
-
-@property(nonatomic, readonly) int64_t kernelBootTime DEPRECATED_MSG_ATTRIBUTE(
-    "Please use `kernelBootTimeNanoseconds` instead");
-
-@property(nonatomic, readonly)
-    int64_t uptime DEPRECATED_MSG_ATTRIBUTE("Please use `uptimeNanoseconds` instead");
-
-/** Creates a GDTCORClock object using the current time and offsets.
- *
- * @return A new GDTCORClock object representing the current time state.
- */
-+ (instancetype)snapshot;
-
-/** Creates a GDTCORClock object representing a time in the future, relative to now.
- *
- * @param millisInTheFuture The millis in the future from now this clock should represent.
- * @return An instance representing a future time.
- */
-+ (instancetype)clockSnapshotInTheFuture:(uint64_t)millisInTheFuture;
-
-/** Compares one clock with another, returns YES if the caller is after the parameter.
- *
- * @return YES if the calling clock's time is after the given clock's time.
- */
-- (BOOL)isAfter:(GDTCORClock *)otherClock;
-
-/** Returns value of `uptime` property in milliseconds. */
-- (int64_t)uptimeMilliseconds;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
deleted file mode 100644
index 1fdf732..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The current logging level. This value and higher will be printed. Declared as volatile to make
- * getting and setting atomic.
- */
-FOUNDATION_EXPORT volatile NSInteger GDTCORConsoleLoggerLoggingLevel;
-
-/** A  list of logging levels that GDT supports. */
-typedef NS_ENUM(NSInteger, GDTCORLoggingLevel) {
-
-  /** Causes all logs to be printed. */
-  GDTCORLoggingLevelDebug = 1,
-
-  /** Causes all non-debug logs to be printed. */
-  GDTCORLoggingLevelVerbose = 2,
-
-  /** Causes warnings and errors to be printed. */
-  GDTCORLoggingLevelWarnings = 3,
-
-  /** Causes errors to be printed. This is the default value. */
-  GDTCORLoggingLevelErrors = 4
-};
-
-/** A list of message codes to print in the logger that help to correspond printed messages with
- * code locations.
- *
- * Prefixes:
- * - MCD => MessageCodeDebug
- * - MCW => MessageCodeWarning
- * - MCE => MessageCodeError
- */
-typedef NS_ENUM(NSInteger, GDTCORMessageCode) {
-
-  /** For debug logs. */
-  GDTCORMCDDebugLog = 0,
-
-  /** For warning messages concerning transportBytes: not being implemented by a data object. */
-  GDTCORMCWDataObjectMissingBytesImpl = 1,
-
-  /** For warning messages concerning a failed event upload. */
-  GDTCORMCWUploadFailed = 2,
-
-  /** For warning messages concerning a forced event upload. */
-  GDTCORMCWForcedUpload = 3,
-
-  /** For warning messages concerning a failed reachability call. */
-  GDTCORMCWReachabilityFailed = 4,
-
-  /** For warning messages concerning a database warning. */
-  GDTCORMCWDatabaseWarning = 5,
-
-  /** For warning messages concerning the reading of a event file. */
-  GDTCORMCWFileReadError = 6,
-
-  /** For error messages concerning transformGDTEvent: not being implemented by an event
-     transformer. */
-  GDTCORMCETransformerDoesntImplementTransform = 1000,
-
-  /** For error messages concerning the creation of a directory failing. */
-  GDTCORMCEDirectoryCreationError = 1001,
-
-  /** For error messages concerning the writing of a event file. */
-  GDTCORMCEFileWriteError = 1002,
-
-  /** For error messages concerning the lack of a prioritizer for a given backend. */
-  GDTCORMCEPrioritizerError = 1003,
-
-  /** For error messages concerning a package delivery API violation. */
-  GDTCORMCEDeliverTwice = 1004,
-
-  /** For error messages concerning an error in an implementation of -transportBytes. */
-  GDTCORMCETransportBytesError = 1005,
-
-  /** For general purpose error messages in a dependency. */
-  GDTCORMCEGeneralError = 1006,
-
-  /** For fatal errors. Please go to https://github.com/firebase/firebase-ios-sdk/issues and open
-   * an issue if you encounter an error with this code.
-   */
-  GDTCORMCEFatalAssertion = 1007,
-
-  /** For error messages concerning the reading of a event file. */
-  GDTCORMCEFileReadError = 1008,
-
-  /** For errors related to running sqlite. */
-  GDTCORMCEDatabaseError = 1009,
-};
-
-/** Prints the given code and format string to the console.
- *
- * @param code The message code describing the nature of the log.
- * @param logLevel The log level of this log.
- * @param format The format string.
- */
-FOUNDATION_EXPORT
-void GDTCORLog(GDTCORMessageCode code, GDTCORLoggingLevel logLevel, NSString *_Nonnull format, ...)
-    NS_FORMAT_FUNCTION(3, 4);
-
-/** Prints an assert log to the console.
- *
- * @param wasFatal Send YES if the assertion should be fatal, NO otherwise.
- * @param file The file in which the failure occurred.
- * @param line The line number of the failure.
- * @param format The format string.
- */
-FOUNDATION_EXPORT void GDTCORLogAssert(BOOL wasFatal,
-                                       NSString *_Nonnull file,
-                                       NSInteger line,
-                                       NSString *_Nullable format,
-                                       ...) NS_FORMAT_FUNCTION(4, 5);
-
-/** Returns the string that represents some message code.
- *
- * @param code The code to convert to a string.
- * @return The string representing the message code.
- */
-FOUNDATION_EXPORT NSString *_Nonnull GDTCORMessageCodeEnumToString(GDTCORMessageCode code);
-
-#define GDTCORLogDebug(MESSAGE_FORMAT, ...) \
-  GDTCORLog(GDTCORMCDDebugLog, GDTCORLoggingLevelDebug, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogWarning with slightly more convenient usage.
-#define GDTCORLogWarning(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelWarnings, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogError with slightly more convenient usage and a failing assert.
-#define GDTCORLogError(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelErrors, MESSAGE_FORMAT, __VA_ARGS__);
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
deleted file mode 100644
index 836a454..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google LLC
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-#import "GDTCORTargets.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/* Class that manages the endpoints used by Google data transport library. */
-@interface GDTCOREndpoints : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Returns the upload URL for a target specified. If the target is not available, returns nil.
- *
- *  @param target GoogleDataTransport target for which the upload URL is being looked up for.
- *  @return URL that will be used for uploading the events for the provided target.
- */
-+ (nullable NSURL *)uploadURLForTarget:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREvent.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREvent.h
deleted file mode 100644
index 52c2384..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREvent.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventDataObject.h"
-#import "GDTCORTargets.h"
-
-@class GDTCORClock;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The different possible quality of service specifiers. High values indicate high priority. */
-typedef NS_ENUM(NSInteger, GDTCOREventQoS) {
-  /** The QoS tier wasn't set, and won't ever be sent. */
-  GDTCOREventQoSUnknown = 0,
-
-  /** This event is internal telemetry data that should not be sent on its own if possible. */
-  GDTCOREventQoSTelemetry = 1,
-
-  /** This event should be sent, but in a batch only roughly once per day. */
-  GDTCOREventQoSDaily = 2,
-
-  /** This event should be sent when requested by the uploader. */
-  GDTCOREventQosDefault = 3,
-
-  /** This event should be sent immediately along with any other data that can be batched. */
-  GDTCOREventQoSFast = 4,
-
-  /** This event should only be uploaded on wifi. */
-  GDTCOREventQoSWifiOnly = 5,
-};
-
-@interface GDTCOREvent : NSObject <NSSecureCoding>
-
-/** The unique ID of the event. */
-@property(readonly, nonatomic) NSString *eventID;
-
-/** The mapping identifier, to allow backends to map the transport bytes to a proto. */
-@property(nullable, readonly, nonatomic) NSString *mappingID;
-
-/** The identifier for the backend this event will eventually be sent to. */
-@property(readonly, nonatomic) GDTCORTarget target;
-
-/** The data object encapsulated in the transport of your choice, as long as it implements
- * the GDTCOREventDataObject protocol. */
-@property(nullable, nonatomic) id<GDTCOREventDataObject> dataObject;
-
-/** The serialized bytes from calling [dataObject transportBytes]. */
-@property(nullable, readonly, nonatomic) NSData *serializedDataObjectBytes;
-
-/** The quality of service tier this event belongs to. */
-@property(nonatomic) GDTCOREventQoS qosTier;
-
-/** The clock snapshot at the time of the event. */
-@property(nonatomic) GDTCORClock *clockSnapshot;
-
-/** The expiration date of the event. Default is 604800 seconds (7 days) from creation. */
-@property(nonatomic) NSDate *expirationDate;
-
-/** Bytes that can be used by an uploader later on. */
-@property(nullable, nonatomic) NSData *customBytes;
-
-/** Initializes an instance using the given mappingID.
- *
- * @param mappingID The mapping identifier.
- * @param target The event's target identifier.
- * @return An instance of this class.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID target:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
deleted file mode 100644
index 34ef624..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This protocol defines the common interface that event protos should implement regardless of the
- * underlying transport technology (protobuf, nanopb, etc).
- */
-@protocol GDTCOREventDataObject <NSObject>
-
-@required
-
-/** Returns the serialized proto bytes of the implementing event proto.
- *
- * @return the serialized proto bytes of the implementing event proto.
- */
-- (NSData *)transportBytes;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
deleted file mode 100644
index 80dee7d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** Defines the API that event transformers must adopt. */
-@protocol GDTCOREventTransformer <NSObject>
-
-@required
-
-/** Transforms an event by applying some logic to it. Events returned can be nil, for example, in
- *  instances where the event should be sampled.
- *
- * @param event The event to transform.
- * @return A transformed event, or nil if the transformation dropped the event.
- */
-- (nullable GDTCOREvent *)transformGDTEvent:(GDTCOREvent *)event;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTargets.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTargets.h
deleted file mode 100644
index 0b83ab9..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTargets.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The list of targets supported by the shared transport infrastructure. If adding a new target,
- * please use the previous value +1.
- */
-typedef NS_ENUM(NSInteger, GDTCORTarget) {
-
-  /** A target only used in testing. */
-  kGDTCORTargetTest = 999,
-
-  /** The CCT target. */
-  kGDTCORTargetCCT = 1000,
-
-  /** The FLL target. */
-  kGDTCORTargetFLL = 1001,
-
-  /** The CSH target. The CSH target is a special-purpose backend. Please do not use it without
-   * permission.
-   */
-  kGDTCORTargetCSH = 1002,
-
-  /** The INT target. */
-  kGDTCORTargetINT = 1003,
-};
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTransport.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTransport.h
deleted file mode 100644
index e58248d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTransport.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface GDTCORTransport : NSObject
-
-// Please use the designated initializer.
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Initializes a new transport that will send events to the given target backend.
- *
- * @param mappingID The mapping identifier used by the backend to map the data object transport
- * bytes to a proto.
- * @param transformers A list of transformers to be applied to events that are sent.
- * @param target The target backend of this transport.
- * @return A transport that will send events.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID
-                              transformers:
-                                  (nullable NSArray<id<GDTCOREventTransformer>> *)transformers
-                                    target:(GDTCORTarget)target NS_DESIGNATED_INITIALIZER;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event
-                onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event
-           onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event;
-
-/** Creates an event for use by this transport.
- *
- * @return An event that is suited for use by this transport.
- */
-- (GDTCOREvent *)eventForTransport;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GoogleDataTransport.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
deleted file mode 100644
index 0bd39dc..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import "GDTCORClock.h"
-#import "GDTCORConsoleLogger.h"
-#import "GDTCOREndpoints.h"
-#import "GDTCOREvent.h"
-#import "GDTCOREventDataObject.h"
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-#import "GDTCORTransport.h"
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Info.plist b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Info.plist
deleted file mode 100644
index 3784d66..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-GoogleDataTransport</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>9.1.2</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Modules/module.modulemap b/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Modules/module.modulemap
deleted file mode 100644
index 495e356..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleDataTransport.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,9 +0,0 @@
-framework module GoogleDataTransport {
-umbrella header "GoogleDataTransport.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/GoogleDataTransport b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/GoogleDataTransport
deleted file mode 100644
index 62dcba7..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/GoogleDataTransport
+++ /dev/null
Binary files differ
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORClock.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORClock.h
deleted file mode 100644
index 8c75b50..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORClock.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This class manages the device clock and produces snapshots of the current time. */
-@interface GDTCORClock : NSObject <NSSecureCoding>
-
-/** The wallclock time, UTC, in milliseconds. */
-@property(nonatomic, readonly) int64_t timeMillis;
-
-/** The offset from UTC in seconds. */
-@property(nonatomic, readonly) int64_t timezoneOffsetSeconds;
-
-/** The kernel boot time when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t kernelBootTimeNanoseconds;
-
-/** The device uptime when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t uptimeNanoseconds;
-
-@property(nonatomic, readonly) int64_t kernelBootTime DEPRECATED_MSG_ATTRIBUTE(
-    "Please use `kernelBootTimeNanoseconds` instead");
-
-@property(nonatomic, readonly)
-    int64_t uptime DEPRECATED_MSG_ATTRIBUTE("Please use `uptimeNanoseconds` instead");
-
-/** Creates a GDTCORClock object using the current time and offsets.
- *
- * @return A new GDTCORClock object representing the current time state.
- */
-+ (instancetype)snapshot;
-
-/** Creates a GDTCORClock object representing a time in the future, relative to now.
- *
- * @param millisInTheFuture The millis in the future from now this clock should represent.
- * @return An instance representing a future time.
- */
-+ (instancetype)clockSnapshotInTheFuture:(uint64_t)millisInTheFuture;
-
-/** Compares one clock with another, returns YES if the caller is after the parameter.
- *
- * @return YES if the calling clock's time is after the given clock's time.
- */
-- (BOOL)isAfter:(GDTCORClock *)otherClock;
-
-/** Returns value of `uptime` property in milliseconds. */
-- (int64_t)uptimeMilliseconds;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
deleted file mode 100644
index 1fdf732..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The current logging level. This value and higher will be printed. Declared as volatile to make
- * getting and setting atomic.
- */
-FOUNDATION_EXPORT volatile NSInteger GDTCORConsoleLoggerLoggingLevel;
-
-/** A  list of logging levels that GDT supports. */
-typedef NS_ENUM(NSInteger, GDTCORLoggingLevel) {
-
-  /** Causes all logs to be printed. */
-  GDTCORLoggingLevelDebug = 1,
-
-  /** Causes all non-debug logs to be printed. */
-  GDTCORLoggingLevelVerbose = 2,
-
-  /** Causes warnings and errors to be printed. */
-  GDTCORLoggingLevelWarnings = 3,
-
-  /** Causes errors to be printed. This is the default value. */
-  GDTCORLoggingLevelErrors = 4
-};
-
-/** A list of message codes to print in the logger that help to correspond printed messages with
- * code locations.
- *
- * Prefixes:
- * - MCD => MessageCodeDebug
- * - MCW => MessageCodeWarning
- * - MCE => MessageCodeError
- */
-typedef NS_ENUM(NSInteger, GDTCORMessageCode) {
-
-  /** For debug logs. */
-  GDTCORMCDDebugLog = 0,
-
-  /** For warning messages concerning transportBytes: not being implemented by a data object. */
-  GDTCORMCWDataObjectMissingBytesImpl = 1,
-
-  /** For warning messages concerning a failed event upload. */
-  GDTCORMCWUploadFailed = 2,
-
-  /** For warning messages concerning a forced event upload. */
-  GDTCORMCWForcedUpload = 3,
-
-  /** For warning messages concerning a failed reachability call. */
-  GDTCORMCWReachabilityFailed = 4,
-
-  /** For warning messages concerning a database warning. */
-  GDTCORMCWDatabaseWarning = 5,
-
-  /** For warning messages concerning the reading of a event file. */
-  GDTCORMCWFileReadError = 6,
-
-  /** For error messages concerning transformGDTEvent: not being implemented by an event
-     transformer. */
-  GDTCORMCETransformerDoesntImplementTransform = 1000,
-
-  /** For error messages concerning the creation of a directory failing. */
-  GDTCORMCEDirectoryCreationError = 1001,
-
-  /** For error messages concerning the writing of a event file. */
-  GDTCORMCEFileWriteError = 1002,
-
-  /** For error messages concerning the lack of a prioritizer for a given backend. */
-  GDTCORMCEPrioritizerError = 1003,
-
-  /** For error messages concerning a package delivery API violation. */
-  GDTCORMCEDeliverTwice = 1004,
-
-  /** For error messages concerning an error in an implementation of -transportBytes. */
-  GDTCORMCETransportBytesError = 1005,
-
-  /** For general purpose error messages in a dependency. */
-  GDTCORMCEGeneralError = 1006,
-
-  /** For fatal errors. Please go to https://github.com/firebase/firebase-ios-sdk/issues and open
-   * an issue if you encounter an error with this code.
-   */
-  GDTCORMCEFatalAssertion = 1007,
-
-  /** For error messages concerning the reading of a event file. */
-  GDTCORMCEFileReadError = 1008,
-
-  /** For errors related to running sqlite. */
-  GDTCORMCEDatabaseError = 1009,
-};
-
-/** Prints the given code and format string to the console.
- *
- * @param code The message code describing the nature of the log.
- * @param logLevel The log level of this log.
- * @param format The format string.
- */
-FOUNDATION_EXPORT
-void GDTCORLog(GDTCORMessageCode code, GDTCORLoggingLevel logLevel, NSString *_Nonnull format, ...)
-    NS_FORMAT_FUNCTION(3, 4);
-
-/** Prints an assert log to the console.
- *
- * @param wasFatal Send YES if the assertion should be fatal, NO otherwise.
- * @param file The file in which the failure occurred.
- * @param line The line number of the failure.
- * @param format The format string.
- */
-FOUNDATION_EXPORT void GDTCORLogAssert(BOOL wasFatal,
-                                       NSString *_Nonnull file,
-                                       NSInteger line,
-                                       NSString *_Nullable format,
-                                       ...) NS_FORMAT_FUNCTION(4, 5);
-
-/** Returns the string that represents some message code.
- *
- * @param code The code to convert to a string.
- * @return The string representing the message code.
- */
-FOUNDATION_EXPORT NSString *_Nonnull GDTCORMessageCodeEnumToString(GDTCORMessageCode code);
-
-#define GDTCORLogDebug(MESSAGE_FORMAT, ...) \
-  GDTCORLog(GDTCORMCDDebugLog, GDTCORLoggingLevelDebug, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogWarning with slightly more convenient usage.
-#define GDTCORLogWarning(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelWarnings, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogError with slightly more convenient usage and a failing assert.
-#define GDTCORLogError(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelErrors, MESSAGE_FORMAT, __VA_ARGS__);
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
deleted file mode 100644
index 836a454..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google LLC
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-#import "GDTCORTargets.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/* Class that manages the endpoints used by Google data transport library. */
-@interface GDTCOREndpoints : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Returns the upload URL for a target specified. If the target is not available, returns nil.
- *
- *  @param target GoogleDataTransport target for which the upload URL is being looked up for.
- *  @return URL that will be used for uploading the events for the provided target.
- */
-+ (nullable NSURL *)uploadURLForTarget:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREvent.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREvent.h
deleted file mode 100644
index 52c2384..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREvent.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventDataObject.h"
-#import "GDTCORTargets.h"
-
-@class GDTCORClock;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The different possible quality of service specifiers. High values indicate high priority. */
-typedef NS_ENUM(NSInteger, GDTCOREventQoS) {
-  /** The QoS tier wasn't set, and won't ever be sent. */
-  GDTCOREventQoSUnknown = 0,
-
-  /** This event is internal telemetry data that should not be sent on its own if possible. */
-  GDTCOREventQoSTelemetry = 1,
-
-  /** This event should be sent, but in a batch only roughly once per day. */
-  GDTCOREventQoSDaily = 2,
-
-  /** This event should be sent when requested by the uploader. */
-  GDTCOREventQosDefault = 3,
-
-  /** This event should be sent immediately along with any other data that can be batched. */
-  GDTCOREventQoSFast = 4,
-
-  /** This event should only be uploaded on wifi. */
-  GDTCOREventQoSWifiOnly = 5,
-};
-
-@interface GDTCOREvent : NSObject <NSSecureCoding>
-
-/** The unique ID of the event. */
-@property(readonly, nonatomic) NSString *eventID;
-
-/** The mapping identifier, to allow backends to map the transport bytes to a proto. */
-@property(nullable, readonly, nonatomic) NSString *mappingID;
-
-/** The identifier for the backend this event will eventually be sent to. */
-@property(readonly, nonatomic) GDTCORTarget target;
-
-/** The data object encapsulated in the transport of your choice, as long as it implements
- * the GDTCOREventDataObject protocol. */
-@property(nullable, nonatomic) id<GDTCOREventDataObject> dataObject;
-
-/** The serialized bytes from calling [dataObject transportBytes]. */
-@property(nullable, readonly, nonatomic) NSData *serializedDataObjectBytes;
-
-/** The quality of service tier this event belongs to. */
-@property(nonatomic) GDTCOREventQoS qosTier;
-
-/** The clock snapshot at the time of the event. */
-@property(nonatomic) GDTCORClock *clockSnapshot;
-
-/** The expiration date of the event. Default is 604800 seconds (7 days) from creation. */
-@property(nonatomic) NSDate *expirationDate;
-
-/** Bytes that can be used by an uploader later on. */
-@property(nullable, nonatomic) NSData *customBytes;
-
-/** Initializes an instance using the given mappingID.
- *
- * @param mappingID The mapping identifier.
- * @param target The event's target identifier.
- * @return An instance of this class.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID target:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
deleted file mode 100644
index 34ef624..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This protocol defines the common interface that event protos should implement regardless of the
- * underlying transport technology (protobuf, nanopb, etc).
- */
-@protocol GDTCOREventDataObject <NSObject>
-
-@required
-
-/** Returns the serialized proto bytes of the implementing event proto.
- *
- * @return the serialized proto bytes of the implementing event proto.
- */
-- (NSData *)transportBytes;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
deleted file mode 100644
index 80dee7d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** Defines the API that event transformers must adopt. */
-@protocol GDTCOREventTransformer <NSObject>
-
-@required
-
-/** Transforms an event by applying some logic to it. Events returned can be nil, for example, in
- *  instances where the event should be sampled.
- *
- * @param event The event to transform.
- * @return A transformed event, or nil if the transformation dropped the event.
- */
-- (nullable GDTCOREvent *)transformGDTEvent:(GDTCOREvent *)event;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORTargets.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORTargets.h
deleted file mode 100644
index 0b83ab9..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORTargets.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The list of targets supported by the shared transport infrastructure. If adding a new target,
- * please use the previous value +1.
- */
-typedef NS_ENUM(NSInteger, GDTCORTarget) {
-
-  /** A target only used in testing. */
-  kGDTCORTargetTest = 999,
-
-  /** The CCT target. */
-  kGDTCORTargetCCT = 1000,
-
-  /** The FLL target. */
-  kGDTCORTargetFLL = 1001,
-
-  /** The CSH target. The CSH target is a special-purpose backend. Please do not use it without
-   * permission.
-   */
-  kGDTCORTargetCSH = 1002,
-
-  /** The INT target. */
-  kGDTCORTargetINT = 1003,
-};
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORTransport.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORTransport.h
deleted file mode 100644
index e58248d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GDTCORTransport.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface GDTCORTransport : NSObject
-
-// Please use the designated initializer.
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Initializes a new transport that will send events to the given target backend.
- *
- * @param mappingID The mapping identifier used by the backend to map the data object transport
- * bytes to a proto.
- * @param transformers A list of transformers to be applied to events that are sent.
- * @param target The target backend of this transport.
- * @return A transport that will send events.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID
-                              transformers:
-                                  (nullable NSArray<id<GDTCOREventTransformer>> *)transformers
-                                    target:(GDTCORTarget)target NS_DESIGNATED_INITIALIZER;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event
-                onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event
-           onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event;
-
-/** Creates an event for use by this transport.
- *
- * @return An event that is suited for use by this transport.
- */
-- (GDTCOREvent *)eventForTransport;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GoogleDataTransport.h b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
deleted file mode 100644
index 0bd39dc..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import "GDTCORClock.h"
-#import "GDTCORConsoleLogger.h"
-#import "GDTCOREndpoints.h"
-#import "GDTCOREvent.h"
-#import "GDTCOREventDataObject.h"
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-#import "GDTCORTransport.h"
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Info.plist b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Info.plist
deleted file mode 100644
index 3784d66..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-GoogleDataTransport</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>9.1.2</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Modules/module.modulemap b/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Modules/module.modulemap
deleted file mode 100644
index 495e356..0000000
--- a/frameworks/GoogleDataTransport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleDataTransport.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,9 +0,0 @@
-framework module GoogleDataTransport {
-umbrella header "GoogleDataTransport.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/GoogleDataTransport b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/GoogleDataTransport
deleted file mode 100644
index 7a48dda..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/GoogleDataTransport
+++ /dev/null
Binary files differ
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORClock.h b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORClock.h
deleted file mode 100644
index 8c75b50..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORClock.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This class manages the device clock and produces snapshots of the current time. */
-@interface GDTCORClock : NSObject <NSSecureCoding>
-
-/** The wallclock time, UTC, in milliseconds. */
-@property(nonatomic, readonly) int64_t timeMillis;
-
-/** The offset from UTC in seconds. */
-@property(nonatomic, readonly) int64_t timezoneOffsetSeconds;
-
-/** The kernel boot time when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t kernelBootTimeNanoseconds;
-
-/** The device uptime when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t uptimeNanoseconds;
-
-@property(nonatomic, readonly) int64_t kernelBootTime DEPRECATED_MSG_ATTRIBUTE(
-    "Please use `kernelBootTimeNanoseconds` instead");
-
-@property(nonatomic, readonly)
-    int64_t uptime DEPRECATED_MSG_ATTRIBUTE("Please use `uptimeNanoseconds` instead");
-
-/** Creates a GDTCORClock object using the current time and offsets.
- *
- * @return A new GDTCORClock object representing the current time state.
- */
-+ (instancetype)snapshot;
-
-/** Creates a GDTCORClock object representing a time in the future, relative to now.
- *
- * @param millisInTheFuture The millis in the future from now this clock should represent.
- * @return An instance representing a future time.
- */
-+ (instancetype)clockSnapshotInTheFuture:(uint64_t)millisInTheFuture;
-
-/** Compares one clock with another, returns YES if the caller is after the parameter.
- *
- * @return YES if the calling clock's time is after the given clock's time.
- */
-- (BOOL)isAfter:(GDTCORClock *)otherClock;
-
-/** Returns value of `uptime` property in milliseconds. */
-- (int64_t)uptimeMilliseconds;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
deleted file mode 100644
index 1fdf732..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The current logging level. This value and higher will be printed. Declared as volatile to make
- * getting and setting atomic.
- */
-FOUNDATION_EXPORT volatile NSInteger GDTCORConsoleLoggerLoggingLevel;
-
-/** A  list of logging levels that GDT supports. */
-typedef NS_ENUM(NSInteger, GDTCORLoggingLevel) {
-
-  /** Causes all logs to be printed. */
-  GDTCORLoggingLevelDebug = 1,
-
-  /** Causes all non-debug logs to be printed. */
-  GDTCORLoggingLevelVerbose = 2,
-
-  /** Causes warnings and errors to be printed. */
-  GDTCORLoggingLevelWarnings = 3,
-
-  /** Causes errors to be printed. This is the default value. */
-  GDTCORLoggingLevelErrors = 4
-};
-
-/** A list of message codes to print in the logger that help to correspond printed messages with
- * code locations.
- *
- * Prefixes:
- * - MCD => MessageCodeDebug
- * - MCW => MessageCodeWarning
- * - MCE => MessageCodeError
- */
-typedef NS_ENUM(NSInteger, GDTCORMessageCode) {
-
-  /** For debug logs. */
-  GDTCORMCDDebugLog = 0,
-
-  /** For warning messages concerning transportBytes: not being implemented by a data object. */
-  GDTCORMCWDataObjectMissingBytesImpl = 1,
-
-  /** For warning messages concerning a failed event upload. */
-  GDTCORMCWUploadFailed = 2,
-
-  /** For warning messages concerning a forced event upload. */
-  GDTCORMCWForcedUpload = 3,
-
-  /** For warning messages concerning a failed reachability call. */
-  GDTCORMCWReachabilityFailed = 4,
-
-  /** For warning messages concerning a database warning. */
-  GDTCORMCWDatabaseWarning = 5,
-
-  /** For warning messages concerning the reading of a event file. */
-  GDTCORMCWFileReadError = 6,
-
-  /** For error messages concerning transformGDTEvent: not being implemented by an event
-     transformer. */
-  GDTCORMCETransformerDoesntImplementTransform = 1000,
-
-  /** For error messages concerning the creation of a directory failing. */
-  GDTCORMCEDirectoryCreationError = 1001,
-
-  /** For error messages concerning the writing of a event file. */
-  GDTCORMCEFileWriteError = 1002,
-
-  /** For error messages concerning the lack of a prioritizer for a given backend. */
-  GDTCORMCEPrioritizerError = 1003,
-
-  /** For error messages concerning a package delivery API violation. */
-  GDTCORMCEDeliverTwice = 1004,
-
-  /** For error messages concerning an error in an implementation of -transportBytes. */
-  GDTCORMCETransportBytesError = 1005,
-
-  /** For general purpose error messages in a dependency. */
-  GDTCORMCEGeneralError = 1006,
-
-  /** For fatal errors. Please go to https://github.com/firebase/firebase-ios-sdk/issues and open
-   * an issue if you encounter an error with this code.
-   */
-  GDTCORMCEFatalAssertion = 1007,
-
-  /** For error messages concerning the reading of a event file. */
-  GDTCORMCEFileReadError = 1008,
-
-  /** For errors related to running sqlite. */
-  GDTCORMCEDatabaseError = 1009,
-};
-
-/** Prints the given code and format string to the console.
- *
- * @param code The message code describing the nature of the log.
- * @param logLevel The log level of this log.
- * @param format The format string.
- */
-FOUNDATION_EXPORT
-void GDTCORLog(GDTCORMessageCode code, GDTCORLoggingLevel logLevel, NSString *_Nonnull format, ...)
-    NS_FORMAT_FUNCTION(3, 4);
-
-/** Prints an assert log to the console.
- *
- * @param wasFatal Send YES if the assertion should be fatal, NO otherwise.
- * @param file The file in which the failure occurred.
- * @param line The line number of the failure.
- * @param format The format string.
- */
-FOUNDATION_EXPORT void GDTCORLogAssert(BOOL wasFatal,
-                                       NSString *_Nonnull file,
-                                       NSInteger line,
-                                       NSString *_Nullable format,
-                                       ...) NS_FORMAT_FUNCTION(4, 5);
-
-/** Returns the string that represents some message code.
- *
- * @param code The code to convert to a string.
- * @return The string representing the message code.
- */
-FOUNDATION_EXPORT NSString *_Nonnull GDTCORMessageCodeEnumToString(GDTCORMessageCode code);
-
-#define GDTCORLogDebug(MESSAGE_FORMAT, ...) \
-  GDTCORLog(GDTCORMCDDebugLog, GDTCORLoggingLevelDebug, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogWarning with slightly more convenient usage.
-#define GDTCORLogWarning(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelWarnings, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogError with slightly more convenient usage and a failing assert.
-#define GDTCORLogError(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelErrors, MESSAGE_FORMAT, __VA_ARGS__);
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
deleted file mode 100644
index 836a454..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google LLC
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-#import "GDTCORTargets.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/* Class that manages the endpoints used by Google data transport library. */
-@interface GDTCOREndpoints : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Returns the upload URL for a target specified. If the target is not available, returns nil.
- *
- *  @param target GoogleDataTransport target for which the upload URL is being looked up for.
- *  @return URL that will be used for uploading the events for the provided target.
- */
-+ (nullable NSURL *)uploadURLForTarget:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREvent.h b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREvent.h
deleted file mode 100644
index 52c2384..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREvent.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventDataObject.h"
-#import "GDTCORTargets.h"
-
-@class GDTCORClock;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The different possible quality of service specifiers. High values indicate high priority. */
-typedef NS_ENUM(NSInteger, GDTCOREventQoS) {
-  /** The QoS tier wasn't set, and won't ever be sent. */
-  GDTCOREventQoSUnknown = 0,
-
-  /** This event is internal telemetry data that should not be sent on its own if possible. */
-  GDTCOREventQoSTelemetry = 1,
-
-  /** This event should be sent, but in a batch only roughly once per day. */
-  GDTCOREventQoSDaily = 2,
-
-  /** This event should be sent when requested by the uploader. */
-  GDTCOREventQosDefault = 3,
-
-  /** This event should be sent immediately along with any other data that can be batched. */
-  GDTCOREventQoSFast = 4,
-
-  /** This event should only be uploaded on wifi. */
-  GDTCOREventQoSWifiOnly = 5,
-};
-
-@interface GDTCOREvent : NSObject <NSSecureCoding>
-
-/** The unique ID of the event. */
-@property(readonly, nonatomic) NSString *eventID;
-
-/** The mapping identifier, to allow backends to map the transport bytes to a proto. */
-@property(nullable, readonly, nonatomic) NSString *mappingID;
-
-/** The identifier for the backend this event will eventually be sent to. */
-@property(readonly, nonatomic) GDTCORTarget target;
-
-/** The data object encapsulated in the transport of your choice, as long as it implements
- * the GDTCOREventDataObject protocol. */
-@property(nullable, nonatomic) id<GDTCOREventDataObject> dataObject;
-
-/** The serialized bytes from calling [dataObject transportBytes]. */
-@property(nullable, readonly, nonatomic) NSData *serializedDataObjectBytes;
-
-/** The quality of service tier this event belongs to. */
-@property(nonatomic) GDTCOREventQoS qosTier;
-
-/** The clock snapshot at the time of the event. */
-@property(nonatomic) GDTCORClock *clockSnapshot;
-
-/** The expiration date of the event. Default is 604800 seconds (7 days) from creation. */
-@property(nonatomic) NSDate *expirationDate;
-
-/** Bytes that can be used by an uploader later on. */
-@property(nullable, nonatomic) NSData *customBytes;
-
-/** Initializes an instance using the given mappingID.
- *
- * @param mappingID The mapping identifier.
- * @param target The event's target identifier.
- * @return An instance of this class.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID target:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
deleted file mode 100644
index 34ef624..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This protocol defines the common interface that event protos should implement regardless of the
- * underlying transport technology (protobuf, nanopb, etc).
- */
-@protocol GDTCOREventDataObject <NSObject>
-
-@required
-
-/** Returns the serialized proto bytes of the implementing event proto.
- *
- * @return the serialized proto bytes of the implementing event proto.
- */
-- (NSData *)transportBytes;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
deleted file mode 100644
index 80dee7d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** Defines the API that event transformers must adopt. */
-@protocol GDTCOREventTransformer <NSObject>
-
-@required
-
-/** Transforms an event by applying some logic to it. Events returned can be nil, for example, in
- *  instances where the event should be sampled.
- *
- * @param event The event to transform.
- * @return A transformed event, or nil if the transformation dropped the event.
- */
-- (nullable GDTCOREvent *)transformGDTEvent:(GDTCOREvent *)event;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORTargets.h b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORTargets.h
deleted file mode 100644
index 0b83ab9..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORTargets.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The list of targets supported by the shared transport infrastructure. If adding a new target,
- * please use the previous value +1.
- */
-typedef NS_ENUM(NSInteger, GDTCORTarget) {
-
-  /** A target only used in testing. */
-  kGDTCORTargetTest = 999,
-
-  /** The CCT target. */
-  kGDTCORTargetCCT = 1000,
-
-  /** The FLL target. */
-  kGDTCORTargetFLL = 1001,
-
-  /** The CSH target. The CSH target is a special-purpose backend. Please do not use it without
-   * permission.
-   */
-  kGDTCORTargetCSH = 1002,
-
-  /** The INT target. */
-  kGDTCORTargetINT = 1003,
-};
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORTransport.h b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORTransport.h
deleted file mode 100644
index e58248d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GDTCORTransport.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface GDTCORTransport : NSObject
-
-// Please use the designated initializer.
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Initializes a new transport that will send events to the given target backend.
- *
- * @param mappingID The mapping identifier used by the backend to map the data object transport
- * bytes to a proto.
- * @param transformers A list of transformers to be applied to events that are sent.
- * @param target The target backend of this transport.
- * @return A transport that will send events.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID
-                              transformers:
-                                  (nullable NSArray<id<GDTCOREventTransformer>> *)transformers
-                                    target:(GDTCORTarget)target NS_DESIGNATED_INITIALIZER;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event
-                onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event
-           onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event;
-
-/** Creates an event for use by this transport.
- *
- * @return An event that is suited for use by this transport.
- */
-- (GDTCOREvent *)eventForTransport;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GoogleDataTransport.h b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
deleted file mode 100644
index 0bd39dc..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import "GDTCORClock.h"
-#import "GDTCORConsoleLogger.h"
-#import "GDTCOREndpoints.h"
-#import "GDTCOREvent.h"
-#import "GDTCOREventDataObject.h"
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-#import "GDTCORTransport.h"
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Info.plist b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Info.plist
deleted file mode 100644
index 3784d66..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-GoogleDataTransport</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>9.1.2</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Modules/module.modulemap b/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Modules/module.modulemap
deleted file mode 100644
index 495e356..0000000
--- a/frameworks/GoogleDataTransport.xcframework/macos-arm64_x86_64/GoogleDataTransport.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,9 +0,0 @@
-framework module GoogleDataTransport {
-umbrella header "GoogleDataTransport.h"
-export *
-module * { export * }
-  link framework "CoreTelephony"
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/GoogleDataTransport b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/GoogleDataTransport
deleted file mode 100644
index 1cb0f94..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/GoogleDataTransport
+++ /dev/null
Binary files differ
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORClock.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORClock.h
deleted file mode 100644
index 8c75b50..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORClock.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This class manages the device clock and produces snapshots of the current time. */
-@interface GDTCORClock : NSObject <NSSecureCoding>
-
-/** The wallclock time, UTC, in milliseconds. */
-@property(nonatomic, readonly) int64_t timeMillis;
-
-/** The offset from UTC in seconds. */
-@property(nonatomic, readonly) int64_t timezoneOffsetSeconds;
-
-/** The kernel boot time when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t kernelBootTimeNanoseconds;
-
-/** The device uptime when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t uptimeNanoseconds;
-
-@property(nonatomic, readonly) int64_t kernelBootTime DEPRECATED_MSG_ATTRIBUTE(
-    "Please use `kernelBootTimeNanoseconds` instead");
-
-@property(nonatomic, readonly)
-    int64_t uptime DEPRECATED_MSG_ATTRIBUTE("Please use `uptimeNanoseconds` instead");
-
-/** Creates a GDTCORClock object using the current time and offsets.
- *
- * @return A new GDTCORClock object representing the current time state.
- */
-+ (instancetype)snapshot;
-
-/** Creates a GDTCORClock object representing a time in the future, relative to now.
- *
- * @param millisInTheFuture The millis in the future from now this clock should represent.
- * @return An instance representing a future time.
- */
-+ (instancetype)clockSnapshotInTheFuture:(uint64_t)millisInTheFuture;
-
-/** Compares one clock with another, returns YES if the caller is after the parameter.
- *
- * @return YES if the calling clock's time is after the given clock's time.
- */
-- (BOOL)isAfter:(GDTCORClock *)otherClock;
-
-/** Returns value of `uptime` property in milliseconds. */
-- (int64_t)uptimeMilliseconds;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
deleted file mode 100644
index 1fdf732..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The current logging level. This value and higher will be printed. Declared as volatile to make
- * getting and setting atomic.
- */
-FOUNDATION_EXPORT volatile NSInteger GDTCORConsoleLoggerLoggingLevel;
-
-/** A  list of logging levels that GDT supports. */
-typedef NS_ENUM(NSInteger, GDTCORLoggingLevel) {
-
-  /** Causes all logs to be printed. */
-  GDTCORLoggingLevelDebug = 1,
-
-  /** Causes all non-debug logs to be printed. */
-  GDTCORLoggingLevelVerbose = 2,
-
-  /** Causes warnings and errors to be printed. */
-  GDTCORLoggingLevelWarnings = 3,
-
-  /** Causes errors to be printed. This is the default value. */
-  GDTCORLoggingLevelErrors = 4
-};
-
-/** A list of message codes to print in the logger that help to correspond printed messages with
- * code locations.
- *
- * Prefixes:
- * - MCD => MessageCodeDebug
- * - MCW => MessageCodeWarning
- * - MCE => MessageCodeError
- */
-typedef NS_ENUM(NSInteger, GDTCORMessageCode) {
-
-  /** For debug logs. */
-  GDTCORMCDDebugLog = 0,
-
-  /** For warning messages concerning transportBytes: not being implemented by a data object. */
-  GDTCORMCWDataObjectMissingBytesImpl = 1,
-
-  /** For warning messages concerning a failed event upload. */
-  GDTCORMCWUploadFailed = 2,
-
-  /** For warning messages concerning a forced event upload. */
-  GDTCORMCWForcedUpload = 3,
-
-  /** For warning messages concerning a failed reachability call. */
-  GDTCORMCWReachabilityFailed = 4,
-
-  /** For warning messages concerning a database warning. */
-  GDTCORMCWDatabaseWarning = 5,
-
-  /** For warning messages concerning the reading of a event file. */
-  GDTCORMCWFileReadError = 6,
-
-  /** For error messages concerning transformGDTEvent: not being implemented by an event
-     transformer. */
-  GDTCORMCETransformerDoesntImplementTransform = 1000,
-
-  /** For error messages concerning the creation of a directory failing. */
-  GDTCORMCEDirectoryCreationError = 1001,
-
-  /** For error messages concerning the writing of a event file. */
-  GDTCORMCEFileWriteError = 1002,
-
-  /** For error messages concerning the lack of a prioritizer for a given backend. */
-  GDTCORMCEPrioritizerError = 1003,
-
-  /** For error messages concerning a package delivery API violation. */
-  GDTCORMCEDeliverTwice = 1004,
-
-  /** For error messages concerning an error in an implementation of -transportBytes. */
-  GDTCORMCETransportBytesError = 1005,
-
-  /** For general purpose error messages in a dependency. */
-  GDTCORMCEGeneralError = 1006,
-
-  /** For fatal errors. Please go to https://github.com/firebase/firebase-ios-sdk/issues and open
-   * an issue if you encounter an error with this code.
-   */
-  GDTCORMCEFatalAssertion = 1007,
-
-  /** For error messages concerning the reading of a event file. */
-  GDTCORMCEFileReadError = 1008,
-
-  /** For errors related to running sqlite. */
-  GDTCORMCEDatabaseError = 1009,
-};
-
-/** Prints the given code and format string to the console.
- *
- * @param code The message code describing the nature of the log.
- * @param logLevel The log level of this log.
- * @param format The format string.
- */
-FOUNDATION_EXPORT
-void GDTCORLog(GDTCORMessageCode code, GDTCORLoggingLevel logLevel, NSString *_Nonnull format, ...)
-    NS_FORMAT_FUNCTION(3, 4);
-
-/** Prints an assert log to the console.
- *
- * @param wasFatal Send YES if the assertion should be fatal, NO otherwise.
- * @param file The file in which the failure occurred.
- * @param line The line number of the failure.
- * @param format The format string.
- */
-FOUNDATION_EXPORT void GDTCORLogAssert(BOOL wasFatal,
-                                       NSString *_Nonnull file,
-                                       NSInteger line,
-                                       NSString *_Nullable format,
-                                       ...) NS_FORMAT_FUNCTION(4, 5);
-
-/** Returns the string that represents some message code.
- *
- * @param code The code to convert to a string.
- * @return The string representing the message code.
- */
-FOUNDATION_EXPORT NSString *_Nonnull GDTCORMessageCodeEnumToString(GDTCORMessageCode code);
-
-#define GDTCORLogDebug(MESSAGE_FORMAT, ...) \
-  GDTCORLog(GDTCORMCDDebugLog, GDTCORLoggingLevelDebug, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogWarning with slightly more convenient usage.
-#define GDTCORLogWarning(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelWarnings, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogError with slightly more convenient usage and a failing assert.
-#define GDTCORLogError(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelErrors, MESSAGE_FORMAT, __VA_ARGS__);
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
deleted file mode 100644
index 836a454..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google LLC
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-#import "GDTCORTargets.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/* Class that manages the endpoints used by Google data transport library. */
-@interface GDTCOREndpoints : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Returns the upload URL for a target specified. If the target is not available, returns nil.
- *
- *  @param target GoogleDataTransport target for which the upload URL is being looked up for.
- *  @return URL that will be used for uploading the events for the provided target.
- */
-+ (nullable NSURL *)uploadURLForTarget:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREvent.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREvent.h
deleted file mode 100644
index 52c2384..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREvent.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventDataObject.h"
-#import "GDTCORTargets.h"
-
-@class GDTCORClock;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The different possible quality of service specifiers. High values indicate high priority. */
-typedef NS_ENUM(NSInteger, GDTCOREventQoS) {
-  /** The QoS tier wasn't set, and won't ever be sent. */
-  GDTCOREventQoSUnknown = 0,
-
-  /** This event is internal telemetry data that should not be sent on its own if possible. */
-  GDTCOREventQoSTelemetry = 1,
-
-  /** This event should be sent, but in a batch only roughly once per day. */
-  GDTCOREventQoSDaily = 2,
-
-  /** This event should be sent when requested by the uploader. */
-  GDTCOREventQosDefault = 3,
-
-  /** This event should be sent immediately along with any other data that can be batched. */
-  GDTCOREventQoSFast = 4,
-
-  /** This event should only be uploaded on wifi. */
-  GDTCOREventQoSWifiOnly = 5,
-};
-
-@interface GDTCOREvent : NSObject <NSSecureCoding>
-
-/** The unique ID of the event. */
-@property(readonly, nonatomic) NSString *eventID;
-
-/** The mapping identifier, to allow backends to map the transport bytes to a proto. */
-@property(nullable, readonly, nonatomic) NSString *mappingID;
-
-/** The identifier for the backend this event will eventually be sent to. */
-@property(readonly, nonatomic) GDTCORTarget target;
-
-/** The data object encapsulated in the transport of your choice, as long as it implements
- * the GDTCOREventDataObject protocol. */
-@property(nullable, nonatomic) id<GDTCOREventDataObject> dataObject;
-
-/** The serialized bytes from calling [dataObject transportBytes]. */
-@property(nullable, readonly, nonatomic) NSData *serializedDataObjectBytes;
-
-/** The quality of service tier this event belongs to. */
-@property(nonatomic) GDTCOREventQoS qosTier;
-
-/** The clock snapshot at the time of the event. */
-@property(nonatomic) GDTCORClock *clockSnapshot;
-
-/** The expiration date of the event. Default is 604800 seconds (7 days) from creation. */
-@property(nonatomic) NSDate *expirationDate;
-
-/** Bytes that can be used by an uploader later on. */
-@property(nullable, nonatomic) NSData *customBytes;
-
-/** Initializes an instance using the given mappingID.
- *
- * @param mappingID The mapping identifier.
- * @param target The event's target identifier.
- * @return An instance of this class.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID target:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
deleted file mode 100644
index 34ef624..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This protocol defines the common interface that event protos should implement regardless of the
- * underlying transport technology (protobuf, nanopb, etc).
- */
-@protocol GDTCOREventDataObject <NSObject>
-
-@required
-
-/** Returns the serialized proto bytes of the implementing event proto.
- *
- * @return the serialized proto bytes of the implementing event proto.
- */
-- (NSData *)transportBytes;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
deleted file mode 100644
index 80dee7d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** Defines the API that event transformers must adopt. */
-@protocol GDTCOREventTransformer <NSObject>
-
-@required
-
-/** Transforms an event by applying some logic to it. Events returned can be nil, for example, in
- *  instances where the event should be sampled.
- *
- * @param event The event to transform.
- * @return A transformed event, or nil if the transformation dropped the event.
- */
-- (nullable GDTCOREvent *)transformGDTEvent:(GDTCOREvent *)event;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORTargets.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORTargets.h
deleted file mode 100644
index 0b83ab9..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORTargets.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The list of targets supported by the shared transport infrastructure. If adding a new target,
- * please use the previous value +1.
- */
-typedef NS_ENUM(NSInteger, GDTCORTarget) {
-
-  /** A target only used in testing. */
-  kGDTCORTargetTest = 999,
-
-  /** The CCT target. */
-  kGDTCORTargetCCT = 1000,
-
-  /** The FLL target. */
-  kGDTCORTargetFLL = 1001,
-
-  /** The CSH target. The CSH target is a special-purpose backend. Please do not use it without
-   * permission.
-   */
-  kGDTCORTargetCSH = 1002,
-
-  /** The INT target. */
-  kGDTCORTargetINT = 1003,
-};
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORTransport.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORTransport.h
deleted file mode 100644
index e58248d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GDTCORTransport.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface GDTCORTransport : NSObject
-
-// Please use the designated initializer.
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Initializes a new transport that will send events to the given target backend.
- *
- * @param mappingID The mapping identifier used by the backend to map the data object transport
- * bytes to a proto.
- * @param transformers A list of transformers to be applied to events that are sent.
- * @param target The target backend of this transport.
- * @return A transport that will send events.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID
-                              transformers:
-                                  (nullable NSArray<id<GDTCOREventTransformer>> *)transformers
-                                    target:(GDTCORTarget)target NS_DESIGNATED_INITIALIZER;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event
-                onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event
-           onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event;
-
-/** Creates an event for use by this transport.
- *
- * @return An event that is suited for use by this transport.
- */
-- (GDTCOREvent *)eventForTransport;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GoogleDataTransport.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
deleted file mode 100644
index 0bd39dc..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import "GDTCORClock.h"
-#import "GDTCORConsoleLogger.h"
-#import "GDTCOREndpoints.h"
-#import "GDTCOREvent.h"
-#import "GDTCOREventDataObject.h"
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-#import "GDTCORTransport.h"
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Info.plist b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Info.plist
deleted file mode 100644
index 3784d66..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-GoogleDataTransport</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>9.1.2</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Modules/module.modulemap b/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Modules/module.modulemap
deleted file mode 100644
index f4eec36..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64/GoogleDataTransport.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,8 +0,0 @@
-framework module GoogleDataTransport {
-umbrella header "GoogleDataTransport.h"
-export *
-module * { export * }
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/GoogleDataTransport b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/GoogleDataTransport
deleted file mode 100644
index 8fc80ca..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/GoogleDataTransport
+++ /dev/null
Binary files differ
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORClock.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORClock.h
deleted file mode 100644
index 8c75b50..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORClock.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This class manages the device clock and produces snapshots of the current time. */
-@interface GDTCORClock : NSObject <NSSecureCoding>
-
-/** The wallclock time, UTC, in milliseconds. */
-@property(nonatomic, readonly) int64_t timeMillis;
-
-/** The offset from UTC in seconds. */
-@property(nonatomic, readonly) int64_t timezoneOffsetSeconds;
-
-/** The kernel boot time when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t kernelBootTimeNanoseconds;
-
-/** The device uptime when this clock was created in nanoseconds. */
-@property(nonatomic, readonly) int64_t uptimeNanoseconds;
-
-@property(nonatomic, readonly) int64_t kernelBootTime DEPRECATED_MSG_ATTRIBUTE(
-    "Please use `kernelBootTimeNanoseconds` instead");
-
-@property(nonatomic, readonly)
-    int64_t uptime DEPRECATED_MSG_ATTRIBUTE("Please use `uptimeNanoseconds` instead");
-
-/** Creates a GDTCORClock object using the current time and offsets.
- *
- * @return A new GDTCORClock object representing the current time state.
- */
-+ (instancetype)snapshot;
-
-/** Creates a GDTCORClock object representing a time in the future, relative to now.
- *
- * @param millisInTheFuture The millis in the future from now this clock should represent.
- * @return An instance representing a future time.
- */
-+ (instancetype)clockSnapshotInTheFuture:(uint64_t)millisInTheFuture;
-
-/** Compares one clock with another, returns YES if the caller is after the parameter.
- *
- * @return YES if the calling clock's time is after the given clock's time.
- */
-- (BOOL)isAfter:(GDTCORClock *)otherClock;
-
-/** Returns value of `uptime` property in milliseconds. */
-- (int64_t)uptimeMilliseconds;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
deleted file mode 100644
index 1fdf732..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The current logging level. This value and higher will be printed. Declared as volatile to make
- * getting and setting atomic.
- */
-FOUNDATION_EXPORT volatile NSInteger GDTCORConsoleLoggerLoggingLevel;
-
-/** A  list of logging levels that GDT supports. */
-typedef NS_ENUM(NSInteger, GDTCORLoggingLevel) {
-
-  /** Causes all logs to be printed. */
-  GDTCORLoggingLevelDebug = 1,
-
-  /** Causes all non-debug logs to be printed. */
-  GDTCORLoggingLevelVerbose = 2,
-
-  /** Causes warnings and errors to be printed. */
-  GDTCORLoggingLevelWarnings = 3,
-
-  /** Causes errors to be printed. This is the default value. */
-  GDTCORLoggingLevelErrors = 4
-};
-
-/** A list of message codes to print in the logger that help to correspond printed messages with
- * code locations.
- *
- * Prefixes:
- * - MCD => MessageCodeDebug
- * - MCW => MessageCodeWarning
- * - MCE => MessageCodeError
- */
-typedef NS_ENUM(NSInteger, GDTCORMessageCode) {
-
-  /** For debug logs. */
-  GDTCORMCDDebugLog = 0,
-
-  /** For warning messages concerning transportBytes: not being implemented by a data object. */
-  GDTCORMCWDataObjectMissingBytesImpl = 1,
-
-  /** For warning messages concerning a failed event upload. */
-  GDTCORMCWUploadFailed = 2,
-
-  /** For warning messages concerning a forced event upload. */
-  GDTCORMCWForcedUpload = 3,
-
-  /** For warning messages concerning a failed reachability call. */
-  GDTCORMCWReachabilityFailed = 4,
-
-  /** For warning messages concerning a database warning. */
-  GDTCORMCWDatabaseWarning = 5,
-
-  /** For warning messages concerning the reading of a event file. */
-  GDTCORMCWFileReadError = 6,
-
-  /** For error messages concerning transformGDTEvent: not being implemented by an event
-     transformer. */
-  GDTCORMCETransformerDoesntImplementTransform = 1000,
-
-  /** For error messages concerning the creation of a directory failing. */
-  GDTCORMCEDirectoryCreationError = 1001,
-
-  /** For error messages concerning the writing of a event file. */
-  GDTCORMCEFileWriteError = 1002,
-
-  /** For error messages concerning the lack of a prioritizer for a given backend. */
-  GDTCORMCEPrioritizerError = 1003,
-
-  /** For error messages concerning a package delivery API violation. */
-  GDTCORMCEDeliverTwice = 1004,
-
-  /** For error messages concerning an error in an implementation of -transportBytes. */
-  GDTCORMCETransportBytesError = 1005,
-
-  /** For general purpose error messages in a dependency. */
-  GDTCORMCEGeneralError = 1006,
-
-  /** For fatal errors. Please go to https://github.com/firebase/firebase-ios-sdk/issues and open
-   * an issue if you encounter an error with this code.
-   */
-  GDTCORMCEFatalAssertion = 1007,
-
-  /** For error messages concerning the reading of a event file. */
-  GDTCORMCEFileReadError = 1008,
-
-  /** For errors related to running sqlite. */
-  GDTCORMCEDatabaseError = 1009,
-};
-
-/** Prints the given code and format string to the console.
- *
- * @param code The message code describing the nature of the log.
- * @param logLevel The log level of this log.
- * @param format The format string.
- */
-FOUNDATION_EXPORT
-void GDTCORLog(GDTCORMessageCode code, GDTCORLoggingLevel logLevel, NSString *_Nonnull format, ...)
-    NS_FORMAT_FUNCTION(3, 4);
-
-/** Prints an assert log to the console.
- *
- * @param wasFatal Send YES if the assertion should be fatal, NO otherwise.
- * @param file The file in which the failure occurred.
- * @param line The line number of the failure.
- * @param format The format string.
- */
-FOUNDATION_EXPORT void GDTCORLogAssert(BOOL wasFatal,
-                                       NSString *_Nonnull file,
-                                       NSInteger line,
-                                       NSString *_Nullable format,
-                                       ...) NS_FORMAT_FUNCTION(4, 5);
-
-/** Returns the string that represents some message code.
- *
- * @param code The code to convert to a string.
- * @return The string representing the message code.
- */
-FOUNDATION_EXPORT NSString *_Nonnull GDTCORMessageCodeEnumToString(GDTCORMessageCode code);
-
-#define GDTCORLogDebug(MESSAGE_FORMAT, ...) \
-  GDTCORLog(GDTCORMCDDebugLog, GDTCORLoggingLevelDebug, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogWarning with slightly more convenient usage.
-#define GDTCORLogWarning(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelWarnings, MESSAGE_FORMAT, __VA_ARGS__);
-
-// A define to wrap GULLogError with slightly more convenient usage and a failing assert.
-#define GDTCORLogError(MESSAGE_CODE, MESSAGE_FORMAT, ...) \
-  GDTCORLog(MESSAGE_CODE, GDTCORLoggingLevelErrors, MESSAGE_FORMAT, __VA_ARGS__);
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
deleted file mode 100644
index 836a454..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google LLC
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-#import "GDTCORTargets.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/* Class that manages the endpoints used by Google data transport library. */
-@interface GDTCOREndpoints : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Returns the upload URL for a target specified. If the target is not available, returns nil.
- *
- *  @param target GoogleDataTransport target for which the upload URL is being looked up for.
- *  @return URL that will be used for uploading the events for the provided target.
- */
-+ (nullable NSURL *)uploadURLForTarget:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREvent.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREvent.h
deleted file mode 100644
index 52c2384..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREvent.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventDataObject.h"
-#import "GDTCORTargets.h"
-
-@class GDTCORClock;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The different possible quality of service specifiers. High values indicate high priority. */
-typedef NS_ENUM(NSInteger, GDTCOREventQoS) {
-  /** The QoS tier wasn't set, and won't ever be sent. */
-  GDTCOREventQoSUnknown = 0,
-
-  /** This event is internal telemetry data that should not be sent on its own if possible. */
-  GDTCOREventQoSTelemetry = 1,
-
-  /** This event should be sent, but in a batch only roughly once per day. */
-  GDTCOREventQoSDaily = 2,
-
-  /** This event should be sent when requested by the uploader. */
-  GDTCOREventQosDefault = 3,
-
-  /** This event should be sent immediately along with any other data that can be batched. */
-  GDTCOREventQoSFast = 4,
-
-  /** This event should only be uploaded on wifi. */
-  GDTCOREventQoSWifiOnly = 5,
-};
-
-@interface GDTCOREvent : NSObject <NSSecureCoding>
-
-/** The unique ID of the event. */
-@property(readonly, nonatomic) NSString *eventID;
-
-/** The mapping identifier, to allow backends to map the transport bytes to a proto. */
-@property(nullable, readonly, nonatomic) NSString *mappingID;
-
-/** The identifier for the backend this event will eventually be sent to. */
-@property(readonly, nonatomic) GDTCORTarget target;
-
-/** The data object encapsulated in the transport of your choice, as long as it implements
- * the GDTCOREventDataObject protocol. */
-@property(nullable, nonatomic) id<GDTCOREventDataObject> dataObject;
-
-/** The serialized bytes from calling [dataObject transportBytes]. */
-@property(nullable, readonly, nonatomic) NSData *serializedDataObjectBytes;
-
-/** The quality of service tier this event belongs to. */
-@property(nonatomic) GDTCOREventQoS qosTier;
-
-/** The clock snapshot at the time of the event. */
-@property(nonatomic) GDTCORClock *clockSnapshot;
-
-/** The expiration date of the event. Default is 604800 seconds (7 days) from creation. */
-@property(nonatomic) NSDate *expirationDate;
-
-/** Bytes that can be used by an uploader later on. */
-@property(nullable, nonatomic) NSData *customBytes;
-
-/** Initializes an instance using the given mappingID.
- *
- * @param mappingID The mapping identifier.
- * @param target The event's target identifier.
- * @return An instance of this class.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID target:(GDTCORTarget)target;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
deleted file mode 100644
index 34ef624..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** This protocol defines the common interface that event protos should implement regardless of the
- * underlying transport technology (protobuf, nanopb, etc).
- */
-@protocol GDTCOREventDataObject <NSObject>
-
-@required
-
-/** Returns the serialized proto bytes of the implementing event proto.
- *
- * @return the serialized proto bytes of the implementing event proto.
- */
-- (NSData *)transportBytes;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
deleted file mode 100644
index 80dee7d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** Defines the API that event transformers must adopt. */
-@protocol GDTCOREventTransformer <NSObject>
-
-@required
-
-/** Transforms an event by applying some logic to it. Events returned can be nil, for example, in
- *  instances where the event should be sampled.
- *
- * @param event The event to transform.
- * @return A transformed event, or nil if the transformation dropped the event.
- */
-- (nullable GDTCOREvent *)transformGDTEvent:(GDTCOREvent *)event;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTargets.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTargets.h
deleted file mode 100644
index 0b83ab9..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTargets.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/** The list of targets supported by the shared transport infrastructure. If adding a new target,
- * please use the previous value +1.
- */
-typedef NS_ENUM(NSInteger, GDTCORTarget) {
-
-  /** A target only used in testing. */
-  kGDTCORTargetTest = 999,
-
-  /** The CCT target. */
-  kGDTCORTargetCCT = 1000,
-
-  /** The FLL target. */
-  kGDTCORTargetFLL = 1001,
-
-  /** The CSH target. The CSH target is a special-purpose backend. Please do not use it without
-   * permission.
-   */
-  kGDTCORTargetCSH = 1002,
-
-  /** The INT target. */
-  kGDTCORTargetINT = 1003,
-};
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTransport.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTransport.h
deleted file mode 100644
index e58248d..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GDTCORTransport.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-
-@class GDTCOREvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface GDTCORTransport : NSObject
-
-// Please use the designated initializer.
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Initializes a new transport that will send events to the given target backend.
- *
- * @param mappingID The mapping identifier used by the backend to map the data object transport
- * bytes to a proto.
- * @param transformers A list of transformers to be applied to events that are sent.
- * @param target The target backend of this transport.
- * @return A transport that will send events.
- */
-- (nullable instancetype)initWithMappingID:(NSString *)mappingID
-                              transformers:
-                                  (nullable NSArray<id<GDTCOREventTransformer>> *)transformers
-                                    target:(GDTCORTarget)target NS_DESIGNATED_INITIALIZER;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event
-                onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an internal telemetry event. Events sent using this API are lower in priority,
- * and sometimes won't be sent on their own.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendTelemetryEvent:(GDTCOREvent *)event;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- * @param completion A block that will be called when the event has been written or dropped.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event
-           onComplete:(void (^_Nullable)(BOOL wasWritten, NSError *_Nullable error))completion;
-
-/** Copies and sends an SDK service data event. Events send using this API are higher in priority,
- * and will cause a network request at some point in the relative near future.
- *
- * @note This will convert the event's data object to data and release the original event.
- *
- * @param event The event to send.
- */
-- (void)sendDataEvent:(GDTCOREvent *)event;
-
-/** Creates an event for use by this transport.
- *
- * @return An event that is suited for use by this transport.
- */
-- (GDTCOREvent *)eventForTransport;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GoogleDataTransport.h b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
deleted file mode 100644
index 0bd39dc..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2018 Google
- *
- * 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.
- */
-
-#import "GDTCORClock.h"
-#import "GDTCORConsoleLogger.h"
-#import "GDTCOREndpoints.h"
-#import "GDTCOREvent.h"
-#import "GDTCOREventDataObject.h"
-#import "GDTCOREventTransformer.h"
-#import "GDTCORTargets.h"
-#import "GDTCORTransport.h"
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Info.plist b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Info.plist
deleted file mode 100644
index 3784d66..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-GoogleDataTransport</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>GoogleDataTransport</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>9.1.2</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Modules/module.modulemap b/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Modules/module.modulemap
deleted file mode 100644
index f4eec36..0000000
--- a/frameworks/GoogleDataTransport.xcframework/tvos-arm64_x86_64-simulator/GoogleDataTransport.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,8 +0,0 @@
-framework module GoogleDataTransport {
-umbrella header "GoogleDataTransport.h"
-export *
-module * { export * }
-  link framework "Security"
-  link framework "SystemConfiguration"
-  link "z"
-}
diff --git a/frameworks/GoogleUtilities.xcframework/Info.plist b/frameworks/GoogleUtilities.xcframework/Info.plist
index 245f0f0..e66a415 100644
--- a/frameworks/GoogleUtilities.xcframework/Info.plist
+++ b/frameworks/GoogleUtilities.xcframework/Info.plist
@@ -6,13 +6,42 @@
 	<array>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>ios-arm64_armv7</string>
+			<string>ios-arm64_x86_64-maccatalyst</string>
 			<key>LibraryPath</key>
 			<string>GoogleUtilities.framework</string>
 			<key>SupportedArchitectures</key>
 			<array>
 				<string>arm64</string>
-				<string>armv7</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>maccatalyst</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>GoogleUtilities.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64</string>
+			<key>LibraryPath</key>
+			<string>GoogleUtilities.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
 			</array>
 			<key>SupportedPlatform</key>
 			<string>ios</string>
@@ -41,37 +70,6 @@
 			</array>
 			<key>SupportedPlatform</key>
 			<string>tvos</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_x86_64-maccatalyst</string>
-			<key>LibraryPath</key>
-			<string>GoogleUtilities.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>maccatalyst</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_i386_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>GoogleUtilities.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>i386</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/GoogleUtilities b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/GoogleUtilities
new file mode 100644
index 0000000..9a3f969
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/GoogleUtilities
Binary files differ
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
new file mode 100644
index 0000000..ad32929
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface GULAppEnvironmentUtil : NSObject
+
+/// Indicates whether the app is from Apple Store or not. Returns NO if the app is on simulator,
+/// development environment or sideloaded.
++ (BOOL)isFromAppStore;
+
+/// Indicates whether the app is a Testflight app. Returns YES if the app has sandbox receipt.
+/// Returns NO otherwise.
++ (BOOL)isAppStoreReceiptSandbox;
+
+/// Indicates whether the app is on simulator or not at runtime depending on the device
+/// architecture.
++ (BOOL)isSimulator;
+
+/// The current device model. Returns an empty string if device model cannot be retrieved.
++ (nullable NSString *)deviceModel;
+
+/// The current device model, with simulator-specific values. Returns an empty string if device
+/// model cannot be retrieved.
++ (nullable NSString *)deviceSimulatorModel;
+
+/// The current operating system version. Returns an empty string if the system version cannot be
+/// retrieved.
++ (NSString *)systemVersion;
+
+/// Indicates whether it is running inside an extension or an app.
++ (BOOL)isAppExtension;
+
+/// @return Returns @YES when is run on iOS version greater or equal to 7.0
++ (BOOL)isIOS7OrHigher DEPRECATED_MSG_ATTRIBUTE(
+    "Always `YES` because only iOS 8 and higher supported. The method will be removed.");
+
+/// @return YES if Swift runtime detected in the app.
++ (BOOL)hasSwiftRuntime __deprecated;
+
+/// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst".
++ (NSString *)applePlatform;
+
+/// @return An Apple Device platform. Same possible values as `applePlatform`, with the addition of
+/// "ipados".
++ (NSString *)appleDevicePlatform;
+
+/// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
++ (NSString *)deploymentType;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULApplication.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULApplication.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULApplication.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULApplication.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULKeychainStorage.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULKeychainStorage.h
new file mode 100644
index 0000000..af10cb4
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULKeychainStorage.h
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2019 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class FBLPromise<ValueType>;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The class provides a convenient, multiplatform abstraction of the Keychain.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
+@interface GULKeychainStorage : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/** Initializes the keychain storage with Keychain Service name.
+ *  @param service A Keychain Service name that will be used to store and retrieve objects. See also
+ * `kSecAttrService`.
+ */
+- (instancetype)initWithService:(NSString *)service;
+
+/**
+ * Get an object by key.
+ * @param key The key.
+ * @param objectClass The expected object class required by `NSSecureCoding`.
+ * @param accessGroup The Keychain Access Group.
+ *
+ * @return Returns a promise. It is resolved with an object stored by key if exists. It is resolved
+ * with `nil` when the object not found. It fails on a Keychain error.
+ */
+- (FBLPromise<id<NSSecureCoding>> *)getObjectForKey:(NSString *)key
+                                        objectClass:(Class)objectClass
+                                        accessGroup:(nullable NSString *)accessGroup;
+
+/**
+ * Saves the given object by the given key.
+ * @param object The object to store.
+ * @param key The key to store the object. If there is an existing object by the key, it will be
+ * overridden.
+ * @param accessGroup The Keychain Access Group.
+ *
+ * @return Returns which is resolved with `[NSNull null]` on success.
+ */
+- (FBLPromise<NSNull *> *)setObject:(id<NSSecureCoding>)object
+                             forKey:(NSString *)key
+                        accessGroup:(nullable NSString *)accessGroup;
+
+/**
+ * Removes the object by the given key.
+ * @param key The key to store the object. If there is an existing object by the key, it will be
+ * overridden.
+ * @param accessGroup The Keychain Access Group.
+ *
+ * @return Returns which is resolved with `[NSNull null]` on success.
+ */
+- (FBLPromise<NSNull *> *)removeObjectForKey:(NSString *)key
+                                 accessGroup:(nullable NSString *)accessGroup;
+
+#if TARGET_OS_OSX
+/// If not `nil`, then only this keychain will be used to save and read data (see
+/// `kSecMatchSearchList` and `kSecUseKeychain`. It is mostly intended to be used by unit tests.
+@property(nonatomic, nullable) SecKeychainRef keychainRef;
+#endif  // TARGET_OS_OSX
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULKeychainUtils.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULKeychainUtils.h
new file mode 100644
index 0000000..9c17356
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULKeychainUtils.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2019 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+FOUNDATION_EXPORT NSString *const kGULKeychainUtilsErrorDomain;
+
+/// A collection of helper functions that abstract away common Keychain operations.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
+@interface GULKeychainUtils : NSObject
+
+/** Fetches a keychain item data matching to the provided query.
+ *  @param query A dictionary with Keychain query parameters. See docs for `SecItemCopyMatching` for
+ * details.
+ *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
+ * assigned with an error if there is.
+ *  @returns Data for the first Keychain Item matching the provided query or `nil` if there is not
+ * such an item (`outError` will be `nil` in this case) or an error occurred.
+ */
++ (nullable NSData *)getItemWithQuery:(NSDictionary *)query
+                                error:(NSError *_Nullable *_Nullable)outError;
+
+/** Stores data to a Keychain Item matching to the provided query. An existing Keychain Item
+ * matching the query parameters will be updated or a new will be created.
+ *  @param item A Keychain Item data to store.
+ *  @param query A dictionary with Keychain query parameters. See docs for `SecItemAdd` and
+ * `SecItemUpdate` for details.
+ *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
+ * assigned with an error if there is.
+ *  @returns `YES` when data was successfully stored, `NO` otherwise.
+ */
++ (BOOL)setItem:(NSData *)item
+      withQuery:(NSDictionary *)query
+          error:(NSError *_Nullable *_Nullable)outError;
+
+/** Removes a Keychain Item matching to the provided query.
+ *  @param query A dictionary with Keychain query parameters. See docs for `SecItemDelete` for
+ * details.
+ *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
+ * assigned with an error if there is.
+ *  @returns `YES` if the item was removed successfully or doesn't exist, `NO` otherwise.
+ */
++ (BOOL)removeItemWithQuery:(NSDictionary *)query error:(NSError *_Nullable *_Nullable)outError;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULLogger.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULLogger.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULLogger.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULLogger.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULLoggerLevel.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULLoggerLevel.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULLoggerLevel.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULLoggerLevel.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULMutableDictionary.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULMutableDictionary.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULMutableDictionary.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULMutableDictionary.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNSData+zlib.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNSData+zlib.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNSData+zlib.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNSData+zlib.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetwork.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetwork.h
new file mode 100644
index 0000000..8631b8b
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetwork.h
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+#import "GULNetworkConstants.h"
+#import "GULNetworkLoggerProtocol.h"
+#import "GULNetworkURLSession.h"
+
+/// Delegate protocol for GULNetwork events.
+@protocol GULNetworkReachabilityDelegate
+
+/// Tells the delegate to handle events when the network reachability changes to connected or not
+/// connected.
+- (void)reachabilityDidChange;
+
+@end
+
+/// The Network component that provides network status and handles network requests and responses.
+/// This is not thread safe.
+///
+/// NOTE:
+/// User must add FIRAnalytics handleEventsForBackgroundURLSessionID:completionHandler to the
+/// AppDelegate application:handleEventsForBackgroundURLSession:completionHandler:
+@interface GULNetwork : NSObject
+
+/// Indicates if network connectivity is available.
+@property(nonatomic, readonly, getter=isNetworkConnected) BOOL networkConnected;
+
+/// Indicates if there are any uploads in progress.
+@property(nonatomic, readonly, getter=hasUploadInProgress) BOOL uploadInProgress;
+
+/// An optional delegate that can be used in the event when network reachability changes.
+@property(nonatomic, weak) id<GULNetworkReachabilityDelegate> reachabilityDelegate;
+
+/// An optional delegate that can be used to log messages, warnings or errors that occur in the
+/// network operations.
+@property(nonatomic, weak) id<GULNetworkLoggerDelegate> loggerDelegate;
+
+/// Indicates whether the logger should display debug messages.
+@property(nonatomic, assign) BOOL isDebugModeEnabled;
+
+/// The time interval in seconds for the network request to timeout.
+@property(nonatomic, assign) NSTimeInterval timeoutInterval;
+
+/// Initializes with the default reachability host.
+- (instancetype)init;
+
+/// Initializes with a custom reachability host.
+- (instancetype)initWithReachabilityHost:(NSString *)reachabilityHost;
+
+/// Handles events when background session with the given ID has finished.
++ (void)handleEventsForBackgroundURLSessionID:(NSString *)sessionID
+                            completionHandler:(GULNetworkSystemCompletionHandler)completionHandler;
+
+/// Compresses and sends a POST request with the provided data to the URL. The session will be
+/// background session if usingBackgroundSession is YES. Otherwise, the POST session is default
+/// session. Returns a session ID or nil if an error occurs.
+- (NSString *)postURL:(NSURL *)url
+                   payload:(NSData *)payload
+                     queue:(dispatch_queue_t)queue
+    usingBackgroundSession:(BOOL)usingBackgroundSession
+         completionHandler:(GULNetworkCompletionHandler)handler;
+
+/// Compresses and sends a POST request with the provided headers and data to the URL. The session
+/// will be background session if usingBackgroundSession is YES. Otherwise, the POST session is
+/// default session. Returns a session ID or nil if an error occurs.
+- (NSString *)postURL:(NSURL *)url
+                   headers:(NSDictionary *)headers
+                   payload:(NSData *)payload
+                     queue:(dispatch_queue_t)queue
+    usingBackgroundSession:(BOOL)usingBackgroundSession
+         completionHandler:(GULNetworkCompletionHandler)handler;
+
+/// Sends a GET request with the provided data to the URL. The session will be background session
+/// if usingBackgroundSession is YES. Otherwise, the GET session is default session. Returns a
+/// session ID or nil if an error occurs.
+- (NSString *)getURL:(NSURL *)url
+                   headers:(NSDictionary *)headers
+                     queue:(dispatch_queue_t)queue
+    usingBackgroundSession:(BOOL)usingBackgroundSession
+         completionHandler:(GULNetworkCompletionHandler)handler;
+
+@end
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetworkConstants.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkConstants.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetworkConstants.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkConstants.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkInfo.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkInfo.h
new file mode 100644
index 0000000..d3025cd
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkInfo.h
@@ -0,0 +1,57 @@
+// Copyright 2022 Google LLC
+//
+// 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.
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The type of network that the device is running with. Values should correspond to the NetworkType
+/// values in android/play/playlog/proto/clientanalytics.proto
+typedef NS_ENUM(NSInteger, GULNetworkType) {
+  GULNetworkTypeNone = -1,
+  GULNetworkTypeMobile = 0,
+  GULNetworkTypeWIFI = 1,
+};
+
+/// Collection of utilities to read network status information
+@interface GULNetworkInfo : NSObject
+
+/// Returns the cellular mobile country code (mcc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileCountryCode;
+
+/// Returns the cellular mobile network code (mnc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileNetworkCode;
+
+/**
+ * Returns the formatted MccMnc if the inputs are valid, otherwise nil
+ * @param mcc The Mobile Country Code returned from `getNetworkMobileCountryCode`
+ * @param mnc The Mobile Network Code returned from `getNetworkMobileNetworkCode`
+ * @returns A string with the concatenated mccMnc if both inputs are valid, otherwise nil
+ */
++ (NSString *_Nullable)formatMcc:(NSString *_Nullable)mcc andMNC:(NSString *_Nullable)mnc;
+
+/// Returns an enum indicating the network type. The enum values should be easily transferrable to
+/// the NetworkType value in android/play/playlog/proto/clientanalytics.proto. Right now this always
+/// returns None on platforms other than iOS. This should be updated in the future to return Wi-Fi
+/// values for the other platforms when applicable.
++ (GULNetworkType)getNetworkType;
+
+/// Returns a string indicating the radio access technology used by the app. The return value will
+/// be one of CTRadioAccess constants defined in
+/// https://developer.apple.com/documentation/coretelephony/cttelephonynetworkinfo/radio_access_technology_constants
++ (NSString *)getNetworkRadioType;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetworkURLSession.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkURLSession.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetworkURLSession.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULNetworkURLSession.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULObjectSwizzler.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULObjectSwizzler.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULObjectSwizzler.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULObjectSwizzler.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULReachabilityChecker.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULReachabilityChecker.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULReachabilityChecker.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULReachabilityChecker.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULSecureCoding.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSecureCoding.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULSecureCoding.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSecureCoding.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULSwizzledObject.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSwizzledObject.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULSwizzledObject.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSwizzledObject.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULSwizzler.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSwizzler.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULSwizzler.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULSwizzler.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULUserDefaults.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULUserDefaults.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULUserDefaults.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GULUserDefaults.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
new file mode 100644
index 0000000..d89ec68
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
@@ -0,0 +1,44 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "GULAppDelegateSwizzler.h"
+#import "GULApplication.h"
+#import "GULSceneDelegateSwizzler.h"
+#import "GULAppEnvironmentUtil.h"
+#import "GULHeartbeatDateStorable.h"
+#import "GULHeartbeatDateStorage.h"
+#import "GULHeartbeatDateStorageUserDefaults.h"
+#import "GULKeychainStorage.h"
+#import "GULKeychainUtils.h"
+#import "GULNetworkInfo.h"
+#import "GULSecureCoding.h"
+#import "GULURLSessionDataResponse.h"
+#import "NSURLSession+GULPromises.h"
+#import "GULObjectSwizzler.h"
+#import "GULSwizzledObject.h"
+#import "GULLogger.h"
+#import "GULLoggerLevel.h"
+#import "GULOriginalIMPConvenienceMacros.h"
+#import "GULSwizzler.h"
+#import "GULNSData+zlib.h"
+#import "GULMutableDictionary.h"
+#import "GULNetwork.h"
+#import "GULNetworkConstants.h"
+#import "GULNetworkLoggerProtocol.h"
+#import "GULNetworkMessageCode.h"
+#import "GULNetworkURLSession.h"
+#import "GULReachabilityChecker.h"
+#import "GULUserDefaults.h"
+
+FOUNDATION_EXPORT double GoogleUtilitiesVersionNumber;
+FOUNDATION_EXPORT const unsigned char GoogleUtilitiesVersionString[];
+
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Info.plist b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Info.plist
new file mode 100644
index 0000000..74a1872
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>GoogleUtilities</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-GoogleUtilities</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>GoogleUtilities</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>7.11.1</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Modules/module.modulemap b/frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Modules/module.modulemap
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Modules/module.modulemap
rename to frameworks/GoogleUtilities.xcframework/ios-arm64/GoogleUtilities.framework/Modules/module.modulemap
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/GoogleUtilities b/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/GoogleUtilities
deleted file mode 100644
index 548a11a..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/GoogleUtilities
+++ /dev/null
Binary files differ
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
deleted file mode 100644
index 72c46c2..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface GULAppEnvironmentUtil : NSObject
-
-/// Indicates whether the app is from Apple Store or not. Returns NO if the app is on simulator,
-/// development environment or sideloaded.
-+ (BOOL)isFromAppStore;
-
-/// Indicates whether the app is a Testflight app. Returns YES if the app has sandbox receipt.
-/// Returns NO otherwise.
-+ (BOOL)isAppStoreReceiptSandbox;
-
-/// Indicates whether the app is on simulator or not at runtime depending on the device
-/// architecture.
-+ (BOOL)isSimulator;
-
-/// The current device model. Returns an empty string if device model cannot be retrieved.
-+ (nullable NSString *)deviceModel;
-
-/// The current operating system version. Returns an empty string if the system version cannot be
-/// retrieved.
-+ (NSString *)systemVersion;
-
-/// Indicates whether it is running inside an extension or an app.
-+ (BOOL)isAppExtension;
-
-/// @return Returns @YES when is run on iOS version greater or equal to 7.0
-+ (BOOL)isIOS7OrHigher DEPRECATED_MSG_ATTRIBUTE(
-    "Always `YES` because only iOS 8 and higher supported. The method will be removed.");
-
-/// @return YES if Swift runtime detected in the app.
-+ (BOOL)hasSwiftRuntime __deprecated;
-
-/// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst".
-+ (NSString *)applePlatform;
-
-/// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
-+ (NSString *)deploymentType;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULKeychainStorage.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULKeychainStorage.h
deleted file mode 100644
index dc01a83..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULKeychainStorage.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class FBLPromise<ValueType>;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/// The class provides a convenient abstraction on top of the iOS Keychain API to save data.
-@interface GULKeychainStorage : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Initializes the keychain storage with Keychain Service name.
- *  @param service A Keychain Service name that will be used to store and retrieve objects. See also
- * `kSecAttrService`.
- */
-- (instancetype)initWithService:(NSString *)service;
-
-/**
- * Get an object by key.
- * @param key The key.
- * @param objectClass The expected object class required by `NSSecureCoding`.
- * @param accessGroup The Keychain Access Group.
- *
- * @return Returns a promise. It is resolved with an object stored by key if exists. It is resolved
- * with `nil` when the object not found. It fails on a Keychain error.
- */
-- (FBLPromise<id<NSSecureCoding>> *)getObjectForKey:(NSString *)key
-                                        objectClass:(Class)objectClass
-                                        accessGroup:(nullable NSString *)accessGroup;
-
-/**
- * Saves the given object by the given key.
- * @param object The object to store.
- * @param key The key to store the object. If there is an existing object by the key, it will be
- * overridden.
- * @param accessGroup The Keychain Access Group.
- *
- * @return Returns which is resolved with `[NSNull null]` on success.
- */
-- (FBLPromise<NSNull *> *)setObject:(id<NSSecureCoding>)object
-                             forKey:(NSString *)key
-                        accessGroup:(nullable NSString *)accessGroup;
-
-/**
- * Removes the object by the given key.
- * @param key The key to store the object. If there is an existing object by the key, it will be
- * overridden.
- * @param accessGroup The Keychain Access Group.
- *
- * @return Returns which is resolved with `[NSNull null]` on success.
- */
-- (FBLPromise<NSNull *> *)removeObjectForKey:(NSString *)key
-                                 accessGroup:(nullable NSString *)accessGroup;
-
-#if TARGET_OS_OSX
-/// If not `nil`, then only this keychain will be used to save and read data (see
-/// `kSecMatchSearchList` and `kSecUseKeychain`. It is mostly intended to be used by unit tests.
-@property(nonatomic, nullable) SecKeychainRef keychainRef;
-#endif  // TARGET_OSX
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULKeychainUtils.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULKeychainUtils.h
deleted file mode 100644
index de4bef2..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULKeychainUtils.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-FOUNDATION_EXPORT NSString *const kGULKeychainUtilsErrorDomain;
-
-/// Helper functions to access Keychain.
-@interface GULKeychainUtils : NSObject
-
-/** Fetches a keychain item data matching to the provided query.
- *  @param query A dictionary with Keychain query parameters. See docs for `SecItemCopyMatching` for
- * details.
- *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
- * assigned with an error if there is.
- *  @returns Data for the first Keychain Item matching the provided query or `nil` if there is not
- * such an item (`outError` will be `nil` in this case) or an error occurred.
- */
-+ (nullable NSData *)getItemWithQuery:(NSDictionary *)query
-                                error:(NSError *_Nullable *_Nullable)outError;
-
-/** Stores data to a Keychain Item matching to the provided query. An existing Keychain Item
- * matching the query parameters will be updated or a new will be created.
- *  @param item A Keychain Item data to store.
- *  @param query A dictionary with Keychain query parameters. See docs for `SecItemAdd` and
- * `SecItemUpdate` for details.
- *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
- * assigned with an error if there is.
- *  @returns `YES` when data was successfully stored, `NO` otherwise.
- */
-+ (BOOL)setItem:(NSData *)item
-      withQuery:(NSDictionary *)query
-          error:(NSError *_Nullable *_Nullable)outError;
-
-/** Removes a Keychain Item matching to the provided query.
- *  @param query A dictionary with Keychain query parameters. See docs for `SecItemDelete` for
- * details.
- *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
- * assigned with an error if there is.
- *  @returns `YES` if the item was removed successfully or doesn't exist, `NO` otherwise.
- */
-+ (BOOL)removeItemWithQuery:(NSDictionary *)query error:(NSError *_Nullable *_Nullable)outError;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetwork.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetwork.h
deleted file mode 100644
index 0e75ae5..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GULNetwork.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GULNetworkConstants.h"
-#import "GULNetworkLoggerProtocol.h"
-#import "GULNetworkURLSession.h"
-
-/// Delegate protocol for GULNetwork events.
-@protocol GULNetworkReachabilityDelegate
-
-/// Tells the delegate to handle events when the network reachability changes to connected or not
-/// connected.
-- (void)reachabilityDidChange;
-
-@end
-
-/// The Network component that provides network status and handles network requests and responses.
-/// This is not thread safe.
-///
-/// NOTE:
-/// User must add FIRAnalytics handleEventsForBackgroundURLSessionID:completionHandler to the
-/// AppDelegate application:handleEventsForBackgroundURLSession:completionHandler:
-@interface GULNetwork : NSObject
-
-/// Indicates if network connectivity is available.
-@property(nonatomic, readonly, getter=isNetworkConnected) BOOL networkConnected;
-
-/// Indicates if there are any uploads in progress.
-@property(nonatomic, readonly, getter=hasUploadInProgress) BOOL uploadInProgress;
-
-/// An optional delegate that can be used in the event when network reachability changes.
-@property(nonatomic, weak) id<GULNetworkReachabilityDelegate> reachabilityDelegate;
-
-/// An optional delegate that can be used to log messages, warnings or errors that occur in the
-/// network operations.
-@property(nonatomic, weak) id<GULNetworkLoggerDelegate> loggerDelegate;
-
-/// Indicates whether the logger should display debug messages.
-@property(nonatomic, assign) BOOL isDebugModeEnabled;
-
-/// The time interval in seconds for the network request to timeout.
-@property(nonatomic, assign) NSTimeInterval timeoutInterval;
-
-/// Initializes with the default reachability host.
-- (instancetype)init;
-
-/// Initializes with a custom reachability host.
-- (instancetype)initWithReachabilityHost:(NSString *)reachabilityHost;
-
-/// Handles events when background session with the given ID has finished.
-+ (void)handleEventsForBackgroundURLSessionID:(NSString *)sessionID
-                            completionHandler:(GULNetworkSystemCompletionHandler)completionHandler;
-
-/// Compresses and sends a POST request with the provided data to the URL. The session will be
-/// background session if usingBackgroundSession is YES. Otherwise, the POST session is default
-/// session. Returns a session ID or nil if an error occurs.
-- (NSString *)postURL:(NSURL *)url
-                   payload:(NSData *)payload
-                     queue:(dispatch_queue_t)queue
-    usingBackgroundSession:(BOOL)usingBackgroundSession
-         completionHandler:(GULNetworkCompletionHandler)handler;
-
-/// Sends a GET request with the provided data to the URL. The session will be background session
-/// if usingBackgroundSession is YES. Otherwise, the GET session is default session. Returns a
-/// session ID or nil if an error occurs.
-- (NSString *)getURL:(NSURL *)url
-                   headers:(NSDictionary *)headers
-                     queue:(dispatch_queue_t)queue
-    usingBackgroundSession:(BOOL)usingBackgroundSession
-         completionHandler:(GULNetworkCompletionHandler)handler;
-
-@end
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
deleted file mode 100644
index eac6831..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "GULAppDelegateSwizzler.h"
-#import "GULApplication.h"
-#import "GULSceneDelegateSwizzler.h"
-#import "GULAppEnvironmentUtil.h"
-#import "GULHeartbeatDateStorable.h"
-#import "GULHeartbeatDateStorage.h"
-#import "GULHeartbeatDateStorageUserDefaults.h"
-#import "GULKeychainStorage.h"
-#import "GULKeychainUtils.h"
-#import "GULSecureCoding.h"
-#import "GULURLSessionDataResponse.h"
-#import "NSURLSession+GULPromises.h"
-#import "GULObjectSwizzler.h"
-#import "GULSwizzledObject.h"
-#import "GULLogger.h"
-#import "GULLoggerLevel.h"
-#import "GULOriginalIMPConvenienceMacros.h"
-#import "GULSwizzler.h"
-#import "GULNSData+zlib.h"
-#import "GULMutableDictionary.h"
-#import "GULNetwork.h"
-#import "GULNetworkConstants.h"
-#import "GULNetworkLoggerProtocol.h"
-#import "GULNetworkMessageCode.h"
-#import "GULNetworkURLSession.h"
-#import "GULReachabilityChecker.h"
-#import "GULUserDefaults.h"
-
-FOUNDATION_EXPORT double GoogleUtilitiesVersionNumber;
-FOUNDATION_EXPORT const unsigned char GoogleUtilitiesVersionString[];
-
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Info.plist b/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Info.plist
deleted file mode 100644
index 709af9d..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_armv7/GoogleUtilities.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>GoogleUtilities</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-GoogleUtilities</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>GoogleUtilities</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>7.6.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities b/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities
deleted file mode 100644
index 5ec25b8..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities
+++ /dev/null
Binary files differ
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
deleted file mode 100644
index 72c46c2..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface GULAppEnvironmentUtil : NSObject
-
-/// Indicates whether the app is from Apple Store or not. Returns NO if the app is on simulator,
-/// development environment or sideloaded.
-+ (BOOL)isFromAppStore;
-
-/// Indicates whether the app is a Testflight app. Returns YES if the app has sandbox receipt.
-/// Returns NO otherwise.
-+ (BOOL)isAppStoreReceiptSandbox;
-
-/// Indicates whether the app is on simulator or not at runtime depending on the device
-/// architecture.
-+ (BOOL)isSimulator;
-
-/// The current device model. Returns an empty string if device model cannot be retrieved.
-+ (nullable NSString *)deviceModel;
-
-/// The current operating system version. Returns an empty string if the system version cannot be
-/// retrieved.
-+ (NSString *)systemVersion;
-
-/// Indicates whether it is running inside an extension or an app.
-+ (BOOL)isAppExtension;
-
-/// @return Returns @YES when is run on iOS version greater or equal to 7.0
-+ (BOOL)isIOS7OrHigher DEPRECATED_MSG_ATTRIBUTE(
-    "Always `YES` because only iOS 8 and higher supported. The method will be removed.");
-
-/// @return YES if Swift runtime detected in the app.
-+ (BOOL)hasSwiftRuntime __deprecated;
-
-/// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst".
-+ (NSString *)applePlatform;
-
-/// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
-+ (NSString *)deploymentType;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h
deleted file mode 100644
index dc01a83..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class FBLPromise<ValueType>;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/// The class provides a convenient abstraction on top of the iOS Keychain API to save data.
-@interface GULKeychainStorage : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/** Initializes the keychain storage with Keychain Service name.
- *  @param service A Keychain Service name that will be used to store and retrieve objects. See also
- * `kSecAttrService`.
- */
-- (instancetype)initWithService:(NSString *)service;
-
-/**
- * Get an object by key.
- * @param key The key.
- * @param objectClass The expected object class required by `NSSecureCoding`.
- * @param accessGroup The Keychain Access Group.
- *
- * @return Returns a promise. It is resolved with an object stored by key if exists. It is resolved
- * with `nil` when the object not found. It fails on a Keychain error.
- */
-- (FBLPromise<id<NSSecureCoding>> *)getObjectForKey:(NSString *)key
-                                        objectClass:(Class)objectClass
-                                        accessGroup:(nullable NSString *)accessGroup;
-
-/**
- * Saves the given object by the given key.
- * @param object The object to store.
- * @param key The key to store the object. If there is an existing object by the key, it will be
- * overridden.
- * @param accessGroup The Keychain Access Group.
- *
- * @return Returns which is resolved with `[NSNull null]` on success.
- */
-- (FBLPromise<NSNull *> *)setObject:(id<NSSecureCoding>)object
-                             forKey:(NSString *)key
-                        accessGroup:(nullable NSString *)accessGroup;
-
-/**
- * Removes the object by the given key.
- * @param key The key to store the object. If there is an existing object by the key, it will be
- * overridden.
- * @param accessGroup The Keychain Access Group.
- *
- * @return Returns which is resolved with `[NSNull null]` on success.
- */
-- (FBLPromise<NSNull *> *)removeObjectForKey:(NSString *)key
-                                 accessGroup:(nullable NSString *)accessGroup;
-
-#if TARGET_OS_OSX
-/// If not `nil`, then only this keychain will be used to save and read data (see
-/// `kSecMatchSearchList` and `kSecUseKeychain`. It is mostly intended to be used by unit tests.
-@property(nonatomic, nullable) SecKeychainRef keychainRef;
-#endif  // TARGET_OSX
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h
deleted file mode 100644
index de4bef2..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2019 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-FOUNDATION_EXPORT NSString *const kGULKeychainUtilsErrorDomain;
-
-/// Helper functions to access Keychain.
-@interface GULKeychainUtils : NSObject
-
-/** Fetches a keychain item data matching to the provided query.
- *  @param query A dictionary with Keychain query parameters. See docs for `SecItemCopyMatching` for
- * details.
- *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
- * assigned with an error if there is.
- *  @returns Data for the first Keychain Item matching the provided query or `nil` if there is not
- * such an item (`outError` will be `nil` in this case) or an error occurred.
- */
-+ (nullable NSData *)getItemWithQuery:(NSDictionary *)query
-                                error:(NSError *_Nullable *_Nullable)outError;
-
-/** Stores data to a Keychain Item matching to the provided query. An existing Keychain Item
- * matching the query parameters will be updated or a new will be created.
- *  @param item A Keychain Item data to store.
- *  @param query A dictionary with Keychain query parameters. See docs for `SecItemAdd` and
- * `SecItemUpdate` for details.
- *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
- * assigned with an error if there is.
- *  @returns `YES` when data was successfully stored, `NO` otherwise.
- */
-+ (BOOL)setItem:(NSData *)item
-      withQuery:(NSDictionary *)query
-          error:(NSError *_Nullable *_Nullable)outError;
-
-/** Removes a Keychain Item matching to the provided query.
- *  @param query A dictionary with Keychain query parameters. See docs for `SecItemDelete` for
- * details.
- *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
- * assigned with an error if there is.
- *  @returns `YES` if the item was removed successfully or doesn't exist, `NO` otherwise.
- */
-+ (BOOL)removeItemWithQuery:(NSDictionary *)query error:(NSError *_Nullable *_Nullable)outError;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h
deleted file mode 100644
index 0e75ae5..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GULNetworkConstants.h"
-#import "GULNetworkLoggerProtocol.h"
-#import "GULNetworkURLSession.h"
-
-/// Delegate protocol for GULNetwork events.
-@protocol GULNetworkReachabilityDelegate
-
-/// Tells the delegate to handle events when the network reachability changes to connected or not
-/// connected.
-- (void)reachabilityDidChange;
-
-@end
-
-/// The Network component that provides network status and handles network requests and responses.
-/// This is not thread safe.
-///
-/// NOTE:
-/// User must add FIRAnalytics handleEventsForBackgroundURLSessionID:completionHandler to the
-/// AppDelegate application:handleEventsForBackgroundURLSession:completionHandler:
-@interface GULNetwork : NSObject
-
-/// Indicates if network connectivity is available.
-@property(nonatomic, readonly, getter=isNetworkConnected) BOOL networkConnected;
-
-/// Indicates if there are any uploads in progress.
-@property(nonatomic, readonly, getter=hasUploadInProgress) BOOL uploadInProgress;
-
-/// An optional delegate that can be used in the event when network reachability changes.
-@property(nonatomic, weak) id<GULNetworkReachabilityDelegate> reachabilityDelegate;
-
-/// An optional delegate that can be used to log messages, warnings or errors that occur in the
-/// network operations.
-@property(nonatomic, weak) id<GULNetworkLoggerDelegate> loggerDelegate;
-
-/// Indicates whether the logger should display debug messages.
-@property(nonatomic, assign) BOOL isDebugModeEnabled;
-
-/// The time interval in seconds for the network request to timeout.
-@property(nonatomic, assign) NSTimeInterval timeoutInterval;
-
-/// Initializes with the default reachability host.
-- (instancetype)init;
-
-/// Initializes with a custom reachability host.
-- (instancetype)initWithReachabilityHost:(NSString *)reachabilityHost;
-
-/// Handles events when background session with the given ID has finished.
-+ (void)handleEventsForBackgroundURLSessionID:(NSString *)sessionID
-                            completionHandler:(GULNetworkSystemCompletionHandler)completionHandler;
-
-/// Compresses and sends a POST request with the provided data to the URL. The session will be
-/// background session if usingBackgroundSession is YES. Otherwise, the POST session is default
-/// session. Returns a session ID or nil if an error occurs.
-- (NSString *)postURL:(NSURL *)url
-                   payload:(NSData *)payload
-                     queue:(dispatch_queue_t)queue
-    usingBackgroundSession:(BOOL)usingBackgroundSession
-         completionHandler:(GULNetworkCompletionHandler)handler;
-
-/// Sends a GET request with the provided data to the URL. The session will be background session
-/// if usingBackgroundSession is YES. Otherwise, the GET session is default session. Returns a
-/// session ID or nil if an error occurs.
-- (NSString *)getURL:(NSURL *)url
-                   headers:(NSDictionary *)headers
-                     queue:(dispatch_queue_t)queue
-    usingBackgroundSession:(BOOL)usingBackgroundSession
-         completionHandler:(GULNetworkCompletionHandler)handler;
-
-@end
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
deleted file mode 100644
index eac6831..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "GULAppDelegateSwizzler.h"
-#import "GULApplication.h"
-#import "GULSceneDelegateSwizzler.h"
-#import "GULAppEnvironmentUtil.h"
-#import "GULHeartbeatDateStorable.h"
-#import "GULHeartbeatDateStorage.h"
-#import "GULHeartbeatDateStorageUserDefaults.h"
-#import "GULKeychainStorage.h"
-#import "GULKeychainUtils.h"
-#import "GULSecureCoding.h"
-#import "GULURLSessionDataResponse.h"
-#import "NSURLSession+GULPromises.h"
-#import "GULObjectSwizzler.h"
-#import "GULSwizzledObject.h"
-#import "GULLogger.h"
-#import "GULLoggerLevel.h"
-#import "GULOriginalIMPConvenienceMacros.h"
-#import "GULSwizzler.h"
-#import "GULNSData+zlib.h"
-#import "GULMutableDictionary.h"
-#import "GULNetwork.h"
-#import "GULNetworkConstants.h"
-#import "GULNetworkLoggerProtocol.h"
-#import "GULNetworkMessageCode.h"
-#import "GULNetworkURLSession.h"
-#import "GULReachabilityChecker.h"
-#import "GULUserDefaults.h"
-
-FOUNDATION_EXPORT double GoogleUtilitiesVersionNumber;
-FOUNDATION_EXPORT const unsigned char GoogleUtilitiesVersionString[];
-
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Info.plist b/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Info.plist
deleted file mode 100644
index 709af9d..0000000
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>GoogleUtilities</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-GoogleUtilities</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>GoogleUtilities</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>7.6.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/GoogleUtilities b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/GoogleUtilities
index eadc458..e804268 100644
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/GoogleUtilities
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/GoogleUtilities
Binary files differ
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
index 72c46c2..ad32929 100644
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
@@ -35,6 +35,10 @@
 /// The current device model. Returns an empty string if device model cannot be retrieved.
 + (nullable NSString *)deviceModel;
 
+/// The current device model, with simulator-specific values. Returns an empty string if device
+/// model cannot be retrieved.
++ (nullable NSString *)deviceSimulatorModel;
+
 /// The current operating system version. Returns an empty string if the system version cannot be
 /// retrieved.
 + (NSString *)systemVersion;
@@ -52,6 +56,10 @@
 /// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst".
 + (NSString *)applePlatform;
 
+/// @return An Apple Device platform. Same possible values as `applePlatform`, with the addition of
+/// "ipados".
++ (NSString *)appleDevicePlatform;
+
 /// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
 + (NSString *)deploymentType;
 
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULKeychainStorage.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULKeychainStorage.h
index dc01a83..af10cb4 100644
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULKeychainStorage.h
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULKeychainStorage.h
@@ -20,7 +20,10 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/// The class provides a convenient abstraction on top of the iOS Keychain API to save data.
+/// The class provides a convenient, multiplatform abstraction of the Keychain.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
 @interface GULKeychainStorage : NSObject
 
 - (instancetype)init NS_UNAVAILABLE;
@@ -72,7 +75,7 @@
 /// If not `nil`, then only this keychain will be used to save and read data (see
 /// `kSecMatchSearchList` and `kSecUseKeychain`. It is mostly intended to be used by unit tests.
 @property(nonatomic, nullable) SecKeychainRef keychainRef;
-#endif  // TARGET_OSX
+#endif  // TARGET_OS_OSX
 
 @end
 
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULKeychainUtils.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULKeychainUtils.h
index de4bef2..9c17356 100644
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULKeychainUtils.h
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULKeychainUtils.h
@@ -20,7 +20,10 @@
 
 FOUNDATION_EXPORT NSString *const kGULKeychainUtilsErrorDomain;
 
-/// Helper functions to access Keychain.
+/// A collection of helper functions that abstract away common Keychain operations.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
 @interface GULKeychainUtils : NSObject
 
 /** Fetches a keychain item data matching to the provided query.
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULNetwork.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULNetwork.h
index 0e75ae5..8631b8b 100644
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULNetwork.h
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULNetwork.h
@@ -75,6 +75,16 @@
     usingBackgroundSession:(BOOL)usingBackgroundSession
          completionHandler:(GULNetworkCompletionHandler)handler;
 
+/// Compresses and sends a POST request with the provided headers and data to the URL. The session
+/// will be background session if usingBackgroundSession is YES. Otherwise, the POST session is
+/// default session. Returns a session ID or nil if an error occurs.
+- (NSString *)postURL:(NSURL *)url
+                   headers:(NSDictionary *)headers
+                   payload:(NSData *)payload
+                     queue:(dispatch_queue_t)queue
+    usingBackgroundSession:(BOOL)usingBackgroundSession
+         completionHandler:(GULNetworkCompletionHandler)handler;
+
 /// Sends a GET request with the provided data to the URL. The session will be background session
 /// if usingBackgroundSession is YES. Otherwise, the GET session is default session. Returns a
 /// session ID or nil if an error occurs.
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULNetworkInfo.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULNetworkInfo.h
new file mode 100644
index 0000000..d3025cd
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GULNetworkInfo.h
@@ -0,0 +1,57 @@
+// Copyright 2022 Google LLC
+//
+// 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.
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The type of network that the device is running with. Values should correspond to the NetworkType
+/// values in android/play/playlog/proto/clientanalytics.proto
+typedef NS_ENUM(NSInteger, GULNetworkType) {
+  GULNetworkTypeNone = -1,
+  GULNetworkTypeMobile = 0,
+  GULNetworkTypeWIFI = 1,
+};
+
+/// Collection of utilities to read network status information
+@interface GULNetworkInfo : NSObject
+
+/// Returns the cellular mobile country code (mcc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileCountryCode;
+
+/// Returns the cellular mobile network code (mnc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileNetworkCode;
+
+/**
+ * Returns the formatted MccMnc if the inputs are valid, otherwise nil
+ * @param mcc The Mobile Country Code returned from `getNetworkMobileCountryCode`
+ * @param mnc The Mobile Network Code returned from `getNetworkMobileNetworkCode`
+ * @returns A string with the concatenated mccMnc if both inputs are valid, otherwise nil
+ */
++ (NSString *_Nullable)formatMcc:(NSString *_Nullable)mcc andMNC:(NSString *_Nullable)mnc;
+
+/// Returns an enum indicating the network type. The enum values should be easily transferrable to
+/// the NetworkType value in android/play/playlog/proto/clientanalytics.proto. Right now this always
+/// returns None on platforms other than iOS. This should be updated in the future to return Wi-Fi
+/// values for the other platforms when applicable.
++ (GULNetworkType)getNetworkType;
+
+/// Returns a string indicating the radio access technology used by the app. The return value will
+/// be one of CTRadioAccess constants defined in
+/// https://developer.apple.com/documentation/coretelephony/cttelephonynetworkinfo/radio_access_technology_constants
++ (NSString *)getNetworkRadioType;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
index eac6831..d89ec68 100644
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
@@ -19,6 +19,7 @@
 #import "GULHeartbeatDateStorageUserDefaults.h"
 #import "GULKeychainStorage.h"
 #import "GULKeychainUtils.h"
+#import "GULNetworkInfo.h"
 #import "GULSecureCoding.h"
 #import "GULURLSessionDataResponse.h"
 #import "NSURLSession+GULPromises.h"
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Info.plist b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Info.plist
index 709af9d..74a1872 100644
--- a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Info.plist
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-maccatalyst/GoogleUtilities.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>7.6.0</string>
+	<string>7.11.1</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities
new file mode 100644
index 0000000..429e4d5
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities
Binary files differ
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
new file mode 100644
index 0000000..ad32929
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface GULAppEnvironmentUtil : NSObject
+
+/// Indicates whether the app is from Apple Store or not. Returns NO if the app is on simulator,
+/// development environment or sideloaded.
++ (BOOL)isFromAppStore;
+
+/// Indicates whether the app is a Testflight app. Returns YES if the app has sandbox receipt.
+/// Returns NO otherwise.
++ (BOOL)isAppStoreReceiptSandbox;
+
+/// Indicates whether the app is on simulator or not at runtime depending on the device
+/// architecture.
++ (BOOL)isSimulator;
+
+/// The current device model. Returns an empty string if device model cannot be retrieved.
++ (nullable NSString *)deviceModel;
+
+/// The current device model, with simulator-specific values. Returns an empty string if device
+/// model cannot be retrieved.
++ (nullable NSString *)deviceSimulatorModel;
+
+/// The current operating system version. Returns an empty string if the system version cannot be
+/// retrieved.
++ (NSString *)systemVersion;
+
+/// Indicates whether it is running inside an extension or an app.
++ (BOOL)isAppExtension;
+
+/// @return Returns @YES when is run on iOS version greater or equal to 7.0
++ (BOOL)isIOS7OrHigher DEPRECATED_MSG_ATTRIBUTE(
+    "Always `YES` because only iOS 8 and higher supported. The method will be removed.");
+
+/// @return YES if Swift runtime detected in the app.
++ (BOOL)hasSwiftRuntime __deprecated;
+
+/// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst".
++ (NSString *)applePlatform;
+
+/// @return An Apple Device platform. Same possible values as `applePlatform`, with the addition of
+/// "ipados".
++ (NSString *)appleDevicePlatform;
+
+/// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
++ (NSString *)deploymentType;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULApplication.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULApplication.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULApplication.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULApplication.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h
new file mode 100644
index 0000000..af10cb4
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2019 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class FBLPromise<ValueType>;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The class provides a convenient, multiplatform abstraction of the Keychain.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
+@interface GULKeychainStorage : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/** Initializes the keychain storage with Keychain Service name.
+ *  @param service A Keychain Service name that will be used to store and retrieve objects. See also
+ * `kSecAttrService`.
+ */
+- (instancetype)initWithService:(NSString *)service;
+
+/**
+ * Get an object by key.
+ * @param key The key.
+ * @param objectClass The expected object class required by `NSSecureCoding`.
+ * @param accessGroup The Keychain Access Group.
+ *
+ * @return Returns a promise. It is resolved with an object stored by key if exists. It is resolved
+ * with `nil` when the object not found. It fails on a Keychain error.
+ */
+- (FBLPromise<id<NSSecureCoding>> *)getObjectForKey:(NSString *)key
+                                        objectClass:(Class)objectClass
+                                        accessGroup:(nullable NSString *)accessGroup;
+
+/**
+ * Saves the given object by the given key.
+ * @param object The object to store.
+ * @param key The key to store the object. If there is an existing object by the key, it will be
+ * overridden.
+ * @param accessGroup The Keychain Access Group.
+ *
+ * @return Returns which is resolved with `[NSNull null]` on success.
+ */
+- (FBLPromise<NSNull *> *)setObject:(id<NSSecureCoding>)object
+                             forKey:(NSString *)key
+                        accessGroup:(nullable NSString *)accessGroup;
+
+/**
+ * Removes the object by the given key.
+ * @param key The key to store the object. If there is an existing object by the key, it will be
+ * overridden.
+ * @param accessGroup The Keychain Access Group.
+ *
+ * @return Returns which is resolved with `[NSNull null]` on success.
+ */
+- (FBLPromise<NSNull *> *)removeObjectForKey:(NSString *)key
+                                 accessGroup:(nullable NSString *)accessGroup;
+
+#if TARGET_OS_OSX
+/// If not `nil`, then only this keychain will be used to save and read data (see
+/// `kSecMatchSearchList` and `kSecUseKeychain`. It is mostly intended to be used by unit tests.
+@property(nonatomic, nullable) SecKeychainRef keychainRef;
+#endif  // TARGET_OS_OSX
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h
new file mode 100644
index 0000000..9c17356
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2019 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+FOUNDATION_EXPORT NSString *const kGULKeychainUtilsErrorDomain;
+
+/// A collection of helper functions that abstract away common Keychain operations.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
+@interface GULKeychainUtils : NSObject
+
+/** Fetches a keychain item data matching to the provided query.
+ *  @param query A dictionary with Keychain query parameters. See docs for `SecItemCopyMatching` for
+ * details.
+ *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
+ * assigned with an error if there is.
+ *  @returns Data for the first Keychain Item matching the provided query or `nil` if there is not
+ * such an item (`outError` will be `nil` in this case) or an error occurred.
+ */
++ (nullable NSData *)getItemWithQuery:(NSDictionary *)query
+                                error:(NSError *_Nullable *_Nullable)outError;
+
+/** Stores data to a Keychain Item matching to the provided query. An existing Keychain Item
+ * matching the query parameters will be updated or a new will be created.
+ *  @param item A Keychain Item data to store.
+ *  @param query A dictionary with Keychain query parameters. See docs for `SecItemAdd` and
+ * `SecItemUpdate` for details.
+ *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
+ * assigned with an error if there is.
+ *  @returns `YES` when data was successfully stored, `NO` otherwise.
+ */
++ (BOOL)setItem:(NSData *)item
+      withQuery:(NSDictionary *)query
+          error:(NSError *_Nullable *_Nullable)outError;
+
+/** Removes a Keychain Item matching to the provided query.
+ *  @param query A dictionary with Keychain query parameters. See docs for `SecItemDelete` for
+ * details.
+ *  @param outError A pointer to `NSError` instance or `NULL`. The instance at `outError` will be
+ * assigned with an error if there is.
+ *  @returns `YES` if the item was removed successfully or doesn't exist, `NO` otherwise.
+ */
++ (BOOL)removeItemWithQuery:(NSDictionary *)query error:(NSError *_Nullable *_Nullable)outError;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULLogger.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULLogger.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULLogger.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULLogger.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULLoggerLevel.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULLoggerLevel.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULLoggerLevel.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULLoggerLevel.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULMutableDictionary.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULMutableDictionary.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULMutableDictionary.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULMutableDictionary.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNSData+zlib.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNSData+zlib.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNSData+zlib.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNSData+zlib.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h
new file mode 100644
index 0000000..8631b8b
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+#import "GULNetworkConstants.h"
+#import "GULNetworkLoggerProtocol.h"
+#import "GULNetworkURLSession.h"
+
+/// Delegate protocol for GULNetwork events.
+@protocol GULNetworkReachabilityDelegate
+
+/// Tells the delegate to handle events when the network reachability changes to connected or not
+/// connected.
+- (void)reachabilityDidChange;
+
+@end
+
+/// The Network component that provides network status and handles network requests and responses.
+/// This is not thread safe.
+///
+/// NOTE:
+/// User must add FIRAnalytics handleEventsForBackgroundURLSessionID:completionHandler to the
+/// AppDelegate application:handleEventsForBackgroundURLSession:completionHandler:
+@interface GULNetwork : NSObject
+
+/// Indicates if network connectivity is available.
+@property(nonatomic, readonly, getter=isNetworkConnected) BOOL networkConnected;
+
+/// Indicates if there are any uploads in progress.
+@property(nonatomic, readonly, getter=hasUploadInProgress) BOOL uploadInProgress;
+
+/// An optional delegate that can be used in the event when network reachability changes.
+@property(nonatomic, weak) id<GULNetworkReachabilityDelegate> reachabilityDelegate;
+
+/// An optional delegate that can be used to log messages, warnings or errors that occur in the
+/// network operations.
+@property(nonatomic, weak) id<GULNetworkLoggerDelegate> loggerDelegate;
+
+/// Indicates whether the logger should display debug messages.
+@property(nonatomic, assign) BOOL isDebugModeEnabled;
+
+/// The time interval in seconds for the network request to timeout.
+@property(nonatomic, assign) NSTimeInterval timeoutInterval;
+
+/// Initializes with the default reachability host.
+- (instancetype)init;
+
+/// Initializes with a custom reachability host.
+- (instancetype)initWithReachabilityHost:(NSString *)reachabilityHost;
+
+/// Handles events when background session with the given ID has finished.
++ (void)handleEventsForBackgroundURLSessionID:(NSString *)sessionID
+                            completionHandler:(GULNetworkSystemCompletionHandler)completionHandler;
+
+/// Compresses and sends a POST request with the provided data to the URL. The session will be
+/// background session if usingBackgroundSession is YES. Otherwise, the POST session is default
+/// session. Returns a session ID or nil if an error occurs.
+- (NSString *)postURL:(NSURL *)url
+                   payload:(NSData *)payload
+                     queue:(dispatch_queue_t)queue
+    usingBackgroundSession:(BOOL)usingBackgroundSession
+         completionHandler:(GULNetworkCompletionHandler)handler;
+
+/// Compresses and sends a POST request with the provided headers and data to the URL. The session
+/// will be background session if usingBackgroundSession is YES. Otherwise, the POST session is
+/// default session. Returns a session ID or nil if an error occurs.
+- (NSString *)postURL:(NSURL *)url
+                   headers:(NSDictionary *)headers
+                   payload:(NSData *)payload
+                     queue:(dispatch_queue_t)queue
+    usingBackgroundSession:(BOOL)usingBackgroundSession
+         completionHandler:(GULNetworkCompletionHandler)handler;
+
+/// Sends a GET request with the provided data to the URL. The session will be background session
+/// if usingBackgroundSession is YES. Otherwise, the GET session is default session. Returns a
+/// session ID or nil if an error occurs.
+- (NSString *)getURL:(NSURL *)url
+                   headers:(NSDictionary *)headers
+                     queue:(dispatch_queue_t)queue
+    usingBackgroundSession:(BOOL)usingBackgroundSession
+         completionHandler:(GULNetworkCompletionHandler)handler;
+
+@end
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkConstants.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkConstants.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkConstants.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkConstants.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkInfo.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkInfo.h
new file mode 100644
index 0000000..d3025cd
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkInfo.h
@@ -0,0 +1,57 @@
+// Copyright 2022 Google LLC
+//
+// 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.
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The type of network that the device is running with. Values should correspond to the NetworkType
+/// values in android/play/playlog/proto/clientanalytics.proto
+typedef NS_ENUM(NSInteger, GULNetworkType) {
+  GULNetworkTypeNone = -1,
+  GULNetworkTypeMobile = 0,
+  GULNetworkTypeWIFI = 1,
+};
+
+/// Collection of utilities to read network status information
+@interface GULNetworkInfo : NSObject
+
+/// Returns the cellular mobile country code (mcc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileCountryCode;
+
+/// Returns the cellular mobile network code (mnc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileNetworkCode;
+
+/**
+ * Returns the formatted MccMnc if the inputs are valid, otherwise nil
+ * @param mcc The Mobile Country Code returned from `getNetworkMobileCountryCode`
+ * @param mnc The Mobile Network Code returned from `getNetworkMobileNetworkCode`
+ * @returns A string with the concatenated mccMnc if both inputs are valid, otherwise nil
+ */
++ (NSString *_Nullable)formatMcc:(NSString *_Nullable)mcc andMNC:(NSString *_Nullable)mnc;
+
+/// Returns an enum indicating the network type. The enum values should be easily transferrable to
+/// the NetworkType value in android/play/playlog/proto/clientanalytics.proto. Right now this always
+/// returns None on platforms other than iOS. This should be updated in the future to return Wi-Fi
+/// values for the other platforms when applicable.
++ (GULNetworkType)getNetworkType;
+
+/// Returns a string indicating the radio access technology used by the app. The return value will
+/// be one of CTRadioAccess constants defined in
+/// https://developer.apple.com/documentation/coretelephony/cttelephonynetworkinfo/radio_access_technology_constants
++ (NSString *)getNetworkRadioType;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkURLSession.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkURLSession.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkURLSession.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkURLSession.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULObjectSwizzler.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULObjectSwizzler.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULObjectSwizzler.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULObjectSwizzler.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULReachabilityChecker.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULReachabilityChecker.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULReachabilityChecker.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULReachabilityChecker.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULSecureCoding.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSecureCoding.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULSecureCoding.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSecureCoding.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULSwizzledObject.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSwizzledObject.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULSwizzledObject.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSwizzledObject.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULSwizzler.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSwizzler.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULSwizzler.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULSwizzler.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULUserDefaults.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULUserDefaults.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/GULUserDefaults.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULUserDefaults.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
new file mode 100644
index 0000000..d89ec68
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
@@ -0,0 +1,44 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "GULAppDelegateSwizzler.h"
+#import "GULApplication.h"
+#import "GULSceneDelegateSwizzler.h"
+#import "GULAppEnvironmentUtil.h"
+#import "GULHeartbeatDateStorable.h"
+#import "GULHeartbeatDateStorage.h"
+#import "GULHeartbeatDateStorageUserDefaults.h"
+#import "GULKeychainStorage.h"
+#import "GULKeychainUtils.h"
+#import "GULNetworkInfo.h"
+#import "GULSecureCoding.h"
+#import "GULURLSessionDataResponse.h"
+#import "NSURLSession+GULPromises.h"
+#import "GULObjectSwizzler.h"
+#import "GULSwizzledObject.h"
+#import "GULLogger.h"
+#import "GULLoggerLevel.h"
+#import "GULOriginalIMPConvenienceMacros.h"
+#import "GULSwizzler.h"
+#import "GULNSData+zlib.h"
+#import "GULMutableDictionary.h"
+#import "GULNetwork.h"
+#import "GULNetworkConstants.h"
+#import "GULNetworkLoggerProtocol.h"
+#import "GULNetworkMessageCode.h"
+#import "GULNetworkURLSession.h"
+#import "GULReachabilityChecker.h"
+#import "GULUserDefaults.h"
+
+FOUNDATION_EXPORT double GoogleUtilitiesVersionNumber;
+FOUNDATION_EXPORT const unsigned char GoogleUtilitiesVersionString[];
+
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Info.plist b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Info.plist
new file mode 100644
index 0000000..74a1872
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>GoogleUtilities</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-GoogleUtilities</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>GoogleUtilities</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>7.11.1</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Modules/module.modulemap b/frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Modules/module.modulemap
similarity index 100%
rename from frameworks/GoogleUtilities.xcframework/ios-arm64_i386_x86_64-simulator/GoogleUtilities.framework/Modules/module.modulemap
rename to frameworks/GoogleUtilities.xcframework/ios-arm64_x86_64-simulator/GoogleUtilities.framework/Modules/module.modulemap
diff --git a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/GoogleUtilities b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/GoogleUtilities
index 73996b1..fe0f13d 100644
--- a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/GoogleUtilities
+++ b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/GoogleUtilities
Binary files differ
diff --git a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
index 72c46c2..ad32929 100644
--- a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
+++ b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
@@ -35,6 +35,10 @@
 /// The current device model. Returns an empty string if device model cannot be retrieved.
 + (nullable NSString *)deviceModel;
 
+/// The current device model, with simulator-specific values. Returns an empty string if device
+/// model cannot be retrieved.
++ (nullable NSString *)deviceSimulatorModel;
+
 /// The current operating system version. Returns an empty string if the system version cannot be
 /// retrieved.
 + (NSString *)systemVersion;
@@ -52,6 +56,10 @@
 /// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst".
 + (NSString *)applePlatform;
 
+/// @return An Apple Device platform. Same possible values as `applePlatform`, with the addition of
+/// "ipados".
++ (NSString *)appleDevicePlatform;
+
 /// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
 + (NSString *)deploymentType;
 
diff --git a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULKeychainStorage.h b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULKeychainStorage.h
index dc01a83..af10cb4 100644
--- a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULKeychainStorage.h
+++ b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULKeychainStorage.h
@@ -20,7 +20,10 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/// The class provides a convenient abstraction on top of the iOS Keychain API to save data.
+/// The class provides a convenient, multiplatform abstraction of the Keychain.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
 @interface GULKeychainStorage : NSObject
 
 - (instancetype)init NS_UNAVAILABLE;
@@ -72,7 +75,7 @@
 /// If not `nil`, then only this keychain will be used to save and read data (see
 /// `kSecMatchSearchList` and `kSecUseKeychain`. It is mostly intended to be used by unit tests.
 @property(nonatomic, nullable) SecKeychainRef keychainRef;
-#endif  // TARGET_OSX
+#endif  // TARGET_OS_OSX
 
 @end
 
diff --git a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULKeychainUtils.h b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULKeychainUtils.h
index de4bef2..9c17356 100644
--- a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULKeychainUtils.h
+++ b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULKeychainUtils.h
@@ -20,7 +20,10 @@
 
 FOUNDATION_EXPORT NSString *const kGULKeychainUtilsErrorDomain;
 
-/// Helper functions to access Keychain.
+/// A collection of helper functions that abstract away common Keychain operations.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
 @interface GULKeychainUtils : NSObject
 
 /** Fetches a keychain item data matching to the provided query.
diff --git a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULNetwork.h b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULNetwork.h
index 0e75ae5..8631b8b 100644
--- a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULNetwork.h
+++ b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULNetwork.h
@@ -75,6 +75,16 @@
     usingBackgroundSession:(BOOL)usingBackgroundSession
          completionHandler:(GULNetworkCompletionHandler)handler;
 
+/// Compresses and sends a POST request with the provided headers and data to the URL. The session
+/// will be background session if usingBackgroundSession is YES. Otherwise, the POST session is
+/// default session. Returns a session ID or nil if an error occurs.
+- (NSString *)postURL:(NSURL *)url
+                   headers:(NSDictionary *)headers
+                   payload:(NSData *)payload
+                     queue:(dispatch_queue_t)queue
+    usingBackgroundSession:(BOOL)usingBackgroundSession
+         completionHandler:(GULNetworkCompletionHandler)handler;
+
 /// Sends a GET request with the provided data to the URL. The session will be background session
 /// if usingBackgroundSession is YES. Otherwise, the GET session is default session. Returns a
 /// session ID or nil if an error occurs.
diff --git a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULNetworkInfo.h b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULNetworkInfo.h
new file mode 100644
index 0000000..d3025cd
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GULNetworkInfo.h
@@ -0,0 +1,57 @@
+// Copyright 2022 Google LLC
+//
+// 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.
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The type of network that the device is running with. Values should correspond to the NetworkType
+/// values in android/play/playlog/proto/clientanalytics.proto
+typedef NS_ENUM(NSInteger, GULNetworkType) {
+  GULNetworkTypeNone = -1,
+  GULNetworkTypeMobile = 0,
+  GULNetworkTypeWIFI = 1,
+};
+
+/// Collection of utilities to read network status information
+@interface GULNetworkInfo : NSObject
+
+/// Returns the cellular mobile country code (mcc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileCountryCode;
+
+/// Returns the cellular mobile network code (mnc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileNetworkCode;
+
+/**
+ * Returns the formatted MccMnc if the inputs are valid, otherwise nil
+ * @param mcc The Mobile Country Code returned from `getNetworkMobileCountryCode`
+ * @param mnc The Mobile Network Code returned from `getNetworkMobileNetworkCode`
+ * @returns A string with the concatenated mccMnc if both inputs are valid, otherwise nil
+ */
++ (NSString *_Nullable)formatMcc:(NSString *_Nullable)mcc andMNC:(NSString *_Nullable)mnc;
+
+/// Returns an enum indicating the network type. The enum values should be easily transferrable to
+/// the NetworkType value in android/play/playlog/proto/clientanalytics.proto. Right now this always
+/// returns None on platforms other than iOS. This should be updated in the future to return Wi-Fi
+/// values for the other platforms when applicable.
++ (GULNetworkType)getNetworkType;
+
+/// Returns a string indicating the radio access technology used by the app. The return value will
+/// be one of CTRadioAccess constants defined in
+/// https://developer.apple.com/documentation/coretelephony/cttelephonynetworkinfo/radio_access_technology_constants
++ (NSString *)getNetworkRadioType;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
index 14069ab..5cfb5ef 100644
--- a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
+++ b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
@@ -19,6 +19,7 @@
 #import "GULHeartbeatDateStorageUserDefaults.h"
 #import "GULKeychainStorage.h"
 #import "GULKeychainUtils.h"
+#import "GULNetworkInfo.h"
 #import "GULSecureCoding.h"
 #import "GULURLSessionDataResponse.h"
 #import "NSURLSession+GULPromises.h"
diff --git a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Info.plist b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Info.plist
index 709af9d..74a1872 100644
--- a/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Info.plist
+++ b/frameworks/GoogleUtilities.xcframework/macos-arm64_x86_64/GoogleUtilities.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>7.6.0</string>
+	<string>7.11.1</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/GoogleUtilities b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/GoogleUtilities
index 3bb5353..7ea9043 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/GoogleUtilities
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/GoogleUtilities
Binary files differ
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
index 72c46c2..ad32929 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
@@ -35,6 +35,10 @@
 /// The current device model. Returns an empty string if device model cannot be retrieved.
 + (nullable NSString *)deviceModel;
 
+/// The current device model, with simulator-specific values. Returns an empty string if device
+/// model cannot be retrieved.
++ (nullable NSString *)deviceSimulatorModel;
+
 /// The current operating system version. Returns an empty string if the system version cannot be
 /// retrieved.
 + (NSString *)systemVersion;
@@ -52,6 +56,10 @@
 /// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst".
 + (NSString *)applePlatform;
 
+/// @return An Apple Device platform. Same possible values as `applePlatform`, with the addition of
+/// "ipados".
++ (NSString *)appleDevicePlatform;
+
 /// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
 + (NSString *)deploymentType;
 
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULKeychainStorage.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULKeychainStorage.h
index dc01a83..af10cb4 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULKeychainStorage.h
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULKeychainStorage.h
@@ -20,7 +20,10 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/// The class provides a convenient abstraction on top of the iOS Keychain API to save data.
+/// The class provides a convenient, multiplatform abstraction of the Keychain.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
 @interface GULKeychainStorage : NSObject
 
 - (instancetype)init NS_UNAVAILABLE;
@@ -72,7 +75,7 @@
 /// If not `nil`, then only this keychain will be used to save and read data (see
 /// `kSecMatchSearchList` and `kSecUseKeychain`. It is mostly intended to be used by unit tests.
 @property(nonatomic, nullable) SecKeychainRef keychainRef;
-#endif  // TARGET_OSX
+#endif  // TARGET_OS_OSX
 
 @end
 
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULKeychainUtils.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULKeychainUtils.h
index de4bef2..9c17356 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULKeychainUtils.h
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULKeychainUtils.h
@@ -20,7 +20,10 @@
 
 FOUNDATION_EXPORT NSString *const kGULKeychainUtilsErrorDomain;
 
-/// Helper functions to access Keychain.
+/// A collection of helper functions that abstract away common Keychain operations.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
 @interface GULKeychainUtils : NSObject
 
 /** Fetches a keychain item data matching to the provided query.
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULNetwork.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULNetwork.h
index 0e75ae5..8631b8b 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULNetwork.h
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULNetwork.h
@@ -75,6 +75,16 @@
     usingBackgroundSession:(BOOL)usingBackgroundSession
          completionHandler:(GULNetworkCompletionHandler)handler;
 
+/// Compresses and sends a POST request with the provided headers and data to the URL. The session
+/// will be background session if usingBackgroundSession is YES. Otherwise, the POST session is
+/// default session. Returns a session ID or nil if an error occurs.
+- (NSString *)postURL:(NSURL *)url
+                   headers:(NSDictionary *)headers
+                   payload:(NSData *)payload
+                     queue:(dispatch_queue_t)queue
+    usingBackgroundSession:(BOOL)usingBackgroundSession
+         completionHandler:(GULNetworkCompletionHandler)handler;
+
 /// Sends a GET request with the provided data to the URL. The session will be background session
 /// if usingBackgroundSession is YES. Otherwise, the GET session is default session. Returns a
 /// session ID or nil if an error occurs.
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULNetworkInfo.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULNetworkInfo.h
new file mode 100644
index 0000000..d3025cd
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GULNetworkInfo.h
@@ -0,0 +1,57 @@
+// Copyright 2022 Google LLC
+//
+// 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.
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The type of network that the device is running with. Values should correspond to the NetworkType
+/// values in android/play/playlog/proto/clientanalytics.proto
+typedef NS_ENUM(NSInteger, GULNetworkType) {
+  GULNetworkTypeNone = -1,
+  GULNetworkTypeMobile = 0,
+  GULNetworkTypeWIFI = 1,
+};
+
+/// Collection of utilities to read network status information
+@interface GULNetworkInfo : NSObject
+
+/// Returns the cellular mobile country code (mcc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileCountryCode;
+
+/// Returns the cellular mobile network code (mnc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileNetworkCode;
+
+/**
+ * Returns the formatted MccMnc if the inputs are valid, otherwise nil
+ * @param mcc The Mobile Country Code returned from `getNetworkMobileCountryCode`
+ * @param mnc The Mobile Network Code returned from `getNetworkMobileNetworkCode`
+ * @returns A string with the concatenated mccMnc if both inputs are valid, otherwise nil
+ */
++ (NSString *_Nullable)formatMcc:(NSString *_Nullable)mcc andMNC:(NSString *_Nullable)mnc;
+
+/// Returns an enum indicating the network type. The enum values should be easily transferrable to
+/// the NetworkType value in android/play/playlog/proto/clientanalytics.proto. Right now this always
+/// returns None on platforms other than iOS. This should be updated in the future to return Wi-Fi
+/// values for the other platforms when applicable.
++ (GULNetworkType)getNetworkType;
+
+/// Returns a string indicating the radio access technology used by the app. The return value will
+/// be one of CTRadioAccess constants defined in
+/// https://developer.apple.com/documentation/coretelephony/cttelephonynetworkinfo/radio_access_technology_constants
++ (NSString *)getNetworkRadioType;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
index eac6831..d89ec68 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
@@ -19,6 +19,7 @@
 #import "GULHeartbeatDateStorageUserDefaults.h"
 #import "GULKeychainStorage.h"
 #import "GULKeychainUtils.h"
+#import "GULNetworkInfo.h"
 #import "GULSecureCoding.h"
 #import "GULURLSessionDataResponse.h"
 #import "NSURLSession+GULPromises.h"
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Info.plist b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Info.plist
index 709af9d..74a1872 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Info.plist
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64/GoogleUtilities.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>7.6.0</string>
+	<string>7.11.1</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities
index fb792f7..95e6e1c 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/GoogleUtilities
Binary files differ
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
index 72c46c2..ad32929 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
@@ -35,6 +35,10 @@
 /// The current device model. Returns an empty string if device model cannot be retrieved.
 + (nullable NSString *)deviceModel;
 
+/// The current device model, with simulator-specific values. Returns an empty string if device
+/// model cannot be retrieved.
++ (nullable NSString *)deviceSimulatorModel;
+
 /// The current operating system version. Returns an empty string if the system version cannot be
 /// retrieved.
 + (NSString *)systemVersion;
@@ -52,6 +56,10 @@
 /// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst".
 + (NSString *)applePlatform;
 
+/// @return An Apple Device platform. Same possible values as `applePlatform`, with the addition of
+/// "ipados".
++ (NSString *)appleDevicePlatform;
+
 /// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
 + (NSString *)deploymentType;
 
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h
index dc01a83..af10cb4 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainStorage.h
@@ -20,7 +20,10 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/// The class provides a convenient abstraction on top of the iOS Keychain API to save data.
+/// The class provides a convenient, multiplatform abstraction of the Keychain.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
 @interface GULKeychainStorage : NSObject
 
 - (instancetype)init NS_UNAVAILABLE;
@@ -72,7 +75,7 @@
 /// If not `nil`, then only this keychain will be used to save and read data (see
 /// `kSecMatchSearchList` and `kSecUseKeychain`. It is mostly intended to be used by unit tests.
 @property(nonatomic, nullable) SecKeychainRef keychainRef;
-#endif  // TARGET_OSX
+#endif  // TARGET_OS_OSX
 
 @end
 
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h
index de4bef2..9c17356 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULKeychainUtils.h
@@ -20,7 +20,10 @@
 
 FOUNDATION_EXPORT NSString *const kGULKeychainUtilsErrorDomain;
 
-/// Helper functions to access Keychain.
+/// A collection of helper functions that abstract away common Keychain operations.
+///
+/// When using this API on macOS, the corresponding target must be signed with a provisioning
+/// profile that has the Keychain Sharing capability enabled.
 @interface GULKeychainUtils : NSObject
 
 /** Fetches a keychain item data matching to the provided query.
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h
index 0e75ae5..8631b8b 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetwork.h
@@ -75,6 +75,16 @@
     usingBackgroundSession:(BOOL)usingBackgroundSession
          completionHandler:(GULNetworkCompletionHandler)handler;
 
+/// Compresses and sends a POST request with the provided headers and data to the URL. The session
+/// will be background session if usingBackgroundSession is YES. Otherwise, the POST session is
+/// default session. Returns a session ID or nil if an error occurs.
+- (NSString *)postURL:(NSURL *)url
+                   headers:(NSDictionary *)headers
+                   payload:(NSData *)payload
+                     queue:(dispatch_queue_t)queue
+    usingBackgroundSession:(BOOL)usingBackgroundSession
+         completionHandler:(GULNetworkCompletionHandler)handler;
+
 /// Sends a GET request with the provided data to the URL. The session will be background session
 /// if usingBackgroundSession is YES. Otherwise, the GET session is default session. Returns a
 /// session ID or nil if an error occurs.
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkInfo.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkInfo.h
new file mode 100644
index 0000000..d3025cd
--- /dev/null
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GULNetworkInfo.h
@@ -0,0 +1,57 @@
+// Copyright 2022 Google LLC
+//
+// 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.
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The type of network that the device is running with. Values should correspond to the NetworkType
+/// values in android/play/playlog/proto/clientanalytics.proto
+typedef NS_ENUM(NSInteger, GULNetworkType) {
+  GULNetworkTypeNone = -1,
+  GULNetworkTypeMobile = 0,
+  GULNetworkTypeWIFI = 1,
+};
+
+/// Collection of utilities to read network status information
+@interface GULNetworkInfo : NSObject
+
+/// Returns the cellular mobile country code (mcc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileCountryCode;
+
+/// Returns the cellular mobile network code (mnc) if CoreTelephony is supported, otherwise nil
++ (NSString *_Nullable)getNetworkMobileNetworkCode;
+
+/**
+ * Returns the formatted MccMnc if the inputs are valid, otherwise nil
+ * @param mcc The Mobile Country Code returned from `getNetworkMobileCountryCode`
+ * @param mnc The Mobile Network Code returned from `getNetworkMobileNetworkCode`
+ * @returns A string with the concatenated mccMnc if both inputs are valid, otherwise nil
+ */
++ (NSString *_Nullable)formatMcc:(NSString *_Nullable)mcc andMNC:(NSString *_Nullable)mnc;
+
+/// Returns an enum indicating the network type. The enum values should be easily transferrable to
+/// the NetworkType value in android/play/playlog/proto/clientanalytics.proto. Right now this always
+/// returns None on platforms other than iOS. This should be updated in the future to return Wi-Fi
+/// values for the other platforms when applicable.
++ (GULNetworkType)getNetworkType;
+
+/// Returns a string indicating the radio access technology used by the app. The return value will
+/// be one of CTRadioAccess constants defined in
+/// https://developer.apple.com/documentation/coretelephony/cttelephonynetworkinfo/radio_access_technology_constants
++ (NSString *)getNetworkRadioType;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
index eac6831..d89ec68 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
@@ -19,6 +19,7 @@
 #import "GULHeartbeatDateStorageUserDefaults.h"
 #import "GULKeychainStorage.h"
 #import "GULKeychainUtils.h"
+#import "GULNetworkInfo.h"
 #import "GULSecureCoding.h"
 #import "GULURLSessionDataResponse.h"
 #import "NSURLSession+GULPromises.h"
diff --git a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Info.plist b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Info.plist
index 709af9d..74a1872 100644
--- a/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Info.plist
+++ b/frameworks/GoogleUtilities.xcframework/tvos-arm64_x86_64-simulator/GoogleUtilities.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>7.6.0</string>
+	<string>7.11.1</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/PromisesObjC.xcframework/Info.plist b/frameworks/PromisesObjC.xcframework/Info.plist
deleted file mode 100644
index a0da472..0000000
--- a/frameworks/PromisesObjC.xcframework/Info.plist
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>AvailableLibraries</key>
-	<array>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_i386_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>PromisesObjC.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>i386</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>tvos-arm64_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>PromisesObjC.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>tvos</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_armv7</string>
-			<key>LibraryPath</key>
-			<string>PromisesObjC.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>armv7</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_x86_64-maccatalyst</string>
-			<key>LibraryPath</key>
-			<string>PromisesObjC.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>maccatalyst</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>tvos-arm64</string>
-			<key>LibraryPath</key>
-			<string>PromisesObjC.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>tvos</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>macos-arm64_x86_64</string>
-			<key>LibraryPath</key>
-			<string>PromisesObjC.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>macos</string>
-		</dict>
-	</array>
-	<key>CFBundlePackageType</key>
-	<string>XFWK</string>
-	<key>XCFrameworkFormatVersion</key>
-	<string>1.0</string>
-</dict>
-</plist>
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Retry.h b/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Retry.h
deleted file mode 100644
index 98ef558..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Headers/FBLPromise+Retry.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The default number of retry attempts is 1. */
-FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
-
-/** The default delay interval before making a retry attempt is 1.0 second. */
-FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
-
-@interface FBLPromise<Value>(RetryAdditions)
-
-typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
- `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
- rejection where the `work` block is retried on the given `queue` after a delay of
- `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param queue A queue to invoke the `work` block on.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
- continue to retry until the number of specified attempts have been exhausted or will bail early if
- the given condition is not met.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   delay:(NSTimeInterval)interval
-               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. On rejection, the `work` block is retried after the given
- delay `interval` and will continue to retry until the number of specified attempts have been
- exhausted or will bail early if the given condition is not met.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  delay:(NSTimeInterval)interval
-              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
- Usage: FBLPromise.retry(^id { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
-
-+ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
-                    FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Info.plist b/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Info.plist
deleted file mode 100644
index 308a336..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>PromisesObjC</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-PromisesObjC</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>PromisesObjC</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>2.0.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/PromisesObjC b/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/PromisesObjC
deleted file mode 100644
index 93e938a..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_armv7/PromisesObjC.framework/PromisesObjC
+++ /dev/null
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+All.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+All.h
deleted file mode 100644
index 9c0090e..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+All.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AllAdditions)
-
-/**
- Wait until all of the given promises are fulfilled.
- If one of the given promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param promises Promises to wait for.
- @return Promise of an array containing the values of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)all:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Wait until all of the given promises are fulfilled.
- If one of the given promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected FBLPromise correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return Promise of an array containing the values of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)onQueue:(dispatch_queue_t)queue
-                               all:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `all` operators.
- Usage: FBLPromise.all(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_AllAdditions)
-
-+ (FBLPromise<NSArray *> * (^)(NSArray *))all FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray *> * (^)(dispatch_queue_t, NSArray *))allOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Always.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Always.h
deleted file mode 100644
index 13000f5..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Always.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AlwaysAdditions)
-
-typedef void (^FBLPromiseAlwaysWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block that always executes, no matter if the receiver is rejected or fulfilled.
- @return A new pending promise to be resolved with same resolution as the receiver.
- */
-- (FBLPromise *)always:(FBLPromiseAlwaysWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to dispatch on.
- @param work A block that always executes, no matter if the receiver is rejected or fulfilled.
- @return A new pending promise to be resolved with same resolution as the receiver.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                 always:(FBLPromiseAlwaysWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `always` operators.
- Usage: promise.always(^{...})
- */
-@interface FBLPromise<Value>(DotSyntax_AlwaysAdditions)
-
-- (FBLPromise* (^)(FBLPromiseAlwaysWorkBlock))always FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAlwaysWorkBlock))alwaysOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Any.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Any.h
deleted file mode 100644
index 82875bf..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Any.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AnyAdditions)
-
-/**
- Waits until all of the given promises are either fulfilled or rejected.
- If all promises are rejected, then the returned promise is rejected with same error
- as the last one rejected.
- If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
- values or `NSErrors`, matching the original order of fulfilled or rejected promises respectively.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param promises Promises to wait for.
- @return Promise of array containing the values or `NSError`s of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)any:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Waits until all of the given promises are either fulfilled or rejected.
- If all promises are rejected, then the returned promise is rejected with same error
- as the last one rejected.
- If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
- values or `NSError`s, matching the original order of fulfilled or rejected promises respectively.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return Promise of array containing the values or `NSError`s of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)onQueue:(dispatch_queue_t)queue
-                               any:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `any` operators.
- Usage: FBLPromise.any(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_AnyAdditions)
-
-+ (FBLPromise<NSArray *> * (^)(NSArray *))any FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray *> * (^)(dispatch_queue_t, NSArray *))anyOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Async.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Async.h
deleted file mode 100644
index 0588a9e..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Async.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AsyncAdditions)
-
-typedef void (^FBLPromiseFulfillBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseRejectBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseAsyncWorkBlock)(FBLPromiseFulfillBlock fulfill,
-                                         FBLPromiseRejectBlock reject) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously.
-
- @param work A block to perform any operations needed to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)async:(FBLPromiseAsyncWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously on the given queue.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-                  async:(FBLPromiseAsyncWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `async` operators.
- Usage: FBLPromise.async(^(FBLPromiseFulfillBlock fulfill, FBLPromiseRejectBlock reject) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_AsyncAdditions)
-
-+ (FBLPromise* (^)(FBLPromiseAsyncWorkBlock))async FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAsyncWorkBlock))asyncOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Await.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Await.h
deleted file mode 100644
index c97a1ba..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Await.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Waits for promise resolution. The current thread blocks until the promise is resolved.
-
- @param promise Promise to wait for.
- @param error Error the promise was rejected with, or `nil` if the promise was fulfilled.
- @return Value the promise was fulfilled with. If the promise was rejected, the return value
-         is always `nil`, but the error out arg is not.
- */
-FOUNDATION_EXTERN id __nullable FBLPromiseAwait(FBLPromise *promise,
-                                                NSError **error) NS_REFINED_FOR_SWIFT;
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Catch.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Catch.h
deleted file mode 100644
index a9ff170..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Catch.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(CatchAdditions)
-
-typedef void (^FBLPromiseCatchWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with same resolution as the receiver.
- If receiver is rejected, then `reject` block is executed asynchronously.
-
- @param reject A block to handle the error that receiver was rejected with.
- @return A new pending promise.
- */
-- (FBLPromise *)catch:(FBLPromiseCatchWorkBlock)reject NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with same resolution as the receiver.
- If receiver is rejected, then `reject` block is executed asynchronously on the given queue.
-
- @param queue A queue to invoke the `reject` block on.
- @param reject A block to handle the error that receiver was rejected with.
- @return A new pending promise.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  catch:(FBLPromiseCatchWorkBlock)reject NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `catch` operators.
- Usage: promise.catch(^(NSError *error) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_CatchAdditions)
-
-- (FBLPromise* (^)(FBLPromiseCatchWorkBlock))catch FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseCatchWorkBlock))catchOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Delay.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Delay.h
deleted file mode 100644
index 557df48..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Delay.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(DelayAdditions)
-
-/**
- Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
- rejects with the same error immediately.
-
- @param interval Time to wait in seconds.
- @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
-         with the same error immediately.
- */
-- (FBLPromise *)delay:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
- rejects with the same error immediately.
-
- @param queue A queue to dispatch on.
- @param interval Time to wait in seconds.
- @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
-         with the same error immediately.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  delay:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `delay` operators.
- Usage: promise.delay(...)
- */
-@interface FBLPromise<Value>(DotSyntax_DelayAdditions)
-
-- (FBLPromise * (^)(NSTimeInterval))delay FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, NSTimeInterval))delayOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Do.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Do.h
deleted file mode 100644
index 6838e0a..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Do.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(DoAdditions)
-
-typedef id __nullable (^FBLPromiseDoWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously.
-
- @param work A block that returns a value or an error used to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)do:(FBLPromiseDoWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously on the given queue.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block that returns a value or an error used to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue do:(FBLPromiseDoWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `do` operators.
- Usage: FBLPromise.doOn(queue, ^(NSError *error) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_DoAdditions)
-
-+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseDoWorkBlock))doOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Race.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Race.h
deleted file mode 100644
index 2f67258..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Race.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(RaceAdditions)
-
-/**
- Wait until any of the given promises are fulfilled.
- If one of the promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
-
- @param promises Promises to wait for.
- @return A new pending promise to be resolved with the same resolution as the first promise, among
-         the given ones, which was resolved.
- */
-+ (instancetype)race:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Wait until any of the given promises are fulfilled.
- If one of the promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return A new pending promise to be resolved with the same resolution as the first promise, among
-         the given ones, which was resolved.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue race:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `race` operators.
- Usage: FBLPromise.race(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_RaceAdditions)
-
-+ (FBLPromise * (^)(NSArray *))race FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, NSArray *))raceOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Recover.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Recover.h
deleted file mode 100644
index bb7df7e..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Recover.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(RecoverAdditions)
-
-typedef id __nullable (^FBLPromiseRecoverWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides a new promise to recover in case the receiver gets rejected.
-
- @param recovery A block to handle the error that the receiver was rejected with.
- @return A new pending promise to use instead of the rejected one that gets resolved with resolution
-         returned from `recovery` block.
- */
-- (FBLPromise *)recover:(FBLPromiseRecoverWorkBlock)recovery NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides a new promise to recover in case the receiver gets rejected.
-
- @param queue A queue to dispatch on.
- @param recovery A block to handle the error that the receiver was rejected with.
- @return A new pending promise to use instead of the rejected one that gets resolved with resolution
-         returned from `recovery` block.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                recover:(FBLPromiseRecoverWorkBlock)recovery NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `recover` operators.
- Usage: promise.recover(^id(NSError *error) {...})
- */
-@interface FBLPromise<Value>(DotSyntax_RecoverAdditions)
-
-- (FBLPromise * (^)(FBLPromiseRecoverWorkBlock))recover FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRecoverWorkBlock))recoverOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Reduce.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
deleted file mode 100644
index 5bb1eee..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ReduceAdditions)
-
-typedef id __nullable (^FBLPromiseReducerBlock)(Value __nullable partial, id next)
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- Sequentially reduces a collection of values to a single promise using a given combining block
- and the value `self` resolves with as initial value.
-
- @param items An array of values to process in order.
- @param reducer A block to combine an accumulating value and an element of the sequence into
-                the new accumulating value or a promise resolved with it, to be used in the next
-                call of the `reducer` or returned to the caller.
- @return A new pending promise returned from the last `reducer` invocation.
-         Or `self` if `items` is empty.
- */
-- (FBLPromise *)reduce:(NSArray *)items
-               combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
-
-/**
- Sequentially reduces a collection of values to a single promise using a given combining block
- and the value `self` resolves with as initial value.
-
- @param queue A queue to dispatch on.
- @param items An array of values to process in order.
- @param reducer A block to combine an accumulating value and an element of the sequence into
-                the new accumulating value or a promise resolved with it, to be used in the next
-                call of the `reducer` or returned to the caller.
- @return A new pending promise returned from the last `reducer` invocation.
-         Or `self` if `items` is empty.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                 reduce:(NSArray *)items
-                combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `reduce` operators.
- Usage: promise.reduce(values, ^id(id partial, id next) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ReduceAdditions)
-
-- (FBLPromise * (^)(NSArray *, FBLPromiseReducerBlock))reduce FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, NSArray *, FBLPromiseReducerBlock))reduceOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Retry.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Retry.h
deleted file mode 100644
index 98ef558..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Retry.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The default number of retry attempts is 1. */
-FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
-
-/** The default delay interval before making a retry attempt is 1.0 second. */
-FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
-
-@interface FBLPromise<Value>(RetryAdditions)
-
-typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
- `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
- rejection where the `work` block is retried on the given `queue` after a delay of
- `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param queue A queue to invoke the `work` block on.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
- continue to retry until the number of specified attempts have been exhausted or will bail early if
- the given condition is not met.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   delay:(NSTimeInterval)interval
-               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. On rejection, the `work` block is retried after the given
- delay `interval` and will continue to retry until the number of specified attempts have been
- exhausted or will bail early if the given condition is not met.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  delay:(NSTimeInterval)interval
-              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
- Usage: FBLPromise.retry(^id { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
-
-+ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
-                    FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Testing.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Testing.h
deleted file mode 100644
index 8478ae2..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Testing.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Waits for all scheduled promises blocks.
-
- @param timeout Maximum time to wait.
- @return YES if all promises blocks have completed before the timeout and NO otherwise.
- */
-FOUNDATION_EXTERN BOOL FBLWaitForPromisesWithTimeout(NSTimeInterval timeout) NS_REFINED_FOR_SWIFT;
-
-@interface FBLPromise<Value>(TestingAdditions)
-
-/**
- Dispatch group for promises that is typically used to wait for all scheduled blocks.
- */
-@property(class, nonatomic, readonly) dispatch_group_t dispatchGroup NS_REFINED_FOR_SWIFT;
-
-/**
- Properties to get the current state of the promise.
- */
-@property(nonatomic, readonly) BOOL isPending NS_REFINED_FOR_SWIFT;
-@property(nonatomic, readonly) BOOL isFulfilled NS_REFINED_FOR_SWIFT;
-@property(nonatomic, readonly) BOOL isRejected NS_REFINED_FOR_SWIFT;
-
-/**
- Value the promise was fulfilled with.
- Can be nil if the promise is still pending, was resolved with nil or after it has been rejected.
- */
-@property(nonatomic, readonly, nullable) Value value NS_REFINED_FOR_SWIFT;
-
-/**
- Error the promise was rejected with.
- Can be nil if the promise is still pending or after it has been fulfilled.
- */
-@property(nonatomic, readonly, nullable) NSError *error NS_REFINED_FOR_SWIFT;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Then.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Then.h
deleted file mode 100644
index 32027e6..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Then.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ThenAdditions)
-
-typedef id __nullable (^FBLPromiseThenWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with resolution returned from `work`
- block: either value, error or another promise. The `work` block is executed asynchronously only
- when the receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with
- the same error.
-
- @param work A block to handle the value that receiver was fulfilled with.
- @return A new pending promise to be resolved with resolution returned from the `work` block.
- */
-- (FBLPromise *)then:(FBLPromiseThenWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with resolution returned from `work`
- block: either value, error or another promise. The `work` block is executed asynchronously when the
- receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with the same
- error.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block to handle the value that receiver was fulfilled with.
- @return A new pending promise to be resolved with resolution returned from the `work` block.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                   then:(FBLPromiseThenWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `then` operators.
- Usage: promise.then(^id(id value) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ThenAdditions)
-
-- (FBLPromise* (^)(FBLPromiseThenWorkBlock))then FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseThenWorkBlock))thenOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Timeout.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
deleted file mode 100644
index 184ba16..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(TimeoutAdditions)
-
-/**
- Waits for a promise with the specified `timeout`.
-
- @param interval Time to wait in seconds.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)timeout:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
-
-/**
- Waits for a promise with the specified `timeout`.
-
- @param queue A queue to dispatch on.
- @param interval Time to wait in seconds.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                timeout:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `timeout` operators.
- Usage: promise.timeout(...)
- */
-@interface FBLPromise<Value>(DotSyntax_TimeoutAdditions)
-
-- (FBLPromise* (^)(NSTimeInterval))timeout FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, NSTimeInterval))timeoutOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Validate.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Validate.h
deleted file mode 100644
index 9dfa2f1..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Validate.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ValidateAdditions)
-
-typedef BOOL (^FBLPromiseValidateWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Validates a fulfilled value or rejects the value if it can not be validated.
-
- @param predicate An expression to validate.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)validate:(FBLPromiseValidateWorkBlock)predicate NS_SWIFT_UNAVAILABLE("");
-
-/**
- Validates a fulfilled value or rejects the value if it can not be validated.
-
- @param queue A queue to dispatch on.
- @param predicate An expression to validate.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               validate:(FBLPromiseValidateWorkBlock)predicate NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `validate` operators.
- Usage: promise.validate(^BOOL(id value) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ValidateAdditions)
-
-- (FBLPromise * (^)(FBLPromiseValidateWorkBlock))validate FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseValidateWorkBlock))validateOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Wrap.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
deleted file mode 100644
index 664e1bb..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
+++ /dev/null
@@ -1,316 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Different types of completion handlers available to be wrapped with promise.
- */
-typedef void (^FBLPromiseCompletion)(void) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseObjectCompletion)(id __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseErrorCompletion)(NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseObjectOrErrorCompletion)(id __nullable, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseErrorOrObjectCompletion)(NSError* __nullable, id __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromise2ObjectsOrErrorCompletion)(id __nullable, id __nullable,
-                                                    NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseBoolCompletion)(BOOL) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseBoolOrErrorCompletion)(BOOL, NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseIntegerCompletion)(NSInteger) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseIntegerOrErrorCompletion)(NSInteger, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseDoubleCompletion)(double) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseDoubleOrErrorCompletion)(double, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides an easy way to convert methods that use common callback patterns into promises.
- */
-@interface FBLPromise<Value>(WrapAdditions)
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with `nil` when completion handler is invoked.
- */
-+ (instancetype)wrapCompletion:(void (^)(FBLPromiseCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with `nil` when completion handler is invoked.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-         wrapCompletion:(void (^)(FBLPromiseCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler.
- */
-+ (instancetype)wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error provided by completion handler.
- If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
- */
-+ (instancetype)wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error provided by completion handler.
- If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler if error is `nil`.
- Otherwise, rejects with the error.
- */
-+ (instancetype)wrapObjectOrErrorCompletion:
-    (void (^)(FBLPromiseObjectOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler if error is `nil`.
- Otherwise, rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapObjectOrErrorCompletion:(void (^)(FBLPromiseObjectOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error or object provided by completion handler. If error
- is not `nil`, rejects with the error.
- */
-+ (instancetype)wrapErrorOrObjectCompletion:
-    (void (^)(FBLPromiseErrorOrObjectCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error or object provided by completion handler. If error
- is not `nil`, rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapErrorOrObjectCompletion:(void (^)(FBLPromiseErrorOrObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an array of objects provided by completion handler in order
- if error is `nil`. Otherwise, rejects with the error.
- */
-+ (FBLPromise<NSArray*>*)wrap2ObjectsOrErrorCompletion:
-    (void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an array of objects provided by completion handler in order
- if error is `nil`. Otherwise, rejects with the error.
- */
-+ (FBLPromise<NSArray*>*)onQueue:(dispatch_queue_t)queue
-    wrap2ObjectsOrErrorCompletion:(void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO.
- */
-+ (FBLPromise<NSNumber*>*)wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-               wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapBoolOrErrorCompletion:
-    (void (^)(FBLPromiseBoolOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-        wrapBoolOrErrorCompletion:(void (^)(FBLPromiseBoolOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer.
- */
-+ (FBLPromise<NSNumber*>*)wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-            wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapIntegerOrErrorCompletion:
-    (void (^)(FBLPromiseIntegerOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-     wrapIntegerOrErrorCompletion:(void (^)(FBLPromiseIntegerOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double.
- */
-+ (FBLPromise<NSNumber*>*)wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-             wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapDoubleOrErrorCompletion:
-    (void (^)(FBLPromiseDoubleOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-      wrapDoubleOrErrorCompletion:(void (^)(FBLPromiseDoubleOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `wrap` operators.
- Usage: FBLPromise.wrapCompletion(^(FBLPromiseCompletion handler) {...})
- */
-@interface FBLPromise<Value>(DotSyntax_WrapAdditions)
-
-+ (FBLPromise* (^)(void (^)(FBLPromiseCompletion)))wrapCompletion FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseCompletion)))wrapCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletion FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t,
-                   void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t,
-                   void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray*>* (^)(void (^)(FBLPromise2ObjectsOrErrorCompletion)))
-    wrap2ObjectsOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray*>* (^)(dispatch_queue_t, void (^)(FBLPromise2ObjectsOrErrorCompletion)))
-    wrap2ObjectsOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseIntegerOrErrorCompletion)))
-    wrapIntegerOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t, void (^)(FBLPromiseIntegerOrErrorCompletion)))
-    wrapIntegerOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseDoubleOrErrorCompletion)))
-    wrapDoubleOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t, void (^)(FBLPromiseDoubleOrErrorCompletion)))
-    wrapDoubleOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise.h
deleted file mode 100644
index b1380dc..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromiseError.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Promises synchronization construct in Objective-C.
- */
-@interface FBLPromise<__covariant Value> : NSObject
-
-/**
- Default dispatch queue used for `FBLPromise`, which is `main` if a queue is not specified.
- */
-@property(class) dispatch_queue_t defaultDispatchQueue NS_REFINED_FOR_SWIFT;
-
-/**
- Creates a pending promise.
- */
-+ (instancetype)pendingPromise NS_REFINED_FOR_SWIFT;
-
-/**
- Creates a resolved promise.
-
- @param resolution An object to resolve the promise with: either a value or an error.
- @return A new resolved promise.
- */
-+ (instancetype)resolvedWith:(nullable id)resolution NS_REFINED_FOR_SWIFT;
-
-/**
- Synchronously fulfills the promise with a value.
-
- @param value An arbitrary value to fulfill the promise with, including `nil`.
- */
-- (void)fulfill:(nullable Value)value NS_REFINED_FOR_SWIFT;
-
-/**
- Synchronously rejects the promise with an error.
-
- @param error An error to reject the promise with.
- */
-- (void)reject:(NSError *)error NS_REFINED_FOR_SWIFT;
-
-+ (instancetype)new NS_UNAVAILABLE;
-- (instancetype)init NS_UNAVAILABLE;
-@end
-
-@interface FBLPromise<Value>()
-
-/**
- Adds an object to the set of pending objects to keep strongly while the promise is pending.
- Used by the Swift wrappers to keep them alive until the underlying ObjC promise is resolved.
-
- @param object An object to add.
- */
-- (void)addPendingObject:(id)object NS_REFINED_FOR_SWIFT;
-
-@end
-
-#ifdef FBL_PROMISES_DOT_SYNTAX_IS_DEPRECATED
-#define FBL_PROMISES_DOT_SYNTAX __attribute__((deprecated))
-#else
-#define FBL_PROMISES_DOT_SYNTAX
-#endif
-
-@interface FBLPromise<Value>(DotSyntaxAdditions)
-
-/**
- Convenience dot-syntax wrappers for FBLPromise.
- Usage: FBLPromise.pending()
-        FBLPromise.resolved(value)
-
- */
-+ (instancetype (^)(void))pending FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (instancetype (^)(id __nullable))resolved FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromiseError.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromiseError.h
deleted file mode 100644
index d37af53..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromiseError.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-FOUNDATION_EXTERN NSErrorDomain const FBLPromiseErrorDomain NS_REFINED_FOR_SWIFT;
-
-/**
- Possible error codes in `FBLPromiseErrorDomain`.
- */
-typedef NS_ENUM(NSInteger, FBLPromiseErrorCode) {
-  /** Promise failed to resolve in time. */
-  FBLPromiseErrorCodeTimedOut = 1,
-  /** Validation predicate returned false. */
-  FBLPromiseErrorCodeValidationFailure = 2,
-} NS_REFINED_FOR_SWIFT;
-
-NS_INLINE BOOL FBLPromiseErrorIsTimedOut(NSError *error) NS_SWIFT_UNAVAILABLE("") {
-  return error.domain == FBLPromiseErrorDomain &&
-         error.code == FBLPromiseErrorCodeTimedOut;
-}
-
-NS_INLINE BOOL FBLPromiseErrorIsValidationFailure(NSError *error) NS_SWIFT_UNAVAILABLE("") {
-  return error.domain == FBLPromiseErrorDomain &&
-         error.code == FBLPromiseErrorCodeValidationFailure;
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromises.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromises.h
deleted file mode 100644
index 2d90bad..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromises.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise+All.h"
-#import "FBLPromise+Always.h"
-#import "FBLPromise+Any.h"
-#import "FBLPromise+Async.h"
-#import "FBLPromise+Await.h"
-#import "FBLPromise+Catch.h"
-#import "FBLPromise+Delay.h"
-#import "FBLPromise+Do.h"
-#import "FBLPromise+Race.h"
-#import "FBLPromise+Recover.h"
-#import "FBLPromise+Reduce.h"
-#import "FBLPromise+Retry.h"
-#import "FBLPromise+Then.h"
-#import "FBLPromise+Timeout.h"
-#import "FBLPromise+Validate.h"
-#import "FBLPromise+Wrap.h"
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
deleted file mode 100644
index 5b014a8..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "FBLPromise+All.h"
-#import "FBLPromise+Always.h"
-#import "FBLPromise+Any.h"
-#import "FBLPromise+Async.h"
-#import "FBLPromise+Await.h"
-#import "FBLPromise+Catch.h"
-#import "FBLPromise+Delay.h"
-#import "FBLPromise+Do.h"
-#import "FBLPromise+Race.h"
-#import "FBLPromise+Recover.h"
-#import "FBLPromise+Reduce.h"
-#import "FBLPromise+Retry.h"
-#import "FBLPromise+Testing.h"
-#import "FBLPromise+Then.h"
-#import "FBLPromise+Timeout.h"
-#import "FBLPromise+Validate.h"
-#import "FBLPromise+Wrap.h"
-#import "FBLPromise.h"
-#import "FBLPromiseError.h"
-#import "FBLPromises.h"
-
-FOUNDATION_EXPORT double FBLPromisesVersionNumber;
-FOUNDATION_EXPORT const unsigned char FBLPromisesVersionString[];
-
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Info.plist b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Info.plist
deleted file mode 100644
index 308a336..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>PromisesObjC</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-PromisesObjC</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>PromisesObjC</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>2.0.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Modules/module.modulemap b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Modules/module.modulemap
deleted file mode 100644
index bd7b48e..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,5 +0,0 @@
-framework module PromisesObjC {
-umbrella header "PromisesObjC-umbrella.h"
-export *
-module * { export * }
-}
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/PromisesObjC b/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/PromisesObjC
deleted file mode 100644
index f334dc0..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_i386_x86_64-simulator/PromisesObjC.framework/PromisesObjC
+++ /dev/null
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+All.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+All.h
deleted file mode 100644
index 9c0090e..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+All.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AllAdditions)
-
-/**
- Wait until all of the given promises are fulfilled.
- If one of the given promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param promises Promises to wait for.
- @return Promise of an array containing the values of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)all:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Wait until all of the given promises are fulfilled.
- If one of the given promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected FBLPromise correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return Promise of an array containing the values of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)onQueue:(dispatch_queue_t)queue
-                               all:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `all` operators.
- Usage: FBLPromise.all(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_AllAdditions)
-
-+ (FBLPromise<NSArray *> * (^)(NSArray *))all FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray *> * (^)(dispatch_queue_t, NSArray *))allOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Always.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Always.h
deleted file mode 100644
index 13000f5..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Always.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AlwaysAdditions)
-
-typedef void (^FBLPromiseAlwaysWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block that always executes, no matter if the receiver is rejected or fulfilled.
- @return A new pending promise to be resolved with same resolution as the receiver.
- */
-- (FBLPromise *)always:(FBLPromiseAlwaysWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to dispatch on.
- @param work A block that always executes, no matter if the receiver is rejected or fulfilled.
- @return A new pending promise to be resolved with same resolution as the receiver.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                 always:(FBLPromiseAlwaysWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `always` operators.
- Usage: promise.always(^{...})
- */
-@interface FBLPromise<Value>(DotSyntax_AlwaysAdditions)
-
-- (FBLPromise* (^)(FBLPromiseAlwaysWorkBlock))always FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAlwaysWorkBlock))alwaysOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Any.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Any.h
deleted file mode 100644
index 82875bf..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Any.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AnyAdditions)
-
-/**
- Waits until all of the given promises are either fulfilled or rejected.
- If all promises are rejected, then the returned promise is rejected with same error
- as the last one rejected.
- If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
- values or `NSErrors`, matching the original order of fulfilled or rejected promises respectively.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param promises Promises to wait for.
- @return Promise of array containing the values or `NSError`s of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)any:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Waits until all of the given promises are either fulfilled or rejected.
- If all promises are rejected, then the returned promise is rejected with same error
- as the last one rejected.
- If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
- values or `NSError`s, matching the original order of fulfilled or rejected promises respectively.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return Promise of array containing the values or `NSError`s of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)onQueue:(dispatch_queue_t)queue
-                               any:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `any` operators.
- Usage: FBLPromise.any(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_AnyAdditions)
-
-+ (FBLPromise<NSArray *> * (^)(NSArray *))any FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray *> * (^)(dispatch_queue_t, NSArray *))anyOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Async.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Async.h
deleted file mode 100644
index 0588a9e..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Async.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AsyncAdditions)
-
-typedef void (^FBLPromiseFulfillBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseRejectBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseAsyncWorkBlock)(FBLPromiseFulfillBlock fulfill,
-                                         FBLPromiseRejectBlock reject) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously.
-
- @param work A block to perform any operations needed to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)async:(FBLPromiseAsyncWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously on the given queue.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-                  async:(FBLPromiseAsyncWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `async` operators.
- Usage: FBLPromise.async(^(FBLPromiseFulfillBlock fulfill, FBLPromiseRejectBlock reject) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_AsyncAdditions)
-
-+ (FBLPromise* (^)(FBLPromiseAsyncWorkBlock))async FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAsyncWorkBlock))asyncOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Await.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Await.h
deleted file mode 100644
index c97a1ba..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Await.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Waits for promise resolution. The current thread blocks until the promise is resolved.
-
- @param promise Promise to wait for.
- @param error Error the promise was rejected with, or `nil` if the promise was fulfilled.
- @return Value the promise was fulfilled with. If the promise was rejected, the return value
-         is always `nil`, but the error out arg is not.
- */
-FOUNDATION_EXTERN id __nullable FBLPromiseAwait(FBLPromise *promise,
-                                                NSError **error) NS_REFINED_FOR_SWIFT;
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Catch.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Catch.h
deleted file mode 100644
index a9ff170..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Catch.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(CatchAdditions)
-
-typedef void (^FBLPromiseCatchWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with same resolution as the receiver.
- If receiver is rejected, then `reject` block is executed asynchronously.
-
- @param reject A block to handle the error that receiver was rejected with.
- @return A new pending promise.
- */
-- (FBLPromise *)catch:(FBLPromiseCatchWorkBlock)reject NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with same resolution as the receiver.
- If receiver is rejected, then `reject` block is executed asynchronously on the given queue.
-
- @param queue A queue to invoke the `reject` block on.
- @param reject A block to handle the error that receiver was rejected with.
- @return A new pending promise.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  catch:(FBLPromiseCatchWorkBlock)reject NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `catch` operators.
- Usage: promise.catch(^(NSError *error) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_CatchAdditions)
-
-- (FBLPromise* (^)(FBLPromiseCatchWorkBlock))catch FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseCatchWorkBlock))catchOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Delay.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Delay.h
deleted file mode 100644
index 557df48..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Delay.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(DelayAdditions)
-
-/**
- Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
- rejects with the same error immediately.
-
- @param interval Time to wait in seconds.
- @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
-         with the same error immediately.
- */
-- (FBLPromise *)delay:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
- rejects with the same error immediately.
-
- @param queue A queue to dispatch on.
- @param interval Time to wait in seconds.
- @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
-         with the same error immediately.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  delay:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `delay` operators.
- Usage: promise.delay(...)
- */
-@interface FBLPromise<Value>(DotSyntax_DelayAdditions)
-
-- (FBLPromise * (^)(NSTimeInterval))delay FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, NSTimeInterval))delayOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Do.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Do.h
deleted file mode 100644
index 6838e0a..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Do.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(DoAdditions)
-
-typedef id __nullable (^FBLPromiseDoWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously.
-
- @param work A block that returns a value or an error used to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)do:(FBLPromiseDoWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously on the given queue.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block that returns a value or an error used to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue do:(FBLPromiseDoWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `do` operators.
- Usage: FBLPromise.doOn(queue, ^(NSError *error) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_DoAdditions)
-
-+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseDoWorkBlock))doOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Race.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Race.h
deleted file mode 100644
index 2f67258..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Race.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(RaceAdditions)
-
-/**
- Wait until any of the given promises are fulfilled.
- If one of the promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
-
- @param promises Promises to wait for.
- @return A new pending promise to be resolved with the same resolution as the first promise, among
-         the given ones, which was resolved.
- */
-+ (instancetype)race:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Wait until any of the given promises are fulfilled.
- If one of the promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return A new pending promise to be resolved with the same resolution as the first promise, among
-         the given ones, which was resolved.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue race:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `race` operators.
- Usage: FBLPromise.race(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_RaceAdditions)
-
-+ (FBLPromise * (^)(NSArray *))race FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, NSArray *))raceOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Recover.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Recover.h
deleted file mode 100644
index bb7df7e..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Recover.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(RecoverAdditions)
-
-typedef id __nullable (^FBLPromiseRecoverWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides a new promise to recover in case the receiver gets rejected.
-
- @param recovery A block to handle the error that the receiver was rejected with.
- @return A new pending promise to use instead of the rejected one that gets resolved with resolution
-         returned from `recovery` block.
- */
-- (FBLPromise *)recover:(FBLPromiseRecoverWorkBlock)recovery NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides a new promise to recover in case the receiver gets rejected.
-
- @param queue A queue to dispatch on.
- @param recovery A block to handle the error that the receiver was rejected with.
- @return A new pending promise to use instead of the rejected one that gets resolved with resolution
-         returned from `recovery` block.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                recover:(FBLPromiseRecoverWorkBlock)recovery NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `recover` operators.
- Usage: promise.recover(^id(NSError *error) {...})
- */
-@interface FBLPromise<Value>(DotSyntax_RecoverAdditions)
-
-- (FBLPromise * (^)(FBLPromiseRecoverWorkBlock))recover FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRecoverWorkBlock))recoverOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Reduce.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
deleted file mode 100644
index 5bb1eee..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ReduceAdditions)
-
-typedef id __nullable (^FBLPromiseReducerBlock)(Value __nullable partial, id next)
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- Sequentially reduces a collection of values to a single promise using a given combining block
- and the value `self` resolves with as initial value.
-
- @param items An array of values to process in order.
- @param reducer A block to combine an accumulating value and an element of the sequence into
-                the new accumulating value or a promise resolved with it, to be used in the next
-                call of the `reducer` or returned to the caller.
- @return A new pending promise returned from the last `reducer` invocation.
-         Or `self` if `items` is empty.
- */
-- (FBLPromise *)reduce:(NSArray *)items
-               combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
-
-/**
- Sequentially reduces a collection of values to a single promise using a given combining block
- and the value `self` resolves with as initial value.
-
- @param queue A queue to dispatch on.
- @param items An array of values to process in order.
- @param reducer A block to combine an accumulating value and an element of the sequence into
-                the new accumulating value or a promise resolved with it, to be used in the next
-                call of the `reducer` or returned to the caller.
- @return A new pending promise returned from the last `reducer` invocation.
-         Or `self` if `items` is empty.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                 reduce:(NSArray *)items
-                combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `reduce` operators.
- Usage: promise.reduce(values, ^id(id partial, id next) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ReduceAdditions)
-
-- (FBLPromise * (^)(NSArray *, FBLPromiseReducerBlock))reduce FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, NSArray *, FBLPromiseReducerBlock))reduceOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Retry.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Retry.h
deleted file mode 100644
index 98ef558..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Retry.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The default number of retry attempts is 1. */
-FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
-
-/** The default delay interval before making a retry attempt is 1.0 second. */
-FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
-
-@interface FBLPromise<Value>(RetryAdditions)
-
-typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
- `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
- rejection where the `work` block is retried on the given `queue` after a delay of
- `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param queue A queue to invoke the `work` block on.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
- continue to retry until the number of specified attempts have been exhausted or will bail early if
- the given condition is not met.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   delay:(NSTimeInterval)interval
-               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. On rejection, the `work` block is retried after the given
- delay `interval` and will continue to retry until the number of specified attempts have been
- exhausted or will bail early if the given condition is not met.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  delay:(NSTimeInterval)interval
-              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
- Usage: FBLPromise.retry(^id { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
-
-+ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
-                    FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Testing.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Testing.h
deleted file mode 100644
index 8478ae2..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Testing.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Waits for all scheduled promises blocks.
-
- @param timeout Maximum time to wait.
- @return YES if all promises blocks have completed before the timeout and NO otherwise.
- */
-FOUNDATION_EXTERN BOOL FBLWaitForPromisesWithTimeout(NSTimeInterval timeout) NS_REFINED_FOR_SWIFT;
-
-@interface FBLPromise<Value>(TestingAdditions)
-
-/**
- Dispatch group for promises that is typically used to wait for all scheduled blocks.
- */
-@property(class, nonatomic, readonly) dispatch_group_t dispatchGroup NS_REFINED_FOR_SWIFT;
-
-/**
- Properties to get the current state of the promise.
- */
-@property(nonatomic, readonly) BOOL isPending NS_REFINED_FOR_SWIFT;
-@property(nonatomic, readonly) BOOL isFulfilled NS_REFINED_FOR_SWIFT;
-@property(nonatomic, readonly) BOOL isRejected NS_REFINED_FOR_SWIFT;
-
-/**
- Value the promise was fulfilled with.
- Can be nil if the promise is still pending, was resolved with nil or after it has been rejected.
- */
-@property(nonatomic, readonly, nullable) Value value NS_REFINED_FOR_SWIFT;
-
-/**
- Error the promise was rejected with.
- Can be nil if the promise is still pending or after it has been fulfilled.
- */
-@property(nonatomic, readonly, nullable) NSError *error NS_REFINED_FOR_SWIFT;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Then.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Then.h
deleted file mode 100644
index 32027e6..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Then.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ThenAdditions)
-
-typedef id __nullable (^FBLPromiseThenWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with resolution returned from `work`
- block: either value, error or another promise. The `work` block is executed asynchronously only
- when the receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with
- the same error.
-
- @param work A block to handle the value that receiver was fulfilled with.
- @return A new pending promise to be resolved with resolution returned from the `work` block.
- */
-- (FBLPromise *)then:(FBLPromiseThenWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with resolution returned from `work`
- block: either value, error or another promise. The `work` block is executed asynchronously when the
- receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with the same
- error.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block to handle the value that receiver was fulfilled with.
- @return A new pending promise to be resolved with resolution returned from the `work` block.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                   then:(FBLPromiseThenWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `then` operators.
- Usage: promise.then(^id(id value) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ThenAdditions)
-
-- (FBLPromise* (^)(FBLPromiseThenWorkBlock))then FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseThenWorkBlock))thenOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Timeout.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
deleted file mode 100644
index 184ba16..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(TimeoutAdditions)
-
-/**
- Waits for a promise with the specified `timeout`.
-
- @param interval Time to wait in seconds.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)timeout:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
-
-/**
- Waits for a promise with the specified `timeout`.
-
- @param queue A queue to dispatch on.
- @param interval Time to wait in seconds.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                timeout:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `timeout` operators.
- Usage: promise.timeout(...)
- */
-@interface FBLPromise<Value>(DotSyntax_TimeoutAdditions)
-
-- (FBLPromise* (^)(NSTimeInterval))timeout FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, NSTimeInterval))timeoutOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Validate.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Validate.h
deleted file mode 100644
index 9dfa2f1..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Validate.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ValidateAdditions)
-
-typedef BOOL (^FBLPromiseValidateWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Validates a fulfilled value or rejects the value if it can not be validated.
-
- @param predicate An expression to validate.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)validate:(FBLPromiseValidateWorkBlock)predicate NS_SWIFT_UNAVAILABLE("");
-
-/**
- Validates a fulfilled value or rejects the value if it can not be validated.
-
- @param queue A queue to dispatch on.
- @param predicate An expression to validate.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               validate:(FBLPromiseValidateWorkBlock)predicate NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `validate` operators.
- Usage: promise.validate(^BOOL(id value) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ValidateAdditions)
-
-- (FBLPromise * (^)(FBLPromiseValidateWorkBlock))validate FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseValidateWorkBlock))validateOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Wrap.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
deleted file mode 100644
index 664e1bb..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
+++ /dev/null
@@ -1,316 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Different types of completion handlers available to be wrapped with promise.
- */
-typedef void (^FBLPromiseCompletion)(void) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseObjectCompletion)(id __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseErrorCompletion)(NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseObjectOrErrorCompletion)(id __nullable, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseErrorOrObjectCompletion)(NSError* __nullable, id __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromise2ObjectsOrErrorCompletion)(id __nullable, id __nullable,
-                                                    NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseBoolCompletion)(BOOL) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseBoolOrErrorCompletion)(BOOL, NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseIntegerCompletion)(NSInteger) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseIntegerOrErrorCompletion)(NSInteger, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseDoubleCompletion)(double) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseDoubleOrErrorCompletion)(double, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides an easy way to convert methods that use common callback patterns into promises.
- */
-@interface FBLPromise<Value>(WrapAdditions)
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with `nil` when completion handler is invoked.
- */
-+ (instancetype)wrapCompletion:(void (^)(FBLPromiseCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with `nil` when completion handler is invoked.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-         wrapCompletion:(void (^)(FBLPromiseCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler.
- */
-+ (instancetype)wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error provided by completion handler.
- If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
- */
-+ (instancetype)wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error provided by completion handler.
- If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler if error is `nil`.
- Otherwise, rejects with the error.
- */
-+ (instancetype)wrapObjectOrErrorCompletion:
-    (void (^)(FBLPromiseObjectOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler if error is `nil`.
- Otherwise, rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapObjectOrErrorCompletion:(void (^)(FBLPromiseObjectOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error or object provided by completion handler. If error
- is not `nil`, rejects with the error.
- */
-+ (instancetype)wrapErrorOrObjectCompletion:
-    (void (^)(FBLPromiseErrorOrObjectCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error or object provided by completion handler. If error
- is not `nil`, rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapErrorOrObjectCompletion:(void (^)(FBLPromiseErrorOrObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an array of objects provided by completion handler in order
- if error is `nil`. Otherwise, rejects with the error.
- */
-+ (FBLPromise<NSArray*>*)wrap2ObjectsOrErrorCompletion:
-    (void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an array of objects provided by completion handler in order
- if error is `nil`. Otherwise, rejects with the error.
- */
-+ (FBLPromise<NSArray*>*)onQueue:(dispatch_queue_t)queue
-    wrap2ObjectsOrErrorCompletion:(void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO.
- */
-+ (FBLPromise<NSNumber*>*)wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-               wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapBoolOrErrorCompletion:
-    (void (^)(FBLPromiseBoolOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-        wrapBoolOrErrorCompletion:(void (^)(FBLPromiseBoolOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer.
- */
-+ (FBLPromise<NSNumber*>*)wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-            wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapIntegerOrErrorCompletion:
-    (void (^)(FBLPromiseIntegerOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-     wrapIntegerOrErrorCompletion:(void (^)(FBLPromiseIntegerOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double.
- */
-+ (FBLPromise<NSNumber*>*)wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-             wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapDoubleOrErrorCompletion:
-    (void (^)(FBLPromiseDoubleOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-      wrapDoubleOrErrorCompletion:(void (^)(FBLPromiseDoubleOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `wrap` operators.
- Usage: FBLPromise.wrapCompletion(^(FBLPromiseCompletion handler) {...})
- */
-@interface FBLPromise<Value>(DotSyntax_WrapAdditions)
-
-+ (FBLPromise* (^)(void (^)(FBLPromiseCompletion)))wrapCompletion FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseCompletion)))wrapCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletion FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t,
-                   void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t,
-                   void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray*>* (^)(void (^)(FBLPromise2ObjectsOrErrorCompletion)))
-    wrap2ObjectsOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray*>* (^)(dispatch_queue_t, void (^)(FBLPromise2ObjectsOrErrorCompletion)))
-    wrap2ObjectsOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseIntegerOrErrorCompletion)))
-    wrapIntegerOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t, void (^)(FBLPromiseIntegerOrErrorCompletion)))
-    wrapIntegerOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseDoubleOrErrorCompletion)))
-    wrapDoubleOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t, void (^)(FBLPromiseDoubleOrErrorCompletion)))
-    wrapDoubleOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise.h
deleted file mode 100644
index b1380dc..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromise.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromiseError.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Promises synchronization construct in Objective-C.
- */
-@interface FBLPromise<__covariant Value> : NSObject
-
-/**
- Default dispatch queue used for `FBLPromise`, which is `main` if a queue is not specified.
- */
-@property(class) dispatch_queue_t defaultDispatchQueue NS_REFINED_FOR_SWIFT;
-
-/**
- Creates a pending promise.
- */
-+ (instancetype)pendingPromise NS_REFINED_FOR_SWIFT;
-
-/**
- Creates a resolved promise.
-
- @param resolution An object to resolve the promise with: either a value or an error.
- @return A new resolved promise.
- */
-+ (instancetype)resolvedWith:(nullable id)resolution NS_REFINED_FOR_SWIFT;
-
-/**
- Synchronously fulfills the promise with a value.
-
- @param value An arbitrary value to fulfill the promise with, including `nil`.
- */
-- (void)fulfill:(nullable Value)value NS_REFINED_FOR_SWIFT;
-
-/**
- Synchronously rejects the promise with an error.
-
- @param error An error to reject the promise with.
- */
-- (void)reject:(NSError *)error NS_REFINED_FOR_SWIFT;
-
-+ (instancetype)new NS_UNAVAILABLE;
-- (instancetype)init NS_UNAVAILABLE;
-@end
-
-@interface FBLPromise<Value>()
-
-/**
- Adds an object to the set of pending objects to keep strongly while the promise is pending.
- Used by the Swift wrappers to keep them alive until the underlying ObjC promise is resolved.
-
- @param object An object to add.
- */
-- (void)addPendingObject:(id)object NS_REFINED_FOR_SWIFT;
-
-@end
-
-#ifdef FBL_PROMISES_DOT_SYNTAX_IS_DEPRECATED
-#define FBL_PROMISES_DOT_SYNTAX __attribute__((deprecated))
-#else
-#define FBL_PROMISES_DOT_SYNTAX
-#endif
-
-@interface FBLPromise<Value>(DotSyntaxAdditions)
-
-/**
- Convenience dot-syntax wrappers for FBLPromise.
- Usage: FBLPromise.pending()
-        FBLPromise.resolved(value)
-
- */
-+ (instancetype (^)(void))pending FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (instancetype (^)(id __nullable))resolved FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromiseError.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromiseError.h
deleted file mode 100644
index d37af53..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromiseError.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-FOUNDATION_EXTERN NSErrorDomain const FBLPromiseErrorDomain NS_REFINED_FOR_SWIFT;
-
-/**
- Possible error codes in `FBLPromiseErrorDomain`.
- */
-typedef NS_ENUM(NSInteger, FBLPromiseErrorCode) {
-  /** Promise failed to resolve in time. */
-  FBLPromiseErrorCodeTimedOut = 1,
-  /** Validation predicate returned false. */
-  FBLPromiseErrorCodeValidationFailure = 2,
-} NS_REFINED_FOR_SWIFT;
-
-NS_INLINE BOOL FBLPromiseErrorIsTimedOut(NSError *error) NS_SWIFT_UNAVAILABLE("") {
-  return error.domain == FBLPromiseErrorDomain &&
-         error.code == FBLPromiseErrorCodeTimedOut;
-}
-
-NS_INLINE BOOL FBLPromiseErrorIsValidationFailure(NSError *error) NS_SWIFT_UNAVAILABLE("") {
-  return error.domain == FBLPromiseErrorDomain &&
-         error.code == FBLPromiseErrorCodeValidationFailure;
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromises.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromises.h
deleted file mode 100644
index 2d90bad..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/FBLPromises.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise+All.h"
-#import "FBLPromise+Always.h"
-#import "FBLPromise+Any.h"
-#import "FBLPromise+Async.h"
-#import "FBLPromise+Await.h"
-#import "FBLPromise+Catch.h"
-#import "FBLPromise+Delay.h"
-#import "FBLPromise+Do.h"
-#import "FBLPromise+Race.h"
-#import "FBLPromise+Recover.h"
-#import "FBLPromise+Reduce.h"
-#import "FBLPromise+Retry.h"
-#import "FBLPromise+Then.h"
-#import "FBLPromise+Timeout.h"
-#import "FBLPromise+Validate.h"
-#import "FBLPromise+Wrap.h"
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
deleted file mode 100644
index 5b014a8..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "FBLPromise+All.h"
-#import "FBLPromise+Always.h"
-#import "FBLPromise+Any.h"
-#import "FBLPromise+Async.h"
-#import "FBLPromise+Await.h"
-#import "FBLPromise+Catch.h"
-#import "FBLPromise+Delay.h"
-#import "FBLPromise+Do.h"
-#import "FBLPromise+Race.h"
-#import "FBLPromise+Recover.h"
-#import "FBLPromise+Reduce.h"
-#import "FBLPromise+Retry.h"
-#import "FBLPromise+Testing.h"
-#import "FBLPromise+Then.h"
-#import "FBLPromise+Timeout.h"
-#import "FBLPromise+Validate.h"
-#import "FBLPromise+Wrap.h"
-#import "FBLPromise.h"
-#import "FBLPromiseError.h"
-#import "FBLPromises.h"
-
-FOUNDATION_EXPORT double FBLPromisesVersionNumber;
-FOUNDATION_EXPORT const unsigned char FBLPromisesVersionString[];
-
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Info.plist b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Info.plist
deleted file mode 100644
index 308a336..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>PromisesObjC</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-PromisesObjC</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>PromisesObjC</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>2.0.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Modules/module.modulemap b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Modules/module.modulemap
deleted file mode 100644
index bd7b48e..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,5 +0,0 @@
-framework module PromisesObjC {
-umbrella header "PromisesObjC-umbrella.h"
-export *
-module * { export * }
-}
diff --git a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/PromisesObjC b/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/PromisesObjC
deleted file mode 100644
index 2e4bc36..0000000
--- a/frameworks/PromisesObjC.xcframework/ios-arm64_x86_64-maccatalyst/PromisesObjC.framework/PromisesObjC
+++ /dev/null
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+All.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+All.h
deleted file mode 100644
index 9c0090e..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+All.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AllAdditions)
-
-/**
- Wait until all of the given promises are fulfilled.
- If one of the given promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param promises Promises to wait for.
- @return Promise of an array containing the values of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)all:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Wait until all of the given promises are fulfilled.
- If one of the given promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected FBLPromise correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return Promise of an array containing the values of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)onQueue:(dispatch_queue_t)queue
-                               all:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `all` operators.
- Usage: FBLPromise.all(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_AllAdditions)
-
-+ (FBLPromise<NSArray *> * (^)(NSArray *))all FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray *> * (^)(dispatch_queue_t, NSArray *))allOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Always.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Always.h
deleted file mode 100644
index 13000f5..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Always.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AlwaysAdditions)
-
-typedef void (^FBLPromiseAlwaysWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block that always executes, no matter if the receiver is rejected or fulfilled.
- @return A new pending promise to be resolved with same resolution as the receiver.
- */
-- (FBLPromise *)always:(FBLPromiseAlwaysWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to dispatch on.
- @param work A block that always executes, no matter if the receiver is rejected or fulfilled.
- @return A new pending promise to be resolved with same resolution as the receiver.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                 always:(FBLPromiseAlwaysWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `always` operators.
- Usage: promise.always(^{...})
- */
-@interface FBLPromise<Value>(DotSyntax_AlwaysAdditions)
-
-- (FBLPromise* (^)(FBLPromiseAlwaysWorkBlock))always FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAlwaysWorkBlock))alwaysOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Any.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Any.h
deleted file mode 100644
index 82875bf..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Any.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AnyAdditions)
-
-/**
- Waits until all of the given promises are either fulfilled or rejected.
- If all promises are rejected, then the returned promise is rejected with same error
- as the last one rejected.
- If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
- values or `NSErrors`, matching the original order of fulfilled or rejected promises respectively.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param promises Promises to wait for.
- @return Promise of array containing the values or `NSError`s of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)any:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Waits until all of the given promises are either fulfilled or rejected.
- If all promises are rejected, then the returned promise is rejected with same error
- as the last one rejected.
- If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
- values or `NSError`s, matching the original order of fulfilled or rejected promises respectively.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return Promise of array containing the values or `NSError`s of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)onQueue:(dispatch_queue_t)queue
-                               any:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `any` operators.
- Usage: FBLPromise.any(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_AnyAdditions)
-
-+ (FBLPromise<NSArray *> * (^)(NSArray *))any FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray *> * (^)(dispatch_queue_t, NSArray *))anyOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Async.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Async.h
deleted file mode 100644
index 0588a9e..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Async.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AsyncAdditions)
-
-typedef void (^FBLPromiseFulfillBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseRejectBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseAsyncWorkBlock)(FBLPromiseFulfillBlock fulfill,
-                                         FBLPromiseRejectBlock reject) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously.
-
- @param work A block to perform any operations needed to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)async:(FBLPromiseAsyncWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously on the given queue.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-                  async:(FBLPromiseAsyncWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `async` operators.
- Usage: FBLPromise.async(^(FBLPromiseFulfillBlock fulfill, FBLPromiseRejectBlock reject) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_AsyncAdditions)
-
-+ (FBLPromise* (^)(FBLPromiseAsyncWorkBlock))async FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAsyncWorkBlock))asyncOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Await.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Await.h
deleted file mode 100644
index c97a1ba..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Await.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Waits for promise resolution. The current thread blocks until the promise is resolved.
-
- @param promise Promise to wait for.
- @param error Error the promise was rejected with, or `nil` if the promise was fulfilled.
- @return Value the promise was fulfilled with. If the promise was rejected, the return value
-         is always `nil`, but the error out arg is not.
- */
-FOUNDATION_EXTERN id __nullable FBLPromiseAwait(FBLPromise *promise,
-                                                NSError **error) NS_REFINED_FOR_SWIFT;
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Catch.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Catch.h
deleted file mode 100644
index a9ff170..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Catch.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(CatchAdditions)
-
-typedef void (^FBLPromiseCatchWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with same resolution as the receiver.
- If receiver is rejected, then `reject` block is executed asynchronously.
-
- @param reject A block to handle the error that receiver was rejected with.
- @return A new pending promise.
- */
-- (FBLPromise *)catch:(FBLPromiseCatchWorkBlock)reject NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with same resolution as the receiver.
- If receiver is rejected, then `reject` block is executed asynchronously on the given queue.
-
- @param queue A queue to invoke the `reject` block on.
- @param reject A block to handle the error that receiver was rejected with.
- @return A new pending promise.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  catch:(FBLPromiseCatchWorkBlock)reject NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `catch` operators.
- Usage: promise.catch(^(NSError *error) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_CatchAdditions)
-
-- (FBLPromise* (^)(FBLPromiseCatchWorkBlock))catch FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseCatchWorkBlock))catchOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Delay.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Delay.h
deleted file mode 100644
index 557df48..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Delay.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(DelayAdditions)
-
-/**
- Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
- rejects with the same error immediately.
-
- @param interval Time to wait in seconds.
- @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
-         with the same error immediately.
- */
-- (FBLPromise *)delay:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
- rejects with the same error immediately.
-
- @param queue A queue to dispatch on.
- @param interval Time to wait in seconds.
- @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
-         with the same error immediately.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  delay:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `delay` operators.
- Usage: promise.delay(...)
- */
-@interface FBLPromise<Value>(DotSyntax_DelayAdditions)
-
-- (FBLPromise * (^)(NSTimeInterval))delay FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, NSTimeInterval))delayOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Do.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Do.h
deleted file mode 100644
index 6838e0a..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Do.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(DoAdditions)
-
-typedef id __nullable (^FBLPromiseDoWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously.
-
- @param work A block that returns a value or an error used to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)do:(FBLPromiseDoWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously on the given queue.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block that returns a value or an error used to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue do:(FBLPromiseDoWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `do` operators.
- Usage: FBLPromise.doOn(queue, ^(NSError *error) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_DoAdditions)
-
-+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseDoWorkBlock))doOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Race.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Race.h
deleted file mode 100644
index 2f67258..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Race.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(RaceAdditions)
-
-/**
- Wait until any of the given promises are fulfilled.
- If one of the promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
-
- @param promises Promises to wait for.
- @return A new pending promise to be resolved with the same resolution as the first promise, among
-         the given ones, which was resolved.
- */
-+ (instancetype)race:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Wait until any of the given promises are fulfilled.
- If one of the promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return A new pending promise to be resolved with the same resolution as the first promise, among
-         the given ones, which was resolved.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue race:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `race` operators.
- Usage: FBLPromise.race(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_RaceAdditions)
-
-+ (FBLPromise * (^)(NSArray *))race FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, NSArray *))raceOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Recover.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Recover.h
deleted file mode 100644
index bb7df7e..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Recover.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(RecoverAdditions)
-
-typedef id __nullable (^FBLPromiseRecoverWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides a new promise to recover in case the receiver gets rejected.
-
- @param recovery A block to handle the error that the receiver was rejected with.
- @return A new pending promise to use instead of the rejected one that gets resolved with resolution
-         returned from `recovery` block.
- */
-- (FBLPromise *)recover:(FBLPromiseRecoverWorkBlock)recovery NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides a new promise to recover in case the receiver gets rejected.
-
- @param queue A queue to dispatch on.
- @param recovery A block to handle the error that the receiver was rejected with.
- @return A new pending promise to use instead of the rejected one that gets resolved with resolution
-         returned from `recovery` block.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                recover:(FBLPromiseRecoverWorkBlock)recovery NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `recover` operators.
- Usage: promise.recover(^id(NSError *error) {...})
- */
-@interface FBLPromise<Value>(DotSyntax_RecoverAdditions)
-
-- (FBLPromise * (^)(FBLPromiseRecoverWorkBlock))recover FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRecoverWorkBlock))recoverOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Reduce.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
deleted file mode 100644
index 5bb1eee..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ReduceAdditions)
-
-typedef id __nullable (^FBLPromiseReducerBlock)(Value __nullable partial, id next)
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- Sequentially reduces a collection of values to a single promise using a given combining block
- and the value `self` resolves with as initial value.
-
- @param items An array of values to process in order.
- @param reducer A block to combine an accumulating value and an element of the sequence into
-                the new accumulating value or a promise resolved with it, to be used in the next
-                call of the `reducer` or returned to the caller.
- @return A new pending promise returned from the last `reducer` invocation.
-         Or `self` if `items` is empty.
- */
-- (FBLPromise *)reduce:(NSArray *)items
-               combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
-
-/**
- Sequentially reduces a collection of values to a single promise using a given combining block
- and the value `self` resolves with as initial value.
-
- @param queue A queue to dispatch on.
- @param items An array of values to process in order.
- @param reducer A block to combine an accumulating value and an element of the sequence into
-                the new accumulating value or a promise resolved with it, to be used in the next
-                call of the `reducer` or returned to the caller.
- @return A new pending promise returned from the last `reducer` invocation.
-         Or `self` if `items` is empty.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                 reduce:(NSArray *)items
-                combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `reduce` operators.
- Usage: promise.reduce(values, ^id(id partial, id next) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ReduceAdditions)
-
-- (FBLPromise * (^)(NSArray *, FBLPromiseReducerBlock))reduce FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, NSArray *, FBLPromiseReducerBlock))reduceOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Retry.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Retry.h
deleted file mode 100644
index 98ef558..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Retry.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The default number of retry attempts is 1. */
-FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
-
-/** The default delay interval before making a retry attempt is 1.0 second. */
-FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
-
-@interface FBLPromise<Value>(RetryAdditions)
-
-typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
- `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
- rejection where the `work` block is retried on the given `queue` after a delay of
- `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param queue A queue to invoke the `work` block on.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
- continue to retry until the number of specified attempts have been exhausted or will bail early if
- the given condition is not met.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   delay:(NSTimeInterval)interval
-               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. On rejection, the `work` block is retried after the given
- delay `interval` and will continue to retry until the number of specified attempts have been
- exhausted or will bail early if the given condition is not met.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  delay:(NSTimeInterval)interval
-              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
- Usage: FBLPromise.retry(^id { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
-
-+ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
-                    FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Testing.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Testing.h
deleted file mode 100644
index 8478ae2..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Testing.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Waits for all scheduled promises blocks.
-
- @param timeout Maximum time to wait.
- @return YES if all promises blocks have completed before the timeout and NO otherwise.
- */
-FOUNDATION_EXTERN BOOL FBLWaitForPromisesWithTimeout(NSTimeInterval timeout) NS_REFINED_FOR_SWIFT;
-
-@interface FBLPromise<Value>(TestingAdditions)
-
-/**
- Dispatch group for promises that is typically used to wait for all scheduled blocks.
- */
-@property(class, nonatomic, readonly) dispatch_group_t dispatchGroup NS_REFINED_FOR_SWIFT;
-
-/**
- Properties to get the current state of the promise.
- */
-@property(nonatomic, readonly) BOOL isPending NS_REFINED_FOR_SWIFT;
-@property(nonatomic, readonly) BOOL isFulfilled NS_REFINED_FOR_SWIFT;
-@property(nonatomic, readonly) BOOL isRejected NS_REFINED_FOR_SWIFT;
-
-/**
- Value the promise was fulfilled with.
- Can be nil if the promise is still pending, was resolved with nil or after it has been rejected.
- */
-@property(nonatomic, readonly, nullable) Value value NS_REFINED_FOR_SWIFT;
-
-/**
- Error the promise was rejected with.
- Can be nil if the promise is still pending or after it has been fulfilled.
- */
-@property(nonatomic, readonly, nullable) NSError *error NS_REFINED_FOR_SWIFT;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Then.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Then.h
deleted file mode 100644
index 32027e6..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Then.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ThenAdditions)
-
-typedef id __nullable (^FBLPromiseThenWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with resolution returned from `work`
- block: either value, error or another promise. The `work` block is executed asynchronously only
- when the receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with
- the same error.
-
- @param work A block to handle the value that receiver was fulfilled with.
- @return A new pending promise to be resolved with resolution returned from the `work` block.
- */
-- (FBLPromise *)then:(FBLPromiseThenWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with resolution returned from `work`
- block: either value, error or another promise. The `work` block is executed asynchronously when the
- receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with the same
- error.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block to handle the value that receiver was fulfilled with.
- @return A new pending promise to be resolved with resolution returned from the `work` block.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                   then:(FBLPromiseThenWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `then` operators.
- Usage: promise.then(^id(id value) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ThenAdditions)
-
-- (FBLPromise* (^)(FBLPromiseThenWorkBlock))then FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseThenWorkBlock))thenOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Timeout.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
deleted file mode 100644
index 184ba16..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(TimeoutAdditions)
-
-/**
- Waits for a promise with the specified `timeout`.
-
- @param interval Time to wait in seconds.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)timeout:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
-
-/**
- Waits for a promise with the specified `timeout`.
-
- @param queue A queue to dispatch on.
- @param interval Time to wait in seconds.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                timeout:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `timeout` operators.
- Usage: promise.timeout(...)
- */
-@interface FBLPromise<Value>(DotSyntax_TimeoutAdditions)
-
-- (FBLPromise* (^)(NSTimeInterval))timeout FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, NSTimeInterval))timeoutOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Validate.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Validate.h
deleted file mode 100644
index 9dfa2f1..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Validate.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ValidateAdditions)
-
-typedef BOOL (^FBLPromiseValidateWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Validates a fulfilled value or rejects the value if it can not be validated.
-
- @param predicate An expression to validate.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)validate:(FBLPromiseValidateWorkBlock)predicate NS_SWIFT_UNAVAILABLE("");
-
-/**
- Validates a fulfilled value or rejects the value if it can not be validated.
-
- @param queue A queue to dispatch on.
- @param predicate An expression to validate.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               validate:(FBLPromiseValidateWorkBlock)predicate NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `validate` operators.
- Usage: promise.validate(^BOOL(id value) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ValidateAdditions)
-
-- (FBLPromise * (^)(FBLPromiseValidateWorkBlock))validate FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseValidateWorkBlock))validateOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Wrap.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
deleted file mode 100644
index 664e1bb..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
+++ /dev/null
@@ -1,316 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Different types of completion handlers available to be wrapped with promise.
- */
-typedef void (^FBLPromiseCompletion)(void) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseObjectCompletion)(id __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseErrorCompletion)(NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseObjectOrErrorCompletion)(id __nullable, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseErrorOrObjectCompletion)(NSError* __nullable, id __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromise2ObjectsOrErrorCompletion)(id __nullable, id __nullable,
-                                                    NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseBoolCompletion)(BOOL) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseBoolOrErrorCompletion)(BOOL, NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseIntegerCompletion)(NSInteger) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseIntegerOrErrorCompletion)(NSInteger, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseDoubleCompletion)(double) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseDoubleOrErrorCompletion)(double, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides an easy way to convert methods that use common callback patterns into promises.
- */
-@interface FBLPromise<Value>(WrapAdditions)
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with `nil` when completion handler is invoked.
- */
-+ (instancetype)wrapCompletion:(void (^)(FBLPromiseCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with `nil` when completion handler is invoked.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-         wrapCompletion:(void (^)(FBLPromiseCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler.
- */
-+ (instancetype)wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error provided by completion handler.
- If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
- */
-+ (instancetype)wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error provided by completion handler.
- If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler if error is `nil`.
- Otherwise, rejects with the error.
- */
-+ (instancetype)wrapObjectOrErrorCompletion:
-    (void (^)(FBLPromiseObjectOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler if error is `nil`.
- Otherwise, rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapObjectOrErrorCompletion:(void (^)(FBLPromiseObjectOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error or object provided by completion handler. If error
- is not `nil`, rejects with the error.
- */
-+ (instancetype)wrapErrorOrObjectCompletion:
-    (void (^)(FBLPromiseErrorOrObjectCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error or object provided by completion handler. If error
- is not `nil`, rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapErrorOrObjectCompletion:(void (^)(FBLPromiseErrorOrObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an array of objects provided by completion handler in order
- if error is `nil`. Otherwise, rejects with the error.
- */
-+ (FBLPromise<NSArray*>*)wrap2ObjectsOrErrorCompletion:
-    (void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an array of objects provided by completion handler in order
- if error is `nil`. Otherwise, rejects with the error.
- */
-+ (FBLPromise<NSArray*>*)onQueue:(dispatch_queue_t)queue
-    wrap2ObjectsOrErrorCompletion:(void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO.
- */
-+ (FBLPromise<NSNumber*>*)wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-               wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapBoolOrErrorCompletion:
-    (void (^)(FBLPromiseBoolOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-        wrapBoolOrErrorCompletion:(void (^)(FBLPromiseBoolOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer.
- */
-+ (FBLPromise<NSNumber*>*)wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-            wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapIntegerOrErrorCompletion:
-    (void (^)(FBLPromiseIntegerOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-     wrapIntegerOrErrorCompletion:(void (^)(FBLPromiseIntegerOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double.
- */
-+ (FBLPromise<NSNumber*>*)wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-             wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapDoubleOrErrorCompletion:
-    (void (^)(FBLPromiseDoubleOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-      wrapDoubleOrErrorCompletion:(void (^)(FBLPromiseDoubleOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `wrap` operators.
- Usage: FBLPromise.wrapCompletion(^(FBLPromiseCompletion handler) {...})
- */
-@interface FBLPromise<Value>(DotSyntax_WrapAdditions)
-
-+ (FBLPromise* (^)(void (^)(FBLPromiseCompletion)))wrapCompletion FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseCompletion)))wrapCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletion FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t,
-                   void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t,
-                   void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray*>* (^)(void (^)(FBLPromise2ObjectsOrErrorCompletion)))
-    wrap2ObjectsOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray*>* (^)(dispatch_queue_t, void (^)(FBLPromise2ObjectsOrErrorCompletion)))
-    wrap2ObjectsOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseIntegerOrErrorCompletion)))
-    wrapIntegerOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t, void (^)(FBLPromiseIntegerOrErrorCompletion)))
-    wrapIntegerOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseDoubleOrErrorCompletion)))
-    wrapDoubleOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t, void (^)(FBLPromiseDoubleOrErrorCompletion)))
-    wrapDoubleOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise.h
deleted file mode 100644
index b1380dc..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromise.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromiseError.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Promises synchronization construct in Objective-C.
- */
-@interface FBLPromise<__covariant Value> : NSObject
-
-/**
- Default dispatch queue used for `FBLPromise`, which is `main` if a queue is not specified.
- */
-@property(class) dispatch_queue_t defaultDispatchQueue NS_REFINED_FOR_SWIFT;
-
-/**
- Creates a pending promise.
- */
-+ (instancetype)pendingPromise NS_REFINED_FOR_SWIFT;
-
-/**
- Creates a resolved promise.
-
- @param resolution An object to resolve the promise with: either a value or an error.
- @return A new resolved promise.
- */
-+ (instancetype)resolvedWith:(nullable id)resolution NS_REFINED_FOR_SWIFT;
-
-/**
- Synchronously fulfills the promise with a value.
-
- @param value An arbitrary value to fulfill the promise with, including `nil`.
- */
-- (void)fulfill:(nullable Value)value NS_REFINED_FOR_SWIFT;
-
-/**
- Synchronously rejects the promise with an error.
-
- @param error An error to reject the promise with.
- */
-- (void)reject:(NSError *)error NS_REFINED_FOR_SWIFT;
-
-+ (instancetype)new NS_UNAVAILABLE;
-- (instancetype)init NS_UNAVAILABLE;
-@end
-
-@interface FBLPromise<Value>()
-
-/**
- Adds an object to the set of pending objects to keep strongly while the promise is pending.
- Used by the Swift wrappers to keep them alive until the underlying ObjC promise is resolved.
-
- @param object An object to add.
- */
-- (void)addPendingObject:(id)object NS_REFINED_FOR_SWIFT;
-
-@end
-
-#ifdef FBL_PROMISES_DOT_SYNTAX_IS_DEPRECATED
-#define FBL_PROMISES_DOT_SYNTAX __attribute__((deprecated))
-#else
-#define FBL_PROMISES_DOT_SYNTAX
-#endif
-
-@interface FBLPromise<Value>(DotSyntaxAdditions)
-
-/**
- Convenience dot-syntax wrappers for FBLPromise.
- Usage: FBLPromise.pending()
-        FBLPromise.resolved(value)
-
- */
-+ (instancetype (^)(void))pending FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (instancetype (^)(id __nullable))resolved FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromiseError.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromiseError.h
deleted file mode 100644
index d37af53..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromiseError.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-FOUNDATION_EXTERN NSErrorDomain const FBLPromiseErrorDomain NS_REFINED_FOR_SWIFT;
-
-/**
- Possible error codes in `FBLPromiseErrorDomain`.
- */
-typedef NS_ENUM(NSInteger, FBLPromiseErrorCode) {
-  /** Promise failed to resolve in time. */
-  FBLPromiseErrorCodeTimedOut = 1,
-  /** Validation predicate returned false. */
-  FBLPromiseErrorCodeValidationFailure = 2,
-} NS_REFINED_FOR_SWIFT;
-
-NS_INLINE BOOL FBLPromiseErrorIsTimedOut(NSError *error) NS_SWIFT_UNAVAILABLE("") {
-  return error.domain == FBLPromiseErrorDomain &&
-         error.code == FBLPromiseErrorCodeTimedOut;
-}
-
-NS_INLINE BOOL FBLPromiseErrorIsValidationFailure(NSError *error) NS_SWIFT_UNAVAILABLE("") {
-  return error.domain == FBLPromiseErrorDomain &&
-         error.code == FBLPromiseErrorCodeValidationFailure;
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromises.h b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromises.h
deleted file mode 100644
index 2d90bad..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Headers/FBLPromises.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise+All.h"
-#import "FBLPromise+Always.h"
-#import "FBLPromise+Any.h"
-#import "FBLPromise+Async.h"
-#import "FBLPromise+Await.h"
-#import "FBLPromise+Catch.h"
-#import "FBLPromise+Delay.h"
-#import "FBLPromise+Do.h"
-#import "FBLPromise+Race.h"
-#import "FBLPromise+Recover.h"
-#import "FBLPromise+Reduce.h"
-#import "FBLPromise+Retry.h"
-#import "FBLPromise+Then.h"
-#import "FBLPromise+Timeout.h"
-#import "FBLPromise+Validate.h"
-#import "FBLPromise+Wrap.h"
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Info.plist b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Info.plist
deleted file mode 100644
index 308a336..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>PromisesObjC</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-PromisesObjC</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>PromisesObjC</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>2.0.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Modules/module.modulemap b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Modules/module.modulemap
deleted file mode 100644
index bd7b48e..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,5 +0,0 @@
-framework module PromisesObjC {
-umbrella header "PromisesObjC-umbrella.h"
-export *
-module * { export * }
-}
diff --git a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/PromisesObjC b/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/PromisesObjC
deleted file mode 100644
index b94e705..0000000
--- a/frameworks/PromisesObjC.xcframework/macos-arm64_x86_64/PromisesObjC.framework/PromisesObjC
+++ /dev/null
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Retry.h b/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Retry.h
deleted file mode 100644
index 98ef558..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Headers/FBLPromise+Retry.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The default number of retry attempts is 1. */
-FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
-
-/** The default delay interval before making a retry attempt is 1.0 second. */
-FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
-
-@interface FBLPromise<Value>(RetryAdditions)
-
-typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
- `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
- rejection where the `work` block is retried on the given `queue` after a delay of
- `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param queue A queue to invoke the `work` block on.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
- continue to retry until the number of specified attempts have been exhausted or will bail early if
- the given condition is not met.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   delay:(NSTimeInterval)interval
-               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. On rejection, the `work` block is retried after the given
- delay `interval` and will continue to retry until the number of specified attempts have been
- exhausted or will bail early if the given condition is not met.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  delay:(NSTimeInterval)interval
-              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
- Usage: FBLPromise.retry(^id { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
-
-+ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
-                    FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Info.plist b/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Info.plist
deleted file mode 100644
index 308a336..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>PromisesObjC</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-PromisesObjC</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>PromisesObjC</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>2.0.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/PromisesObjC b/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/PromisesObjC
deleted file mode 100644
index 7b2b1f9..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64/PromisesObjC.framework/PromisesObjC
+++ /dev/null
Binary files differ
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+All.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+All.h
deleted file mode 100644
index 9c0090e..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+All.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AllAdditions)
-
-/**
- Wait until all of the given promises are fulfilled.
- If one of the given promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param promises Promises to wait for.
- @return Promise of an array containing the values of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)all:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Wait until all of the given promises are fulfilled.
- If one of the given promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected FBLPromise correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return Promise of an array containing the values of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)onQueue:(dispatch_queue_t)queue
-                               all:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `all` operators.
- Usage: FBLPromise.all(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_AllAdditions)
-
-+ (FBLPromise<NSArray *> * (^)(NSArray *))all FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray *> * (^)(dispatch_queue_t, NSArray *))allOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Always.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Always.h
deleted file mode 100644
index 13000f5..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Always.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AlwaysAdditions)
-
-typedef void (^FBLPromiseAlwaysWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block that always executes, no matter if the receiver is rejected or fulfilled.
- @return A new pending promise to be resolved with same resolution as the receiver.
- */
-- (FBLPromise *)always:(FBLPromiseAlwaysWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to dispatch on.
- @param work A block that always executes, no matter if the receiver is rejected or fulfilled.
- @return A new pending promise to be resolved with same resolution as the receiver.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                 always:(FBLPromiseAlwaysWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `always` operators.
- Usage: promise.always(^{...})
- */
-@interface FBLPromise<Value>(DotSyntax_AlwaysAdditions)
-
-- (FBLPromise* (^)(FBLPromiseAlwaysWorkBlock))always FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAlwaysWorkBlock))alwaysOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Any.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Any.h
deleted file mode 100644
index 82875bf..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Any.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AnyAdditions)
-
-/**
- Waits until all of the given promises are either fulfilled or rejected.
- If all promises are rejected, then the returned promise is rejected with same error
- as the last one rejected.
- If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
- values or `NSErrors`, matching the original order of fulfilled or rejected promises respectively.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param promises Promises to wait for.
- @return Promise of array containing the values or `NSError`s of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)any:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Waits until all of the given promises are either fulfilled or rejected.
- If all promises are rejected, then the returned promise is rejected with same error
- as the last one rejected.
- If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
- values or `NSError`s, matching the original order of fulfilled or rejected promises respectively.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
- Promises resolved with `nil` become `NSNull` instances in the resulting array.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return Promise of array containing the values or `NSError`s of input promises in the same order.
- */
-+ (FBLPromise<NSArray *> *)onQueue:(dispatch_queue_t)queue
-                               any:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `any` operators.
- Usage: FBLPromise.any(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_AnyAdditions)
-
-+ (FBLPromise<NSArray *> * (^)(NSArray *))any FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray *> * (^)(dispatch_queue_t, NSArray *))anyOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Async.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Async.h
deleted file mode 100644
index 0588a9e..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Async.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(AsyncAdditions)
-
-typedef void (^FBLPromiseFulfillBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseRejectBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseAsyncWorkBlock)(FBLPromiseFulfillBlock fulfill,
-                                         FBLPromiseRejectBlock reject) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously.
-
- @param work A block to perform any operations needed to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)async:(FBLPromiseAsyncWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously on the given queue.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-                  async:(FBLPromiseAsyncWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `async` operators.
- Usage: FBLPromise.async(^(FBLPromiseFulfillBlock fulfill, FBLPromiseRejectBlock reject) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_AsyncAdditions)
-
-+ (FBLPromise* (^)(FBLPromiseAsyncWorkBlock))async FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAsyncWorkBlock))asyncOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Await.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Await.h
deleted file mode 100644
index c97a1ba..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Await.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Waits for promise resolution. The current thread blocks until the promise is resolved.
-
- @param promise Promise to wait for.
- @param error Error the promise was rejected with, or `nil` if the promise was fulfilled.
- @return Value the promise was fulfilled with. If the promise was rejected, the return value
-         is always `nil`, but the error out arg is not.
- */
-FOUNDATION_EXTERN id __nullable FBLPromiseAwait(FBLPromise *promise,
-                                                NSError **error) NS_REFINED_FOR_SWIFT;
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Catch.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Catch.h
deleted file mode 100644
index a9ff170..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Catch.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(CatchAdditions)
-
-typedef void (^FBLPromiseCatchWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with same resolution as the receiver.
- If receiver is rejected, then `reject` block is executed asynchronously.
-
- @param reject A block to handle the error that receiver was rejected with.
- @return A new pending promise.
- */
-- (FBLPromise *)catch:(FBLPromiseCatchWorkBlock)reject NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with same resolution as the receiver.
- If receiver is rejected, then `reject` block is executed asynchronously on the given queue.
-
- @param queue A queue to invoke the `reject` block on.
- @param reject A block to handle the error that receiver was rejected with.
- @return A new pending promise.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  catch:(FBLPromiseCatchWorkBlock)reject NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `catch` operators.
- Usage: promise.catch(^(NSError *error) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_CatchAdditions)
-
-- (FBLPromise* (^)(FBLPromiseCatchWorkBlock))catch FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseCatchWorkBlock))catchOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Delay.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Delay.h
deleted file mode 100644
index 557df48..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Delay.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(DelayAdditions)
-
-/**
- Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
- rejects with the same error immediately.
-
- @param interval Time to wait in seconds.
- @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
-         with the same error immediately.
- */
-- (FBLPromise *)delay:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
- rejects with the same error immediately.
-
- @param queue A queue to dispatch on.
- @param interval Time to wait in seconds.
- @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
-         with the same error immediately.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  delay:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `delay` operators.
- Usage: promise.delay(...)
- */
-@interface FBLPromise<Value>(DotSyntax_DelayAdditions)
-
-- (FBLPromise * (^)(NSTimeInterval))delay FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, NSTimeInterval))delayOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Do.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Do.h
deleted file mode 100644
index 6838e0a..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Do.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(DoAdditions)
-
-typedef id __nullable (^FBLPromiseDoWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously.
-
- @param work A block that returns a value or an error used to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)do:(FBLPromiseDoWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise and executes `work` block asynchronously on the given queue.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block that returns a value or an error used to resolve the promise.
- @return A new pending promise.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue do:(FBLPromiseDoWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `do` operators.
- Usage: FBLPromise.doOn(queue, ^(NSError *error) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_DoAdditions)
-
-+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseDoWorkBlock))doOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Race.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Race.h
deleted file mode 100644
index 2f67258..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Race.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(RaceAdditions)
-
-/**
- Wait until any of the given promises are fulfilled.
- If one of the promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
-
- @param promises Promises to wait for.
- @return A new pending promise to be resolved with the same resolution as the first promise, among
-         the given ones, which was resolved.
- */
-+ (instancetype)race:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
-
-/**
- Wait until any of the given promises are fulfilled.
- If one of the promises is rejected, then the returned promise is rejected with same error.
- If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
- it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
-
- @param queue A queue to dispatch on.
- @param promises Promises to wait for.
- @return A new pending promise to be resolved with the same resolution as the first promise, among
-         the given ones, which was resolved.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue race:(NSArray *)promises NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `race` operators.
- Usage: FBLPromise.race(@[ ... ])
- */
-@interface FBLPromise<Value>(DotSyntax_RaceAdditions)
-
-+ (FBLPromise * (^)(NSArray *))race FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, NSArray *))raceOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Recover.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Recover.h
deleted file mode 100644
index bb7df7e..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Recover.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(RecoverAdditions)
-
-typedef id __nullable (^FBLPromiseRecoverWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides a new promise to recover in case the receiver gets rejected.
-
- @param recovery A block to handle the error that the receiver was rejected with.
- @return A new pending promise to use instead of the rejected one that gets resolved with resolution
-         returned from `recovery` block.
- */
-- (FBLPromise *)recover:(FBLPromiseRecoverWorkBlock)recovery NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides a new promise to recover in case the receiver gets rejected.
-
- @param queue A queue to dispatch on.
- @param recovery A block to handle the error that the receiver was rejected with.
- @return A new pending promise to use instead of the rejected one that gets resolved with resolution
-         returned from `recovery` block.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                recover:(FBLPromiseRecoverWorkBlock)recovery NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `recover` operators.
- Usage: promise.recover(^id(NSError *error) {...})
- */
-@interface FBLPromise<Value>(DotSyntax_RecoverAdditions)
-
-- (FBLPromise * (^)(FBLPromiseRecoverWorkBlock))recover FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRecoverWorkBlock))recoverOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Reduce.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
deleted file mode 100644
index 5bb1eee..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ReduceAdditions)
-
-typedef id __nullable (^FBLPromiseReducerBlock)(Value __nullable partial, id next)
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- Sequentially reduces a collection of values to a single promise using a given combining block
- and the value `self` resolves with as initial value.
-
- @param items An array of values to process in order.
- @param reducer A block to combine an accumulating value and an element of the sequence into
-                the new accumulating value or a promise resolved with it, to be used in the next
-                call of the `reducer` or returned to the caller.
- @return A new pending promise returned from the last `reducer` invocation.
-         Or `self` if `items` is empty.
- */
-- (FBLPromise *)reduce:(NSArray *)items
-               combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
-
-/**
- Sequentially reduces a collection of values to a single promise using a given combining block
- and the value `self` resolves with as initial value.
-
- @param queue A queue to dispatch on.
- @param items An array of values to process in order.
- @param reducer A block to combine an accumulating value and an element of the sequence into
-                the new accumulating value or a promise resolved with it, to be used in the next
-                call of the `reducer` or returned to the caller.
- @return A new pending promise returned from the last `reducer` invocation.
-         Or `self` if `items` is empty.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                 reduce:(NSArray *)items
-                combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `reduce` operators.
- Usage: promise.reduce(values, ^id(id partial, id next) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ReduceAdditions)
-
-- (FBLPromise * (^)(NSArray *, FBLPromiseReducerBlock))reduce FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, NSArray *, FBLPromiseReducerBlock))reduceOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Retry.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Retry.h
deleted file mode 100644
index 98ef558..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Retry.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** The default number of retry attempts is 1. */
-FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
-
-/** The default delay interval before making a retry attempt is 1.0 second. */
-FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
-
-@interface FBLPromise<Value>(RetryAdditions)
-
-typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
-typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
- `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
- rejection where the `work` block is retried on the given `queue` after a delay of
- `FBLPromiseRetryDefaultDelayInterval` second(s).
-
- @param queue A queue to invoke the `work` block on.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously, or rejects with the same error after all retry attempts have
- been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
- continue to retry until the number of specified attempts have been exhausted or will bail early if
- the given condition is not met.
-
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the default queue and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)attempts:(NSInteger)count
-                   delay:(NSTimeInterval)interval
-               condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                   retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise that fulfills with the same value as the promise returned from `work`
- block, which executes asynchronously on the given `queue`, or rejects with the same error after all
- retry attempts have been exhausted. On rejection, the `work` block is retried after the given
- delay `interval` and will continue to retry until the number of specified attempts have been
- exhausted or will bail early if the given condition is not met.
-
- @param queue A queue to invoke the `work` block on.
- @param count Max number of retry attempts. The `work` block will be executed once if the specified
-              count is less than or equal to zero.
- @param interval Time to wait before the next retry attempt.
- @param predicate Condition to check before the next retry attempt. The predicate block provides the
-                  the number of remaining retry attempts and the error that the promise was rejected
-                  with.
- @param work A block that executes asynchronously on the given `queue` and returns a value or an
-             error used to resolve the promise.
- @return A new pending promise that fulfills with the same value as the promise returned from `work`
-         block, or rejects with the same error after all retry attempts have been exhausted or if
-         the given condition is not met.
- */
-+ (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               attempts:(NSInteger)count
-                  delay:(NSTimeInterval)interval
-              condition:(nullable FBLPromiseRetryPredicateBlock)predicate
-                  retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
- Usage: FBLPromise.retry(^id { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
-
-+ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
-                    FBLPromiseRetryPredicateBlock __nullable,
-                    FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Testing.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Testing.h
deleted file mode 100644
index 8478ae2..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Testing.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Waits for all scheduled promises blocks.
-
- @param timeout Maximum time to wait.
- @return YES if all promises blocks have completed before the timeout and NO otherwise.
- */
-FOUNDATION_EXTERN BOOL FBLWaitForPromisesWithTimeout(NSTimeInterval timeout) NS_REFINED_FOR_SWIFT;
-
-@interface FBLPromise<Value>(TestingAdditions)
-
-/**
- Dispatch group for promises that is typically used to wait for all scheduled blocks.
- */
-@property(class, nonatomic, readonly) dispatch_group_t dispatchGroup NS_REFINED_FOR_SWIFT;
-
-/**
- Properties to get the current state of the promise.
- */
-@property(nonatomic, readonly) BOOL isPending NS_REFINED_FOR_SWIFT;
-@property(nonatomic, readonly) BOOL isFulfilled NS_REFINED_FOR_SWIFT;
-@property(nonatomic, readonly) BOOL isRejected NS_REFINED_FOR_SWIFT;
-
-/**
- Value the promise was fulfilled with.
- Can be nil if the promise is still pending, was resolved with nil or after it has been rejected.
- */
-@property(nonatomic, readonly, nullable) Value value NS_REFINED_FOR_SWIFT;
-
-/**
- Error the promise was rejected with.
- Can be nil if the promise is still pending or after it has been fulfilled.
- */
-@property(nonatomic, readonly, nullable) NSError *error NS_REFINED_FOR_SWIFT;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Then.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Then.h
deleted file mode 100644
index 32027e6..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Then.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ThenAdditions)
-
-typedef id __nullable (^FBLPromiseThenWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with resolution returned from `work`
- block: either value, error or another promise. The `work` block is executed asynchronously only
- when the receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with
- the same error.
-
- @param work A block to handle the value that receiver was fulfilled with.
- @return A new pending promise to be resolved with resolution returned from the `work` block.
- */
-- (FBLPromise *)then:(FBLPromiseThenWorkBlock)work NS_SWIFT_UNAVAILABLE("");
-
-/**
- Creates a pending promise which eventually gets resolved with resolution returned from `work`
- block: either value, error or another promise. The `work` block is executed asynchronously when the
- receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with the same
- error.
-
- @param queue A queue to invoke the `work` block on.
- @param work A block to handle the value that receiver was fulfilled with.
- @return A new pending promise to be resolved with resolution returned from the `work` block.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                   then:(FBLPromiseThenWorkBlock)work NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `then` operators.
- Usage: promise.then(^id(id value) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ThenAdditions)
-
-- (FBLPromise* (^)(FBLPromiseThenWorkBlock))then FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseThenWorkBlock))thenOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Timeout.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
deleted file mode 100644
index 184ba16..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(TimeoutAdditions)
-
-/**
- Waits for a promise with the specified `timeout`.
-
- @param interval Time to wait in seconds.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)timeout:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
-
-/**
- Waits for a promise with the specified `timeout`.
-
- @param queue A queue to dispatch on.
- @param interval Time to wait in seconds.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-                timeout:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `timeout` operators.
- Usage: promise.timeout(...)
- */
-@interface FBLPromise<Value>(DotSyntax_TimeoutAdditions)
-
-- (FBLPromise* (^)(NSTimeInterval))timeout FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise* (^)(dispatch_queue_t, NSTimeInterval))timeoutOn FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Validate.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Validate.h
deleted file mode 100644
index 9dfa2f1..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Validate.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FBLPromise<Value>(ValidateAdditions)
-
-typedef BOOL (^FBLPromiseValidateWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
-
-/**
- Validates a fulfilled value or rejects the value if it can not be validated.
-
- @param predicate An expression to validate.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)validate:(FBLPromiseValidateWorkBlock)predicate NS_SWIFT_UNAVAILABLE("");
-
-/**
- Validates a fulfilled value or rejects the value if it can not be validated.
-
- @param queue A queue to dispatch on.
- @param predicate An expression to validate.
- @return A new pending promise that gets either resolved with same resolution as the receiver or
-         rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
- */
-- (FBLPromise *)onQueue:(dispatch_queue_t)queue
-               validate:(FBLPromiseValidateWorkBlock)predicate NS_REFINED_FOR_SWIFT;
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `validate` operators.
- Usage: promise.validate(^BOOL(id value) { ... })
- */
-@interface FBLPromise<Value>(DotSyntax_ValidateAdditions)
-
-- (FBLPromise * (^)(FBLPromiseValidateWorkBlock))validate FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseValidateWorkBlock))validateOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Wrap.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
deleted file mode 100644
index 664e1bb..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
+++ /dev/null
@@ -1,316 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Different types of completion handlers available to be wrapped with promise.
- */
-typedef void (^FBLPromiseCompletion)(void) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseObjectCompletion)(id __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseErrorCompletion)(NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseObjectOrErrorCompletion)(id __nullable, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseErrorOrObjectCompletion)(NSError* __nullable, id __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromise2ObjectsOrErrorCompletion)(id __nullable, id __nullable,
-                                                    NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseBoolCompletion)(BOOL) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseBoolOrErrorCompletion)(BOOL, NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseIntegerCompletion)(NSInteger) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseIntegerOrErrorCompletion)(NSInteger, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseDoubleCompletion)(double) NS_SWIFT_UNAVAILABLE("");
-typedef void (^FBLPromiseDoubleOrErrorCompletion)(double, NSError* __nullable)
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- Provides an easy way to convert methods that use common callback patterns into promises.
- */
-@interface FBLPromise<Value>(WrapAdditions)
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with `nil` when completion handler is invoked.
- */
-+ (instancetype)wrapCompletion:(void (^)(FBLPromiseCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with `nil` when completion handler is invoked.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-         wrapCompletion:(void (^)(FBLPromiseCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler.
- */
-+ (instancetype)wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error provided by completion handler.
- If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
- */
-+ (instancetype)wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error provided by completion handler.
- If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler if error is `nil`.
- Otherwise, rejects with the error.
- */
-+ (instancetype)wrapObjectOrErrorCompletion:
-    (void (^)(FBLPromiseObjectOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an object provided by completion handler if error is `nil`.
- Otherwise, rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapObjectOrErrorCompletion:(void (^)(FBLPromiseObjectOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error or object provided by completion handler. If error
- is not `nil`, rejects with the error.
- */
-+ (instancetype)wrapErrorOrObjectCompletion:
-    (void (^)(FBLPromiseErrorOrObjectCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an error or object provided by completion handler. If error
- is not `nil`, rejects with the error.
- */
-+ (instancetype)onQueue:(dispatch_queue_t)queue
-    wrapErrorOrObjectCompletion:(void (^)(FBLPromiseErrorOrObjectCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an array of objects provided by completion handler in order
- if error is `nil`. Otherwise, rejects with the error.
- */
-+ (FBLPromise<NSArray*>*)wrap2ObjectsOrErrorCompletion:
-    (void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an array of objects provided by completion handler in order
- if error is `nil`. Otherwise, rejects with the error.
- */
-+ (FBLPromise<NSArray*>*)onQueue:(dispatch_queue_t)queue
-    wrap2ObjectsOrErrorCompletion:(void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO.
- */
-+ (FBLPromise<NSNumber*>*)wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-               wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapBoolOrErrorCompletion:
-    (void (^)(FBLPromiseBoolOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-        wrapBoolOrErrorCompletion:(void (^)(FBLPromiseBoolOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer.
- */
-+ (FBLPromise<NSNumber*>*)wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-            wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapIntegerOrErrorCompletion:
-    (void (^)(FBLPromiseIntegerOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-     wrapIntegerOrErrorCompletion:(void (^)(FBLPromiseIntegerOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double.
- */
-+ (FBLPromise<NSNumber*>*)wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-             wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)wrapDoubleOrErrorCompletion:
-    (void (^)(FBLPromiseDoubleOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
-
-/**
- @param queue A queue to invoke the `work` block on.
- @param work A block to perform any operations needed to resolve the promise.
- @returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`.
- Otherwise rejects with the error.
- */
-+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
-      wrapDoubleOrErrorCompletion:(void (^)(FBLPromiseDoubleOrErrorCompletion handler))work
-    NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-/**
- Convenience dot-syntax wrappers for `FBLPromise` `wrap` operators.
- Usage: FBLPromise.wrapCompletion(^(FBLPromiseCompletion handler) {...})
- */
-@interface FBLPromise<Value>(DotSyntax_WrapAdditions)
-
-+ (FBLPromise* (^)(void (^)(FBLPromiseCompletion)))wrapCompletion FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseCompletion)))wrapCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletion FBL_PROMISES_DOT_SYNTAX
-    NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t,
-                   void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise* (^)(dispatch_queue_t,
-                   void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray*>* (^)(void (^)(FBLPromise2ObjectsOrErrorCompletion)))
-    wrap2ObjectsOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSArray*>* (^)(dispatch_queue_t, void (^)(FBLPromise2ObjectsOrErrorCompletion)))
-    wrap2ObjectsOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseIntegerOrErrorCompletion)))
-    wrapIntegerOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t, void (^)(FBLPromiseIntegerOrErrorCompletion)))
-    wrapIntegerOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletion
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
-                              void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletionOn
-    FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseDoubleOrErrorCompletion)))
-    wrapDoubleOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t, void (^)(FBLPromiseDoubleOrErrorCompletion)))
-    wrapDoubleOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise.h
deleted file mode 100644
index b1380dc..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromise.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromiseError.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- Promises synchronization construct in Objective-C.
- */
-@interface FBLPromise<__covariant Value> : NSObject
-
-/**
- Default dispatch queue used for `FBLPromise`, which is `main` if a queue is not specified.
- */
-@property(class) dispatch_queue_t defaultDispatchQueue NS_REFINED_FOR_SWIFT;
-
-/**
- Creates a pending promise.
- */
-+ (instancetype)pendingPromise NS_REFINED_FOR_SWIFT;
-
-/**
- Creates a resolved promise.
-
- @param resolution An object to resolve the promise with: either a value or an error.
- @return A new resolved promise.
- */
-+ (instancetype)resolvedWith:(nullable id)resolution NS_REFINED_FOR_SWIFT;
-
-/**
- Synchronously fulfills the promise with a value.
-
- @param value An arbitrary value to fulfill the promise with, including `nil`.
- */
-- (void)fulfill:(nullable Value)value NS_REFINED_FOR_SWIFT;
-
-/**
- Synchronously rejects the promise with an error.
-
- @param error An error to reject the promise with.
- */
-- (void)reject:(NSError *)error NS_REFINED_FOR_SWIFT;
-
-+ (instancetype)new NS_UNAVAILABLE;
-- (instancetype)init NS_UNAVAILABLE;
-@end
-
-@interface FBLPromise<Value>()
-
-/**
- Adds an object to the set of pending objects to keep strongly while the promise is pending.
- Used by the Swift wrappers to keep them alive until the underlying ObjC promise is resolved.
-
- @param object An object to add.
- */
-- (void)addPendingObject:(id)object NS_REFINED_FOR_SWIFT;
-
-@end
-
-#ifdef FBL_PROMISES_DOT_SYNTAX_IS_DEPRECATED
-#define FBL_PROMISES_DOT_SYNTAX __attribute__((deprecated))
-#else
-#define FBL_PROMISES_DOT_SYNTAX
-#endif
-
-@interface FBLPromise<Value>(DotSyntaxAdditions)
-
-/**
- Convenience dot-syntax wrappers for FBLPromise.
- Usage: FBLPromise.pending()
-        FBLPromise.resolved(value)
-
- */
-+ (instancetype (^)(void))pending FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-+ (instancetype (^)(id __nullable))resolved FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromiseError.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromiseError.h
deleted file mode 100644
index d37af53..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromiseError.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-FOUNDATION_EXTERN NSErrorDomain const FBLPromiseErrorDomain NS_REFINED_FOR_SWIFT;
-
-/**
- Possible error codes in `FBLPromiseErrorDomain`.
- */
-typedef NS_ENUM(NSInteger, FBLPromiseErrorCode) {
-  /** Promise failed to resolve in time. */
-  FBLPromiseErrorCodeTimedOut = 1,
-  /** Validation predicate returned false. */
-  FBLPromiseErrorCodeValidationFailure = 2,
-} NS_REFINED_FOR_SWIFT;
-
-NS_INLINE BOOL FBLPromiseErrorIsTimedOut(NSError *error) NS_SWIFT_UNAVAILABLE("") {
-  return error.domain == FBLPromiseErrorDomain &&
-         error.code == FBLPromiseErrorCodeTimedOut;
-}
-
-NS_INLINE BOOL FBLPromiseErrorIsValidationFailure(NSError *error) NS_SWIFT_UNAVAILABLE("") {
-  return error.domain == FBLPromiseErrorDomain &&
-         error.code == FBLPromiseErrorCodeValidationFailure;
-}
-
-NS_ASSUME_NONNULL_END
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromises.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromises.h
deleted file mode 100644
index 2d90bad..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/FBLPromises.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- Copyright 2018 Google Inc. All rights reserved.
-
- 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.
- */
-
-#import "FBLPromise+All.h"
-#import "FBLPromise+Always.h"
-#import "FBLPromise+Any.h"
-#import "FBLPromise+Async.h"
-#import "FBLPromise+Await.h"
-#import "FBLPromise+Catch.h"
-#import "FBLPromise+Delay.h"
-#import "FBLPromise+Do.h"
-#import "FBLPromise+Race.h"
-#import "FBLPromise+Recover.h"
-#import "FBLPromise+Reduce.h"
-#import "FBLPromise+Retry.h"
-#import "FBLPromise+Then.h"
-#import "FBLPromise+Timeout.h"
-#import "FBLPromise+Validate.h"
-#import "FBLPromise+Wrap.h"
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
deleted file mode 100644
index 5b014a8..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifdef __OBJC__
-#import <UIKit/UIKit.h>
-#else
-#ifndef FOUNDATION_EXPORT
-#if defined(__cplusplus)
-#define FOUNDATION_EXPORT extern "C"
-#else
-#define FOUNDATION_EXPORT extern
-#endif
-#endif
-#endif
-
-#import "FBLPromise+All.h"
-#import "FBLPromise+Always.h"
-#import "FBLPromise+Any.h"
-#import "FBLPromise+Async.h"
-#import "FBLPromise+Await.h"
-#import "FBLPromise+Catch.h"
-#import "FBLPromise+Delay.h"
-#import "FBLPromise+Do.h"
-#import "FBLPromise+Race.h"
-#import "FBLPromise+Recover.h"
-#import "FBLPromise+Reduce.h"
-#import "FBLPromise+Retry.h"
-#import "FBLPromise+Testing.h"
-#import "FBLPromise+Then.h"
-#import "FBLPromise+Timeout.h"
-#import "FBLPromise+Validate.h"
-#import "FBLPromise+Wrap.h"
-#import "FBLPromise.h"
-#import "FBLPromiseError.h"
-#import "FBLPromises.h"
-
-FOUNDATION_EXPORT double FBLPromisesVersionNumber;
-FOUNDATION_EXPORT const unsigned char FBLPromisesVersionString[];
-
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Info.plist b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Info.plist
deleted file mode 100644
index 308a336..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>PromisesObjC</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-PromisesObjC</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>PromisesObjC</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>2.0.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Modules/module.modulemap b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Modules/module.modulemap
deleted file mode 100644
index bd7b48e..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,5 +0,0 @@
-framework module PromisesObjC {
-umbrella header "PromisesObjC-umbrella.h"
-export *
-module * { export * }
-}
diff --git a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/PromisesObjC b/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/PromisesObjC
deleted file mode 100644
index 56e3498..0000000
--- a/frameworks/PromisesObjC.xcframework/tvos-arm64_x86_64-simulator/PromisesObjC.framework/PromisesObjC
+++ /dev/null
Binary files differ
diff --git a/frameworks/WAFirebaseImpl.framework/Headers/WAFirebaseImpl.h b/frameworks/WAFirebaseImpl.framework/Headers/WAFirebaseImpl.h
index 7b57d28..84bd963 100644
--- a/frameworks/WAFirebaseImpl.framework/Headers/WAFirebaseImpl.h
+++ b/frameworks/WAFirebaseImpl.framework/Headers/WAFirebaseImpl.h
@@ -16,5 +16,5 @@
 
 // In this header, you should import all the public headers of your framework using statements like #import <WAFirebaseImpl/PublicHeader.h>
 
-//time:2022/02/16 09:51 ver:3.9.7
+//time:2023/06/06  12:29 ver:3.15.0
 
diff --git a/frameworks/WAFirebaseImpl.framework/Info.plist b/frameworks/WAFirebaseImpl.framework/Info.plist
index c76c1a0..451ddd4 100644
--- a/frameworks/WAFirebaseImpl.framework/Info.plist
+++ b/frameworks/WAFirebaseImpl.framework/Info.plist
Binary files differ
diff --git a/frameworks/WAFirebaseImpl.framework/WAFirebaseImpl b/frameworks/WAFirebaseImpl.framework/WAFirebaseImpl
index 448ed13..ccb7c31 100644
--- a/frameworks/WAFirebaseImpl.framework/WAFirebaseImpl
+++ b/frameworks/WAFirebaseImpl.framework/WAFirebaseImpl
Binary files differ
diff --git a/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeDirectory b/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeDirectory
index c28d2e2..cc204ab 100644
--- a/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeDirectory
+++ b/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeDirectory
Binary files differ
diff --git a/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeRequirements-1 b/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeRequirements-1
index 09a426e..9b30c14 100644
--- a/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeRequirements-1
+++ b/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeRequirements-1
Binary files differ
diff --git a/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeResources b/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeResources
index 329aa61..f63cb80 100644
--- a/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeResources
+++ b/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeResources
@@ -6,11 +6,11 @@
 	<dict>
 		<key>Headers/WAFirebaseImpl.h</key>
 		<data>
-		j6lfgjGBk9MneJAUfPPLLzXTNcs=
+		o7Cugf+YAn8Jz8VwxWkdoLvrTpE=
 		</data>
 		<key>Info.plist</key>
 		<data>
-		3aM9bDj+wObfqFNbQAInRESUafY=
+		Vg/Q2J19nlnY845y/yUKIkUANfw=
 		</data>
 		<key>Modules/module.modulemap</key>
 		<data>
@@ -23,11 +23,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			j6lfgjGBk9MneJAUfPPLLzXTNcs=
+			o7Cugf+YAn8Jz8VwxWkdoLvrTpE=
 			</data>
 			<key>hash2</key>
 			<data>
-			eQI39+Lj2+dySjCbuTIO92hXCVlVjMKfmEXvY1sWUSw=
+			hdIltXq06IyD3enZYPZpF9rvHIOvCnCOeWVytmLNplg=
 			</data>
 		</dict>
 		<key>Modules/module.modulemap</key>
diff --git a/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeSignature b/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeSignature
index a4033e1..6be1cb9 100644
--- a/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeSignature
+++ b/frameworks/WAFirebaseImpl.framework/_CodeSignature/CodeSignature
Binary files differ
diff --git a/frameworks/nanopb.xcframework/Info.plist b/frameworks/nanopb.xcframework/Info.plist
index ce89876..2ea9ef7 100644
--- a/frameworks/nanopb.xcframework/Info.plist
+++ b/frameworks/nanopb.xcframework/Info.plist
@@ -18,35 +18,6 @@
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>ios-arm64_armv7</string>
-			<key>LibraryPath</key>
-			<string>nanopb.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>armv7</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
-			<string>ios-arm64_i386_x86_64-simulator</string>
-			<key>LibraryPath</key>
-			<string>nanopb.framework</string>
-			<key>SupportedArchitectures</key>
-			<array>
-				<string>arm64</string>
-				<string>i386</string>
-				<string>x86_64</string>
-			</array>
-			<key>SupportedPlatform</key>
-			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
-		</dict>
-		<dict>
-			<key>LibraryIdentifier</key>
 			<string>ios-arm64_x86_64-maccatalyst</string>
 			<key>LibraryPath</key>
 			<string>nanopb.framework</string>
@@ -59,6 +30,31 @@
 			<string>ios</string>
 			<key>SupportedPlatformVariant</key>
 			<string>maccatalyst</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64</string>
+			<key>LibraryPath</key>
+			<string>nanopb.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>macos-arm64_x86_64</string>
+			<key>LibraryPath</key>
+			<string>nanopb.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>macos</string>
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
@@ -77,7 +73,7 @@
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>macos-arm64_x86_64</string>
+			<string>ios-arm64_x86_64-simulator</string>
 			<key>LibraryPath</key>
 			<string>nanopb.framework</string>
 			<key>SupportedArchitectures</key>
@@ -86,7 +82,9 @@
 				<string>x86_64</string>
 			</array>
 			<key>SupportedPlatform</key>
-			<string>macos</string>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
 		</dict>
 	</array>
 	<key>CFBundlePackageType</key>
diff --git a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/nanopb-umbrella.h b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/nanopb-umbrella.h
similarity index 100%
rename from frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/nanopb-umbrella.h
rename to frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/nanopb-umbrella.h
diff --git a/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb.h b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb.h
new file mode 100644
index 0000000..0a98d3c
--- /dev/null
+++ b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb.h
@@ -0,0 +1,599 @@
+/* Common parts of the nanopb library. Most of these are quite low-level
+ * stuff. For the high-level interface, see pb_encode.h and pb_decode.h.
+ */
+
+#ifndef PB_H_INCLUDED
+#define PB_H_INCLUDED
+
+/*****************************************************************
+ * Nanopb compilation time options. You can change these here by *
+ * uncommenting the lines, or on the compiler command line.      *
+ *****************************************************************/
+
+/* Enable support for dynamically allocated fields */
+/* #define PB_ENABLE_MALLOC 1 */
+
+/* Define this if your CPU / compiler combination does not support
+ * unaligned memory access to packed structures. */
+/* #define PB_NO_PACKED_STRUCTS 1 */
+
+/* Increase the number of required fields that are tracked.
+ * A compiler warning will tell if you need this. */
+/* #define PB_MAX_REQUIRED_FIELDS 256 */
+
+/* Add support for tag numbers > 255 and fields larger than 255 bytes. */
+/* #define PB_FIELD_16BIT 1 */
+
+/* Add support for tag numbers > 65536 and fields larger than 65536 bytes. */
+/* #define PB_FIELD_32BIT 1 */
+
+/* Disable support for error messages in order to save some code space. */
+/* #define PB_NO_ERRMSG 1 */
+
+/* Disable support for custom streams (support only memory buffers). */
+/* #define PB_BUFFER_ONLY 1 */
+
+/* Switch back to the old-style callback function signature.
+ * This was the default until nanopb-0.2.1. */
+/* #define PB_OLD_CALLBACK_STYLE */
+
+
+/* Don't encode scalar arrays as packed. This is only to be used when
+ * the decoder on the receiving side cannot process packed scalar arrays.
+ * Such example is older protobuf.js. */
+/* #define PB_ENCODE_ARRAYS_UNPACKED 1 */
+
+/******************************************************************
+ * You usually don't need to change anything below this line.     *
+ * Feel free to look around and use the defined macros, though.   *
+ ******************************************************************/
+
+
+/* Version of the nanopb library. Just in case you want to check it in
+ * your own program. */
+#define NANOPB_VERSION nanopb-0.3.9.9
+
+/* Include all the system headers needed by nanopb. You will need the
+ * definitions of the following:
+ * - strlen, memcpy, memset functions
+ * - [u]int_least8_t, uint_fast8_t, [u]int_least16_t, [u]int32_t, [u]int64_t
+ * - size_t
+ * - bool
+ *
+ * If you don't have the standard header files, you can instead provide
+ * a custom header that defines or includes all this. In that case,
+ * define PB_SYSTEM_HEADER to the path of this file.
+ */
+#ifdef PB_SYSTEM_HEADER
+#include PB_SYSTEM_HEADER
+#else
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <string.h>
+
+#ifdef PB_ENABLE_MALLOC
+#include <stdlib.h>
+#endif
+#endif
+
+/* Macro for defining packed structures (compiler dependent).
+ * This just reduces memory requirements, but is not required.
+ */
+#if defined(PB_NO_PACKED_STRUCTS)
+    /* Disable struct packing */
+#   define PB_PACKED_STRUCT_START
+#   define PB_PACKED_STRUCT_END
+#   define pb_packed
+#elif defined(__GNUC__) || defined(__clang__)
+    /* For GCC and clang */
+#   define PB_PACKED_STRUCT_START
+#   define PB_PACKED_STRUCT_END
+#   define pb_packed __attribute__((packed))
+#elif defined(__ICCARM__) || defined(__CC_ARM)
+    /* For IAR ARM and Keil MDK-ARM compilers */
+#   define PB_PACKED_STRUCT_START _Pragma("pack(push, 1)")
+#   define PB_PACKED_STRUCT_END _Pragma("pack(pop)")
+#   define pb_packed
+#elif defined(_MSC_VER) && (_MSC_VER >= 1500)
+    /* For Microsoft Visual C++ */
+#   define PB_PACKED_STRUCT_START __pragma(pack(push, 1))
+#   define PB_PACKED_STRUCT_END __pragma(pack(pop))
+#   define pb_packed
+#else
+    /* Unknown compiler */
+#   define PB_PACKED_STRUCT_START
+#   define PB_PACKED_STRUCT_END
+#   define pb_packed
+#endif
+
+/* Handly macro for suppressing unreferenced-parameter compiler warnings. */
+#ifndef PB_UNUSED
+#define PB_UNUSED(x) (void)(x)
+#endif
+
+/* Compile-time assertion, used for checking compatible compilation options.
+ * If this does not work properly on your compiler, use
+ * #define PB_NO_STATIC_ASSERT to disable it.
+ *
+ * But before doing that, check carefully the error message / place where it
+ * comes from to see if the error has a real cause. Unfortunately the error
+ * message is not always very clear to read, but you can see the reason better
+ * in the place where the PB_STATIC_ASSERT macro was called.
+ */
+#ifndef PB_NO_STATIC_ASSERT
+#ifndef PB_STATIC_ASSERT
+#define PB_STATIC_ASSERT(COND,MSG) typedef char PB_STATIC_ASSERT_MSG(MSG, __LINE__, __COUNTER__)[(COND)?1:-1];
+#define PB_STATIC_ASSERT_MSG(MSG, LINE, COUNTER) PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER)
+#define PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER) pb_static_assertion_##MSG##LINE##COUNTER
+#endif
+#else
+#define PB_STATIC_ASSERT(COND,MSG)
+#endif
+
+/* Number of required fields to keep track of. */
+#ifndef PB_MAX_REQUIRED_FIELDS
+#define PB_MAX_REQUIRED_FIELDS 64
+#endif
+
+#if PB_MAX_REQUIRED_FIELDS < 64
+#error You should not lower PB_MAX_REQUIRED_FIELDS from the default value (64).
+#endif
+
+/* List of possible field types. These are used in the autogenerated code.
+ * Least-significant 4 bits tell the scalar type
+ * Most-significant 4 bits specify repeated/required/packed etc.
+ */
+
+typedef uint_least8_t pb_type_t;
+
+/**** Field data types ****/
+
+/* Numeric types */
+#define PB_LTYPE_BOOL    0x00 /* bool */
+#define PB_LTYPE_VARINT  0x01 /* int32, int64, enum, bool */
+#define PB_LTYPE_UVARINT 0x02 /* uint32, uint64 */
+#define PB_LTYPE_SVARINT 0x03 /* sint32, sint64 */
+#define PB_LTYPE_FIXED32 0x04 /* fixed32, sfixed32, float */
+#define PB_LTYPE_FIXED64 0x05 /* fixed64, sfixed64, double */
+
+/* Marker for last packable field type. */
+#define PB_LTYPE_LAST_PACKABLE 0x05
+
+/* Byte array with pre-allocated buffer.
+ * data_size is the length of the allocated PB_BYTES_ARRAY structure. */
+#define PB_LTYPE_BYTES 0x06
+
+/* String with pre-allocated buffer.
+ * data_size is the maximum length. */
+#define PB_LTYPE_STRING 0x07
+
+/* Submessage
+ * submsg_fields is pointer to field descriptions */
+#define PB_LTYPE_SUBMESSAGE 0x08
+
+/* Extension pseudo-field
+ * The field contains a pointer to pb_extension_t */
+#define PB_LTYPE_EXTENSION 0x09
+
+/* Byte array with inline, pre-allocated byffer.
+ * data_size is the length of the inline, allocated buffer.
+ * This differs from PB_LTYPE_BYTES by defining the element as
+ * pb_byte_t[data_size] rather than pb_bytes_array_t. */
+#define PB_LTYPE_FIXED_LENGTH_BYTES 0x0A
+
+/* Number of declared LTYPES */
+#define PB_LTYPES_COUNT 0x0B
+#define PB_LTYPE_MASK 0x0F
+
+/**** Field repetition rules ****/
+
+#define PB_HTYPE_REQUIRED 0x00
+#define PB_HTYPE_OPTIONAL 0x10
+#define PB_HTYPE_REPEATED 0x20
+#define PB_HTYPE_ONEOF    0x30
+#define PB_HTYPE_MASK     0x30
+
+/**** Field allocation types ****/
+ 
+#define PB_ATYPE_STATIC   0x00
+#define PB_ATYPE_POINTER  0x80
+#define PB_ATYPE_CALLBACK 0x40
+#define PB_ATYPE_MASK     0xC0
+
+#define PB_ATYPE(x) ((x) & PB_ATYPE_MASK)
+#define PB_HTYPE(x) ((x) & PB_HTYPE_MASK)
+#define PB_LTYPE(x) ((x) & PB_LTYPE_MASK)
+
+/* Data type used for storing sizes of struct fields
+ * and array counts.
+ */
+#if defined(PB_FIELD_32BIT)
+    typedef uint32_t pb_size_t;
+    typedef int32_t pb_ssize_t;
+#elif defined(PB_FIELD_16BIT)
+    typedef uint_least16_t pb_size_t;
+    typedef int_least16_t pb_ssize_t;
+#else
+    typedef uint_least8_t pb_size_t;
+    typedef int_least8_t pb_ssize_t;
+#endif
+#define PB_SIZE_MAX ((pb_size_t)-1)
+
+/* Data type for storing encoded data and other byte streams.
+ * This typedef exists to support platforms where uint8_t does not exist.
+ * You can regard it as equivalent on uint8_t on other platforms.
+ */
+typedef uint_least8_t pb_byte_t;
+
+/* This structure is used in auto-generated constants
+ * to specify struct fields.
+ * You can change field sizes if you need structures
+ * larger than 256 bytes or field tags larger than 256.
+ * The compiler should complain if your .proto has such
+ * structures. Fix that by defining PB_FIELD_16BIT or
+ * PB_FIELD_32BIT.
+ */
+PB_PACKED_STRUCT_START
+typedef struct pb_field_s pb_field_t;
+struct pb_field_s {
+    pb_size_t tag;
+    pb_type_t type;
+    pb_size_t data_offset; /* Offset of field data, relative to previous field. */
+    pb_ssize_t size_offset; /* Offset of array size or has-boolean, relative to data */
+    pb_size_t data_size; /* Data size in bytes for a single item */
+    pb_size_t array_size; /* Maximum number of entries in array */
+    
+    /* Field definitions for submessage
+     * OR default value for all other non-array, non-callback types
+     * If null, then field will zeroed. */
+    const void *ptr;
+} pb_packed;
+PB_PACKED_STRUCT_END
+
+/* Make sure that the standard integer types are of the expected sizes.
+ * Otherwise fixed32/fixed64 fields can break.
+ *
+ * If you get errors here, it probably means that your stdint.h is not
+ * correct for your platform.
+ */
+#ifndef PB_WITHOUT_64BIT
+PB_STATIC_ASSERT(sizeof(int64_t) == 2 * sizeof(int32_t), INT64_T_WRONG_SIZE)
+PB_STATIC_ASSERT(sizeof(uint64_t) == 2 * sizeof(uint32_t), UINT64_T_WRONG_SIZE)
+#endif
+
+/* This structure is used for 'bytes' arrays.
+ * It has the number of bytes in the beginning, and after that an array.
+ * Note that actual structs used will have a different length of bytes array.
+ */
+#define PB_BYTES_ARRAY_T(n) struct { pb_size_t size; pb_byte_t bytes[n]; }
+#define PB_BYTES_ARRAY_T_ALLOCSIZE(n) ((size_t)n + offsetof(pb_bytes_array_t, bytes))
+
+struct pb_bytes_array_s {
+    pb_size_t size;
+    pb_byte_t bytes[1];
+};
+typedef struct pb_bytes_array_s pb_bytes_array_t;
+
+/* This structure is used for giving the callback function.
+ * It is stored in the message structure and filled in by the method that
+ * calls pb_decode.
+ *
+ * The decoding callback will be given a limited-length stream
+ * If the wire type was string, the length is the length of the string.
+ * If the wire type was a varint/fixed32/fixed64, the length is the length
+ * of the actual value.
+ * The function may be called multiple times (especially for repeated types,
+ * but also otherwise if the message happens to contain the field multiple
+ * times.)
+ *
+ * The encoding callback will receive the actual output stream.
+ * It should write all the data in one call, including the field tag and
+ * wire type. It can write multiple fields.
+ *
+ * The callback can be null if you want to skip a field.
+ */
+typedef struct pb_istream_s pb_istream_t;
+typedef struct pb_ostream_s pb_ostream_t;
+typedef struct pb_callback_s pb_callback_t;
+struct pb_callback_s {
+#ifdef PB_OLD_CALLBACK_STYLE
+    /* Deprecated since nanopb-0.2.1 */
+    union {
+        bool (*decode)(pb_istream_t *stream, const pb_field_t *field, void *arg);
+        bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, const void *arg);
+    } funcs;
+#else
+    /* New function signature, which allows modifying arg contents in callback. */
+    union {
+        bool (*decode)(pb_istream_t *stream, const pb_field_t *field, void **arg);
+        bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, void * const *arg);
+    } funcs;
+#endif    
+    
+    /* Free arg for use by callback */
+    void *arg;
+};
+
+/* Wire types. Library user needs these only in encoder callbacks. */
+typedef enum {
+    PB_WT_VARINT = 0,
+    PB_WT_64BIT  = 1,
+    PB_WT_STRING = 2,
+    PB_WT_32BIT  = 5
+} pb_wire_type_t;
+
+/* Structure for defining the handling of unknown/extension fields.
+ * Usually the pb_extension_type_t structure is automatically generated,
+ * while the pb_extension_t structure is created by the user. However,
+ * if you want to catch all unknown fields, you can also create a custom
+ * pb_extension_type_t with your own callback.
+ */
+typedef struct pb_extension_type_s pb_extension_type_t;
+typedef struct pb_extension_s pb_extension_t;
+struct pb_extension_type_s {
+    /* Called for each unknown field in the message.
+     * If you handle the field, read off all of its data and return true.
+     * If you do not handle the field, do not read anything and return true.
+     * If you run into an error, return false.
+     * Set to NULL for default handler.
+     */
+    bool (*decode)(pb_istream_t *stream, pb_extension_t *extension,
+                   uint32_t tag, pb_wire_type_t wire_type);
+    
+    /* Called once after all regular fields have been encoded.
+     * If you have something to write, do so and return true.
+     * If you do not have anything to write, just return true.
+     * If you run into an error, return false.
+     * Set to NULL for default handler.
+     */
+    bool (*encode)(pb_ostream_t *stream, const pb_extension_t *extension);
+    
+    /* Free field for use by the callback. */
+    const void *arg;
+};
+
+struct pb_extension_s {
+    /* Type describing the extension field. Usually you'll initialize
+     * this to a pointer to the automatically generated structure. */
+    const pb_extension_type_t *type;
+    
+    /* Destination for the decoded data. This must match the datatype
+     * of the extension field. */
+    void *dest;
+    
+    /* Pointer to the next extension handler, or NULL.
+     * If this extension does not match a field, the next handler is
+     * automatically called. */
+    pb_extension_t *next;
+
+    /* The decoder sets this to true if the extension was found.
+     * Ignored for encoding. */
+    bool found;
+};
+
+/* Memory allocation functions to use. You can define pb_realloc and
+ * pb_free to custom functions if you want. */
+#ifdef PB_ENABLE_MALLOC
+#   ifndef pb_realloc
+#       define pb_realloc(ptr, size) realloc(ptr, size)
+#   endif
+#   ifndef pb_free
+#       define pb_free(ptr) free(ptr)
+#   endif
+#endif
+
+/* This is used to inform about need to regenerate .pb.h/.pb.c files. */
+#define PB_PROTO_HEADER_VERSION 30
+
+/* These macros are used to declare pb_field_t's in the constant array. */
+/* Size of a structure member, in bytes. */
+#define pb_membersize(st, m) (sizeof ((st*)0)->m)
+/* Number of entries in an array. */
+#define pb_arraysize(st, m) (pb_membersize(st, m) / pb_membersize(st, m[0]))
+/* Delta from start of one member to the start of another member. */
+#define pb_delta(st, m1, m2) ((int)offsetof(st, m1) - (int)offsetof(st, m2))
+/* Marks the end of the field list */
+#define PB_LAST_FIELD {0,(pb_type_t) 0,0,0,0,0,0}
+
+/* Macros for filling in the data_offset field */
+/* data_offset for first field in a message */
+#define PB_DATAOFFSET_FIRST(st, m1, m2) (offsetof(st, m1))
+/* data_offset for subsequent fields */
+#define PB_DATAOFFSET_OTHER(st, m1, m2) (offsetof(st, m1) - offsetof(st, m2) - pb_membersize(st, m2))
+/* data offset for subsequent fields inside an union (oneof) */
+#define PB_DATAOFFSET_UNION(st, m1, m2) (PB_SIZE_MAX)
+/* Choose first/other based on m1 == m2 (deprecated, remains for backwards compatibility) */
+#define PB_DATAOFFSET_CHOOSE(st, m1, m2) (int)(offsetof(st, m1) == offsetof(st, m2) \
+                                  ? PB_DATAOFFSET_FIRST(st, m1, m2) \
+                                  : PB_DATAOFFSET_OTHER(st, m1, m2))
+
+/* Required fields are the simplest. They just have delta (padding) from
+ * previous field end, and the size of the field. Pointer is used for
+ * submessages and default values.
+ */
+#define PB_REQUIRED_STATIC(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_REQUIRED | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+
+/* Optional fields add the delta to the has_ variable. */
+#define PB_OPTIONAL_STATIC(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_OPTIONAL | ltype, \
+    fd, \
+    pb_delta(st, has_ ## m, m), \
+    pb_membersize(st, m), 0, ptr}
+
+#define PB_SINGULAR_STATIC(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_OPTIONAL | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+
+/* Repeated fields have a _count field and also the maximum number of entries. */
+#define PB_REPEATED_STATIC(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_REPEATED | ltype, \
+    fd, \
+    pb_delta(st, m ## _count, m), \
+    pb_membersize(st, m[0]), \
+    pb_arraysize(st, m), ptr}
+
+/* Allocated fields carry the size of the actual data, not the pointer */
+#define PB_REQUIRED_POINTER(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_REQUIRED | ltype, \
+    fd, 0, pb_membersize(st, m[0]), 0, ptr}
+
+/* Optional fields don't need a has_ variable, as information would be redundant */
+#define PB_OPTIONAL_POINTER(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_OPTIONAL | ltype, \
+    fd, 0, pb_membersize(st, m[0]), 0, ptr}
+
+/* Same as optional fields*/
+#define PB_SINGULAR_POINTER(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_OPTIONAL | ltype, \
+    fd, 0, pb_membersize(st, m[0]), 0, ptr}
+
+/* Repeated fields have a _count field and a pointer to array of pointers */
+#define PB_REPEATED_POINTER(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_REPEATED | ltype, \
+    fd, pb_delta(st, m ## _count, m), \
+    pb_membersize(st, m[0]), 0, ptr}
+
+/* Callbacks are much like required fields except with special datatype. */
+#define PB_REQUIRED_CALLBACK(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_REQUIRED | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+
+#define PB_OPTIONAL_CALLBACK(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_OPTIONAL | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+
+#define PB_SINGULAR_CALLBACK(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_OPTIONAL | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+    
+#define PB_REPEATED_CALLBACK(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_REPEATED | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+
+/* Optional extensions don't have the has_ field, as that would be redundant.
+ * Furthermore, the combination of OPTIONAL without has_ field is used
+ * for indicating proto3 style fields. Extensions exist in proto2 mode only,
+ * so they should be encoded according to proto2 rules. To avoid the conflict,
+ * extensions are marked as REQUIRED instead.
+ */
+#define PB_OPTEXT_STATIC(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_REQUIRED | ltype, \
+    0, \
+    0, \
+    pb_membersize(st, m), 0, ptr}
+
+#define PB_OPTEXT_POINTER(tag, st, m, fd, ltype, ptr) \
+    PB_OPTIONAL_POINTER(tag, st, m, fd, ltype, ptr)
+
+#define PB_OPTEXT_CALLBACK(tag, st, m, fd, ltype, ptr) \
+    PB_OPTIONAL_CALLBACK(tag, st, m, fd, ltype, ptr)
+
+/* The mapping from protobuf types to LTYPEs is done using these macros. */
+#define PB_LTYPE_MAP_BOOL               PB_LTYPE_BOOL
+#define PB_LTYPE_MAP_BYTES              PB_LTYPE_BYTES
+#define PB_LTYPE_MAP_DOUBLE             PB_LTYPE_FIXED64
+#define PB_LTYPE_MAP_ENUM               PB_LTYPE_VARINT
+#define PB_LTYPE_MAP_UENUM              PB_LTYPE_UVARINT
+#define PB_LTYPE_MAP_FIXED32            PB_LTYPE_FIXED32
+#define PB_LTYPE_MAP_FIXED64            PB_LTYPE_FIXED64
+#define PB_LTYPE_MAP_FLOAT              PB_LTYPE_FIXED32
+#define PB_LTYPE_MAP_INT32              PB_LTYPE_VARINT
+#define PB_LTYPE_MAP_INT64              PB_LTYPE_VARINT
+#define PB_LTYPE_MAP_MESSAGE            PB_LTYPE_SUBMESSAGE
+#define PB_LTYPE_MAP_SFIXED32           PB_LTYPE_FIXED32
+#define PB_LTYPE_MAP_SFIXED64           PB_LTYPE_FIXED64
+#define PB_LTYPE_MAP_SINT32             PB_LTYPE_SVARINT
+#define PB_LTYPE_MAP_SINT64             PB_LTYPE_SVARINT
+#define PB_LTYPE_MAP_STRING             PB_LTYPE_STRING
+#define PB_LTYPE_MAP_UINT32             PB_LTYPE_UVARINT
+#define PB_LTYPE_MAP_UINT64             PB_LTYPE_UVARINT
+#define PB_LTYPE_MAP_EXTENSION          PB_LTYPE_EXTENSION
+#define PB_LTYPE_MAP_FIXED_LENGTH_BYTES PB_LTYPE_FIXED_LENGTH_BYTES
+
+/* This is the actual macro used in field descriptions.
+ * It takes these arguments:
+ * - Field tag number
+ * - Field type:   BOOL, BYTES, DOUBLE, ENUM, UENUM, FIXED32, FIXED64,
+ *                 FLOAT, INT32, INT64, MESSAGE, SFIXED32, SFIXED64
+ *                 SINT32, SINT64, STRING, UINT32, UINT64 or EXTENSION
+ * - Field rules:  REQUIRED, OPTIONAL or REPEATED
+ * - Allocation:   STATIC, CALLBACK or POINTER
+ * - Placement: FIRST or OTHER, depending on if this is the first field in structure.
+ * - Message name
+ * - Field name
+ * - Previous field name (or field name again for first field)
+ * - Pointer to default value or submsg fields.
+ */
+
+#define PB_FIELD(tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
+        PB_ ## rules ## _ ## allocation(tag, message, field, \
+        PB_DATAOFFSET_ ## placement(message, field, prevfield), \
+        PB_LTYPE_MAP_ ## type, ptr)
+
+/* Field description for repeated static fixed count fields.*/
+#define PB_REPEATED_FIXED_COUNT(tag, type, placement, message, field, prevfield, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_REPEATED | PB_LTYPE_MAP_ ## type, \
+    PB_DATAOFFSET_ ## placement(message, field, prevfield), \
+    0, \
+    pb_membersize(message, field[0]), \
+    pb_arraysize(message, field), ptr}
+
+/* Field description for oneof fields. This requires taking into account the
+ * union name also, that's why a separate set of macros is needed.
+ */
+#define PB_ONEOF_STATIC(u, tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_ONEOF | ltype, \
+    fd, pb_delta(st, which_ ## u, u.m), \
+    pb_membersize(st, u.m), 0, ptr}
+
+#define PB_ONEOF_POINTER(u, tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_ONEOF | ltype, \
+    fd, pb_delta(st, which_ ## u, u.m), \
+    pb_membersize(st, u.m[0]), 0, ptr}
+
+#define PB_ONEOF_FIELD(union_name, tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
+        PB_ONEOF_ ## allocation(union_name, tag, message, field, \
+        PB_DATAOFFSET_ ## placement(message, union_name.field, prevfield), \
+        PB_LTYPE_MAP_ ## type, ptr)
+
+#define PB_ANONYMOUS_ONEOF_STATIC(u, tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_ONEOF | ltype, \
+    fd, pb_delta(st, which_ ## u, m), \
+    pb_membersize(st, m), 0, ptr}
+
+#define PB_ANONYMOUS_ONEOF_POINTER(u, tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_ONEOF | ltype, \
+    fd, pb_delta(st, which_ ## u, m), \
+    pb_membersize(st, m[0]), 0, ptr}
+
+#define PB_ANONYMOUS_ONEOF_FIELD(union_name, tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
+        PB_ANONYMOUS_ONEOF_ ## allocation(union_name, tag, message, field, \
+        PB_DATAOFFSET_ ## placement(message, field, prevfield), \
+        PB_LTYPE_MAP_ ## type, ptr)
+
+/* These macros are used for giving out error messages.
+ * They are mostly a debugging aid; the main error information
+ * is the true/false return value from functions.
+ * Some code space can be saved by disabling the error
+ * messages if not used.
+ *
+ * PB_SET_ERROR() sets the error message if none has been set yet.
+ *                msg must be a constant string literal.
+ * PB_GET_ERROR() always returns a pointer to a string.
+ * PB_RETURN_ERROR() sets the error and returns false from current
+ *                   function.
+ */
+#ifdef PB_NO_ERRMSG
+#define PB_SET_ERROR(stream, msg) PB_UNUSED(stream)
+#define PB_GET_ERROR(stream) "(errmsg disabled)"
+#else
+#define PB_SET_ERROR(stream, msg) (stream->errmsg = (stream)->errmsg ? (stream)->errmsg : (msg))
+#define PB_GET_ERROR(stream) ((stream)->errmsg ? (stream)->errmsg : "(none)")
+#endif
+
+#define PB_RETURN_ERROR(stream, msg) return PB_SET_ERROR(stream, msg), false
+
+#endif
diff --git a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/pb_common.h b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb_common.h
similarity index 100%
rename from frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/pb_common.h
rename to frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb_common.h
diff --git a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/pb_decode.h b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb_decode.h
similarity index 100%
rename from frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/pb_decode.h
rename to frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb_decode.h
diff --git a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/pb_encode.h b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb_encode.h
similarity index 100%
rename from frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/pb_encode.h
rename to frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Headers/pb_encode.h
diff --git a/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Info.plist b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Info.plist
new file mode 100644
index 0000000..f480d0f
--- /dev/null
+++ b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>nanopb</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-nanopb</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>nanopb</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>2.30909.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Modules/module.modulemap b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Modules/module.modulemap
similarity index 100%
rename from frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Modules/module.modulemap
rename to frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/Modules/module.modulemap
diff --git a/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/nanopb b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/nanopb
new file mode 100644
index 0000000..eb7f364
--- /dev/null
+++ b/frameworks/nanopb.xcframework/ios-arm64/nanopb.framework/nanopb
Binary files differ
diff --git a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/pb.h b/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/pb.h
deleted file mode 100644
index 236e894..0000000
--- a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Headers/pb.h
+++ /dev/null
@@ -1,599 +0,0 @@
-/* Common parts of the nanopb library. Most of these are quite low-level
- * stuff. For the high-level interface, see pb_encode.h and pb_decode.h.
- */
-
-#ifndef PB_H_INCLUDED
-#define PB_H_INCLUDED
-
-/*****************************************************************
- * Nanopb compilation time options. You can change these here by *
- * uncommenting the lines, or on the compiler command line.      *
- *****************************************************************/
-
-/* Enable support for dynamically allocated fields */
-/* #define PB_ENABLE_MALLOC 1 */
-
-/* Define this if your CPU / compiler combination does not support
- * unaligned memory access to packed structures. */
-/* #define PB_NO_PACKED_STRUCTS 1 */
-
-/* Increase the number of required fields that are tracked.
- * A compiler warning will tell if you need this. */
-/* #define PB_MAX_REQUIRED_FIELDS 256 */
-
-/* Add support for tag numbers > 255 and fields larger than 255 bytes. */
-/* #define PB_FIELD_16BIT 1 */
-
-/* Add support for tag numbers > 65536 and fields larger than 65536 bytes. */
-/* #define PB_FIELD_32BIT 1 */
-
-/* Disable support for error messages in order to save some code space. */
-/* #define PB_NO_ERRMSG 1 */
-
-/* Disable support for custom streams (support only memory buffers). */
-/* #define PB_BUFFER_ONLY 1 */
-
-/* Switch back to the old-style callback function signature.
- * This was the default until nanopb-0.2.1. */
-/* #define PB_OLD_CALLBACK_STYLE */
-
-
-/* Don't encode scalar arrays as packed. This is only to be used when
- * the decoder on the receiving side cannot process packed scalar arrays.
- * Such example is older protobuf.js. */
-/* #define PB_ENCODE_ARRAYS_UNPACKED 1 */
-
-/******************************************************************
- * You usually don't need to change anything below this line.     *
- * Feel free to look around and use the defined macros, though.   *
- ******************************************************************/
-
-
-/* Version of the nanopb library. Just in case you want to check it in
- * your own program. */
-#define NANOPB_VERSION nanopb-0.3.9.8
-
-/* Include all the system headers needed by nanopb. You will need the
- * definitions of the following:
- * - strlen, memcpy, memset functions
- * - [u]int_least8_t, uint_fast8_t, [u]int_least16_t, [u]int32_t, [u]int64_t
- * - size_t
- * - bool
- *
- * If you don't have the standard header files, you can instead provide
- * a custom header that defines or includes all this. In that case,
- * define PB_SYSTEM_HEADER to the path of this file.
- */
-#ifdef PB_SYSTEM_HEADER
-#include PB_SYSTEM_HEADER
-#else
-#include <stdint.h>
-#include <stddef.h>
-#include <stdbool.h>
-#include <string.h>
-
-#ifdef PB_ENABLE_MALLOC
-#include <stdlib.h>
-#endif
-#endif
-
-/* Macro for defining packed structures (compiler dependent).
- * This just reduces memory requirements, but is not required.
- */
-#if defined(PB_NO_PACKED_STRUCTS)
-    /* Disable struct packing */
-#   define PB_PACKED_STRUCT_START
-#   define PB_PACKED_STRUCT_END
-#   define pb_packed
-#elif defined(__GNUC__) || defined(__clang__)
-    /* For GCC and clang */
-#   define PB_PACKED_STRUCT_START
-#   define PB_PACKED_STRUCT_END
-#   define pb_packed __attribute__((packed))
-#elif defined(__ICCARM__) || defined(__CC_ARM)
-    /* For IAR ARM and Keil MDK-ARM compilers */
-#   define PB_PACKED_STRUCT_START _Pragma("pack(push, 1)")
-#   define PB_PACKED_STRUCT_END _Pragma("pack(pop)")
-#   define pb_packed
-#elif defined(_MSC_VER) && (_MSC_VER >= 1500)
-    /* For Microsoft Visual C++ */
-#   define PB_PACKED_STRUCT_START __pragma(pack(push, 1))
-#   define PB_PACKED_STRUCT_END __pragma(pack(pop))
-#   define pb_packed
-#else
-    /* Unknown compiler */
-#   define PB_PACKED_STRUCT_START
-#   define PB_PACKED_STRUCT_END
-#   define pb_packed
-#endif
-
-/* Handly macro for suppressing unreferenced-parameter compiler warnings. */
-#ifndef PB_UNUSED
-#define PB_UNUSED(x) (void)(x)
-#endif
-
-/* Compile-time assertion, used for checking compatible compilation options.
- * If this does not work properly on your compiler, use
- * #define PB_NO_STATIC_ASSERT to disable it.
- *
- * But before doing that, check carefully the error message / place where it
- * comes from to see if the error has a real cause. Unfortunately the error
- * message is not always very clear to read, but you can see the reason better
- * in the place where the PB_STATIC_ASSERT macro was called.
- */
-#ifndef PB_NO_STATIC_ASSERT
-#ifndef PB_STATIC_ASSERT
-#define PB_STATIC_ASSERT(COND,MSG) typedef char PB_STATIC_ASSERT_MSG(MSG, __LINE__, __COUNTER__)[(COND)?1:-1];
-#define PB_STATIC_ASSERT_MSG(MSG, LINE, COUNTER) PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER)
-#define PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER) pb_static_assertion_##MSG##LINE##COUNTER
-#endif
-#else
-#define PB_STATIC_ASSERT(COND,MSG)
-#endif
-
-/* Number of required fields to keep track of. */
-#ifndef PB_MAX_REQUIRED_FIELDS
-#define PB_MAX_REQUIRED_FIELDS 64
-#endif
-
-#if PB_MAX_REQUIRED_FIELDS < 64
-#error You should not lower PB_MAX_REQUIRED_FIELDS from the default value (64).
-#endif
-
-/* List of possible field types. These are used in the autogenerated code.
- * Least-significant 4 bits tell the scalar type
- * Most-significant 4 bits specify repeated/required/packed etc.
- */
-
-typedef uint_least8_t pb_type_t;
-
-/**** Field data types ****/
-
-/* Numeric types */
-#define PB_LTYPE_BOOL    0x00 /* bool */
-#define PB_LTYPE_VARINT  0x01 /* int32, int64, enum, bool */
-#define PB_LTYPE_UVARINT 0x02 /* uint32, uint64 */
-#define PB_LTYPE_SVARINT 0x03 /* sint32, sint64 */
-#define PB_LTYPE_FIXED32 0x04 /* fixed32, sfixed32, float */
-#define PB_LTYPE_FIXED64 0x05 /* fixed64, sfixed64, double */
-
-/* Marker for last packable field type. */
-#define PB_LTYPE_LAST_PACKABLE 0x05
-
-/* Byte array with pre-allocated buffer.
- * data_size is the length of the allocated PB_BYTES_ARRAY structure. */
-#define PB_LTYPE_BYTES 0x06
-
-/* String with pre-allocated buffer.
- * data_size is the maximum length. */
-#define PB_LTYPE_STRING 0x07
-
-/* Submessage
- * submsg_fields is pointer to field descriptions */
-#define PB_LTYPE_SUBMESSAGE 0x08
-
-/* Extension pseudo-field
- * The field contains a pointer to pb_extension_t */
-#define PB_LTYPE_EXTENSION 0x09
-
-/* Byte array with inline, pre-allocated byffer.
- * data_size is the length of the inline, allocated buffer.
- * This differs from PB_LTYPE_BYTES by defining the element as
- * pb_byte_t[data_size] rather than pb_bytes_array_t. */
-#define PB_LTYPE_FIXED_LENGTH_BYTES 0x0A
-
-/* Number of declared LTYPES */
-#define PB_LTYPES_COUNT 0x0B
-#define PB_LTYPE_MASK 0x0F
-
-/**** Field repetition rules ****/
-
-#define PB_HTYPE_REQUIRED 0x00
-#define PB_HTYPE_OPTIONAL 0x10
-#define PB_HTYPE_REPEATED 0x20
-#define PB_HTYPE_ONEOF    0x30
-#define PB_HTYPE_MASK     0x30
-
-/**** Field allocation types ****/
- 
-#define PB_ATYPE_STATIC   0x00
-#define PB_ATYPE_POINTER  0x80
-#define PB_ATYPE_CALLBACK 0x40
-#define PB_ATYPE_MASK     0xC0
-
-#define PB_ATYPE(x) ((x) & PB_ATYPE_MASK)
-#define PB_HTYPE(x) ((x) & PB_HTYPE_MASK)
-#define PB_LTYPE(x) ((x) & PB_LTYPE_MASK)
-
-/* Data type used for storing sizes of struct fields
- * and array counts.
- */
-#if defined(PB_FIELD_32BIT)
-    typedef uint32_t pb_size_t;
-    typedef int32_t pb_ssize_t;
-#elif defined(PB_FIELD_16BIT)
-    typedef uint_least16_t pb_size_t;
-    typedef int_least16_t pb_ssize_t;
-#else
-    typedef uint_least8_t pb_size_t;
-    typedef int_least8_t pb_ssize_t;
-#endif
-#define PB_SIZE_MAX ((pb_size_t)-1)
-
-/* Data type for storing encoded data and other byte streams.
- * This typedef exists to support platforms where uint8_t does not exist.
- * You can regard it as equivalent on uint8_t on other platforms.
- */
-typedef uint_least8_t pb_byte_t;
-
-/* This structure is used in auto-generated constants
- * to specify struct fields.
- * You can change field sizes if you need structures
- * larger than 256 bytes or field tags larger than 256.
- * The compiler should complain if your .proto has such
- * structures. Fix that by defining PB_FIELD_16BIT or
- * PB_FIELD_32BIT.
- */
-PB_PACKED_STRUCT_START
-typedef struct pb_field_s pb_field_t;
-struct pb_field_s {
-    pb_size_t tag;
-    pb_type_t type;
-    pb_size_t data_offset; /* Offset of field data, relative to previous field. */
-    pb_ssize_t size_offset; /* Offset of array size or has-boolean, relative to data */
-    pb_size_t data_size; /* Data size in bytes for a single item */
-    pb_size_t array_size; /* Maximum number of entries in array */
-    
-    /* Field definitions for submessage
-     * OR default value for all other non-array, non-callback types
-     * If null, then field will zeroed. */
-    const void *ptr;
-} pb_packed;
-PB_PACKED_STRUCT_END
-
-/* Make sure that the standard integer types are of the expected sizes.
- * Otherwise fixed32/fixed64 fields can break.
- *
- * If you get errors here, it probably means that your stdint.h is not
- * correct for your platform.
- */
-#ifndef PB_WITHOUT_64BIT
-PB_STATIC_ASSERT(sizeof(int64_t) == 2 * sizeof(int32_t), INT64_T_WRONG_SIZE)
-PB_STATIC_ASSERT(sizeof(uint64_t) == 2 * sizeof(uint32_t), UINT64_T_WRONG_SIZE)
-#endif
-
-/* This structure is used for 'bytes' arrays.
- * It has the number of bytes in the beginning, and after that an array.
- * Note that actual structs used will have a different length of bytes array.
- */
-#define PB_BYTES_ARRAY_T(n) struct { pb_size_t size; pb_byte_t bytes[n]; }
-#define PB_BYTES_ARRAY_T_ALLOCSIZE(n) ((size_t)n + offsetof(pb_bytes_array_t, bytes))
-
-struct pb_bytes_array_s {
-    pb_size_t size;
-    pb_byte_t bytes[1];
-};
-typedef struct pb_bytes_array_s pb_bytes_array_t;
-
-/* This structure is used for giving the callback function.
- * It is stored in the message structure and filled in by the method that
- * calls pb_decode.
- *
- * The decoding callback will be given a limited-length stream
- * If the wire type was string, the length is the length of the string.
- * If the wire type was a varint/fixed32/fixed64, the length is the length
- * of the actual value.
- * The function may be called multiple times (especially for repeated types,
- * but also otherwise if the message happens to contain the field multiple
- * times.)
- *
- * The encoding callback will receive the actual output stream.
- * It should write all the data in one call, including the field tag and
- * wire type. It can write multiple fields.
- *
- * The callback can be null if you want to skip a field.
- */
-typedef struct pb_istream_s pb_istream_t;
-typedef struct pb_ostream_s pb_ostream_t;
-typedef struct pb_callback_s pb_callback_t;
-struct pb_callback_s {
-#ifdef PB_OLD_CALLBACK_STYLE
-    /* Deprecated since nanopb-0.2.1 */
-    union {
-        bool (*decode)(pb_istream_t *stream, const pb_field_t *field, void *arg);
-        bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, const void *arg);
-    } funcs;
-#else
-    /* New function signature, which allows modifying arg contents in callback. */
-    union {
-        bool (*decode)(pb_istream_t *stream, const pb_field_t *field, void **arg);
-        bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, void * const *arg);
-    } funcs;
-#endif    
-    
-    /* Free arg for use by callback */
-    void *arg;
-};
-
-/* Wire types. Library user needs these only in encoder callbacks. */
-typedef enum {
-    PB_WT_VARINT = 0,
-    PB_WT_64BIT  = 1,
-    PB_WT_STRING = 2,
-    PB_WT_32BIT  = 5
-} pb_wire_type_t;
-
-/* Structure for defining the handling of unknown/extension fields.
- * Usually the pb_extension_type_t structure is automatically generated,
- * while the pb_extension_t structure is created by the user. However,
- * if you want to catch all unknown fields, you can also create a custom
- * pb_extension_type_t with your own callback.
- */
-typedef struct pb_extension_type_s pb_extension_type_t;
-typedef struct pb_extension_s pb_extension_t;
-struct pb_extension_type_s {
-    /* Called for each unknown field in the message.
-     * If you handle the field, read off all of its data and return true.
-     * If you do not handle the field, do not read anything and return true.
-     * If you run into an error, return false.
-     * Set to NULL for default handler.
-     */
-    bool (*decode)(pb_istream_t *stream, pb_extension_t *extension,
-                   uint32_t tag, pb_wire_type_t wire_type);
-    
-    /* Called once after all regular fields have been encoded.
-     * If you have something to write, do so and return true.
-     * If you do not have anything to write, just return true.
-     * If you run into an error, return false.
-     * Set to NULL for default handler.
-     */
-    bool (*encode)(pb_ostream_t *stream, const pb_extension_t *extension);
-    
-    /* Free field for use by the callback. */
-    const void *arg;
-};
-
-struct pb_extension_s {
-    /* Type describing the extension field. Usually you'll initialize
-     * this to a pointer to the automatically generated structure. */
-    const pb_extension_type_t *type;
-    
-    /* Destination for the decoded data. This must match the datatype
-     * of the extension field. */
-    void *dest;
-    
-    /* Pointer to the next extension handler, or NULL.
-     * If this extension does not match a field, the next handler is
-     * automatically called. */
-    pb_extension_t *next;
-
-    /* The decoder sets this to true if the extension was found.
-     * Ignored for encoding. */
-    bool found;
-};
-
-/* Memory allocation functions to use. You can define pb_realloc and
- * pb_free to custom functions if you want. */
-#ifdef PB_ENABLE_MALLOC
-#   ifndef pb_realloc
-#       define pb_realloc(ptr, size) realloc(ptr, size)
-#   endif
-#   ifndef pb_free
-#       define pb_free(ptr) free(ptr)
-#   endif
-#endif
-
-/* This is used to inform about need to regenerate .pb.h/.pb.c files. */
-#define PB_PROTO_HEADER_VERSION 30
-
-/* These macros are used to declare pb_field_t's in the constant array. */
-/* Size of a structure member, in bytes. */
-#define pb_membersize(st, m) (sizeof ((st*)0)->m)
-/* Number of entries in an array. */
-#define pb_arraysize(st, m) (pb_membersize(st, m) / pb_membersize(st, m[0]))
-/* Delta from start of one member to the start of another member. */
-#define pb_delta(st, m1, m2) ((int)offsetof(st, m1) - (int)offsetof(st, m2))
-/* Marks the end of the field list */
-#define PB_LAST_FIELD {0,(pb_type_t) 0,0,0,0,0,0}
-
-/* Macros for filling in the data_offset field */
-/* data_offset for first field in a message */
-#define PB_DATAOFFSET_FIRST(st, m1, m2) (offsetof(st, m1))
-/* data_offset for subsequent fields */
-#define PB_DATAOFFSET_OTHER(st, m1, m2) (offsetof(st, m1) - offsetof(st, m2) - pb_membersize(st, m2))
-/* data offset for subsequent fields inside an union (oneof) */
-#define PB_DATAOFFSET_UNION(st, m1, m2) (PB_SIZE_MAX)
-/* Choose first/other based on m1 == m2 (deprecated, remains for backwards compatibility) */
-#define PB_DATAOFFSET_CHOOSE(st, m1, m2) (int)(offsetof(st, m1) == offsetof(st, m2) \
-                                  ? PB_DATAOFFSET_FIRST(st, m1, m2) \
-                                  : PB_DATAOFFSET_OTHER(st, m1, m2))
-
-/* Required fields are the simplest. They just have delta (padding) from
- * previous field end, and the size of the field. Pointer is used for
- * submessages and default values.
- */
-#define PB_REQUIRED_STATIC(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_REQUIRED | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-
-/* Optional fields add the delta to the has_ variable. */
-#define PB_OPTIONAL_STATIC(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_OPTIONAL | ltype, \
-    fd, \
-    pb_delta(st, has_ ## m, m), \
-    pb_membersize(st, m), 0, ptr}
-
-#define PB_SINGULAR_STATIC(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_OPTIONAL | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-
-/* Repeated fields have a _count field and also the maximum number of entries. */
-#define PB_REPEATED_STATIC(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_REPEATED | ltype, \
-    fd, \
-    pb_delta(st, m ## _count, m), \
-    pb_membersize(st, m[0]), \
-    pb_arraysize(st, m), ptr}
-
-/* Allocated fields carry the size of the actual data, not the pointer */
-#define PB_REQUIRED_POINTER(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_REQUIRED | ltype, \
-    fd, 0, pb_membersize(st, m[0]), 0, ptr}
-
-/* Optional fields don't need a has_ variable, as information would be redundant */
-#define PB_OPTIONAL_POINTER(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_OPTIONAL | ltype, \
-    fd, 0, pb_membersize(st, m[0]), 0, ptr}
-
-/* Same as optional fields*/
-#define PB_SINGULAR_POINTER(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_OPTIONAL | ltype, \
-    fd, 0, pb_membersize(st, m[0]), 0, ptr}
-
-/* Repeated fields have a _count field and a pointer to array of pointers */
-#define PB_REPEATED_POINTER(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_REPEATED | ltype, \
-    fd, pb_delta(st, m ## _count, m), \
-    pb_membersize(st, m[0]), 0, ptr}
-
-/* Callbacks are much like required fields except with special datatype. */
-#define PB_REQUIRED_CALLBACK(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_REQUIRED | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-
-#define PB_OPTIONAL_CALLBACK(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_OPTIONAL | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-
-#define PB_SINGULAR_CALLBACK(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_OPTIONAL | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-    
-#define PB_REPEATED_CALLBACK(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_REPEATED | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-
-/* Optional extensions don't have the has_ field, as that would be redundant.
- * Furthermore, the combination of OPTIONAL without has_ field is used
- * for indicating proto3 style fields. Extensions exist in proto2 mode only,
- * so they should be encoded according to proto2 rules. To avoid the conflict,
- * extensions are marked as REQUIRED instead.
- */
-#define PB_OPTEXT_STATIC(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_REQUIRED | ltype, \
-    0, \
-    0, \
-    pb_membersize(st, m), 0, ptr}
-
-#define PB_OPTEXT_POINTER(tag, st, m, fd, ltype, ptr) \
-    PB_OPTIONAL_POINTER(tag, st, m, fd, ltype, ptr)
-
-#define PB_OPTEXT_CALLBACK(tag, st, m, fd, ltype, ptr) \
-    PB_OPTIONAL_CALLBACK(tag, st, m, fd, ltype, ptr)
-
-/* The mapping from protobuf types to LTYPEs is done using these macros. */
-#define PB_LTYPE_MAP_BOOL               PB_LTYPE_BOOL
-#define PB_LTYPE_MAP_BYTES              PB_LTYPE_BYTES
-#define PB_LTYPE_MAP_DOUBLE             PB_LTYPE_FIXED64
-#define PB_LTYPE_MAP_ENUM               PB_LTYPE_VARINT
-#define PB_LTYPE_MAP_UENUM              PB_LTYPE_UVARINT
-#define PB_LTYPE_MAP_FIXED32            PB_LTYPE_FIXED32
-#define PB_LTYPE_MAP_FIXED64            PB_LTYPE_FIXED64
-#define PB_LTYPE_MAP_FLOAT              PB_LTYPE_FIXED32
-#define PB_LTYPE_MAP_INT32              PB_LTYPE_VARINT
-#define PB_LTYPE_MAP_INT64              PB_LTYPE_VARINT
-#define PB_LTYPE_MAP_MESSAGE            PB_LTYPE_SUBMESSAGE
-#define PB_LTYPE_MAP_SFIXED32           PB_LTYPE_FIXED32
-#define PB_LTYPE_MAP_SFIXED64           PB_LTYPE_FIXED64
-#define PB_LTYPE_MAP_SINT32             PB_LTYPE_SVARINT
-#define PB_LTYPE_MAP_SINT64             PB_LTYPE_SVARINT
-#define PB_LTYPE_MAP_STRING             PB_LTYPE_STRING
-#define PB_LTYPE_MAP_UINT32             PB_LTYPE_UVARINT
-#define PB_LTYPE_MAP_UINT64             PB_LTYPE_UVARINT
-#define PB_LTYPE_MAP_EXTENSION          PB_LTYPE_EXTENSION
-#define PB_LTYPE_MAP_FIXED_LENGTH_BYTES PB_LTYPE_FIXED_LENGTH_BYTES
-
-/* This is the actual macro used in field descriptions.
- * It takes these arguments:
- * - Field tag number
- * - Field type:   BOOL, BYTES, DOUBLE, ENUM, UENUM, FIXED32, FIXED64,
- *                 FLOAT, INT32, INT64, MESSAGE, SFIXED32, SFIXED64
- *                 SINT32, SINT64, STRING, UINT32, UINT64 or EXTENSION
- * - Field rules:  REQUIRED, OPTIONAL or REPEATED
- * - Allocation:   STATIC, CALLBACK or POINTER
- * - Placement: FIRST or OTHER, depending on if this is the first field in structure.
- * - Message name
- * - Field name
- * - Previous field name (or field name again for first field)
- * - Pointer to default value or submsg fields.
- */
-
-#define PB_FIELD(tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
-        PB_ ## rules ## _ ## allocation(tag, message, field, \
-        PB_DATAOFFSET_ ## placement(message, field, prevfield), \
-        PB_LTYPE_MAP_ ## type, ptr)
-
-/* Field description for repeated static fixed count fields.*/
-#define PB_REPEATED_FIXED_COUNT(tag, type, placement, message, field, prevfield, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_REPEATED | PB_LTYPE_MAP_ ## type, \
-    PB_DATAOFFSET_ ## placement(message, field, prevfield), \
-    0, \
-    pb_membersize(message, field[0]), \
-    pb_arraysize(message, field), ptr}
-
-/* Field description for oneof fields. This requires taking into account the
- * union name also, that's why a separate set of macros is needed.
- */
-#define PB_ONEOF_STATIC(u, tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_ONEOF | ltype, \
-    fd, pb_delta(st, which_ ## u, u.m), \
-    pb_membersize(st, u.m), 0, ptr}
-
-#define PB_ONEOF_POINTER(u, tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_ONEOF | ltype, \
-    fd, pb_delta(st, which_ ## u, u.m), \
-    pb_membersize(st, u.m[0]), 0, ptr}
-
-#define PB_ONEOF_FIELD(union_name, tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
-        PB_ONEOF_ ## allocation(union_name, tag, message, field, \
-        PB_DATAOFFSET_ ## placement(message, union_name.field, prevfield), \
-        PB_LTYPE_MAP_ ## type, ptr)
-
-#define PB_ANONYMOUS_ONEOF_STATIC(u, tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_ONEOF | ltype, \
-    fd, pb_delta(st, which_ ## u, m), \
-    pb_membersize(st, m), 0, ptr}
-
-#define PB_ANONYMOUS_ONEOF_POINTER(u, tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_ONEOF | ltype, \
-    fd, pb_delta(st, which_ ## u, m), \
-    pb_membersize(st, m[0]), 0, ptr}
-
-#define PB_ANONYMOUS_ONEOF_FIELD(union_name, tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
-        PB_ANONYMOUS_ONEOF_ ## allocation(union_name, tag, message, field, \
-        PB_DATAOFFSET_ ## placement(message, field, prevfield), \
-        PB_LTYPE_MAP_ ## type, ptr)
-
-/* These macros are used for giving out error messages.
- * They are mostly a debugging aid; the main error information
- * is the true/false return value from functions.
- * Some code space can be saved by disabling the error
- * messages if not used.
- *
- * PB_SET_ERROR() sets the error message if none has been set yet.
- *                msg must be a constant string literal.
- * PB_GET_ERROR() always returns a pointer to a string.
- * PB_RETURN_ERROR() sets the error and returns false from current
- *                   function.
- */
-#ifdef PB_NO_ERRMSG
-#define PB_SET_ERROR(stream, msg) PB_UNUSED(stream)
-#define PB_GET_ERROR(stream) "(errmsg disabled)"
-#else
-#define PB_SET_ERROR(stream, msg) (stream->errmsg = (stream)->errmsg ? (stream)->errmsg : (msg))
-#define PB_GET_ERROR(stream) ((stream)->errmsg ? (stream)->errmsg : "(none)")
-#endif
-
-#define PB_RETURN_ERROR(stream, msg) return PB_SET_ERROR(stream, msg), false
-
-#endif
diff --git a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Info.plist b/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Info.plist
deleted file mode 100644
index 06efca9..0000000
--- a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>nanopb</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-nanopb</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>nanopb</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>2.30908.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/nanopb b/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/nanopb
deleted file mode 100644
index 12002b5..0000000
--- a/frameworks/nanopb.xcframework/ios-arm64_armv7/nanopb.framework/nanopb
+++ /dev/null
Binary files differ
diff --git a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/pb.h b/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/pb.h
deleted file mode 100644
index 236e894..0000000
--- a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/pb.h
+++ /dev/null
@@ -1,599 +0,0 @@
-/* Common parts of the nanopb library. Most of these are quite low-level
- * stuff. For the high-level interface, see pb_encode.h and pb_decode.h.
- */
-
-#ifndef PB_H_INCLUDED
-#define PB_H_INCLUDED
-
-/*****************************************************************
- * Nanopb compilation time options. You can change these here by *
- * uncommenting the lines, or on the compiler command line.      *
- *****************************************************************/
-
-/* Enable support for dynamically allocated fields */
-/* #define PB_ENABLE_MALLOC 1 */
-
-/* Define this if your CPU / compiler combination does not support
- * unaligned memory access to packed structures. */
-/* #define PB_NO_PACKED_STRUCTS 1 */
-
-/* Increase the number of required fields that are tracked.
- * A compiler warning will tell if you need this. */
-/* #define PB_MAX_REQUIRED_FIELDS 256 */
-
-/* Add support for tag numbers > 255 and fields larger than 255 bytes. */
-/* #define PB_FIELD_16BIT 1 */
-
-/* Add support for tag numbers > 65536 and fields larger than 65536 bytes. */
-/* #define PB_FIELD_32BIT 1 */
-
-/* Disable support for error messages in order to save some code space. */
-/* #define PB_NO_ERRMSG 1 */
-
-/* Disable support for custom streams (support only memory buffers). */
-/* #define PB_BUFFER_ONLY 1 */
-
-/* Switch back to the old-style callback function signature.
- * This was the default until nanopb-0.2.1. */
-/* #define PB_OLD_CALLBACK_STYLE */
-
-
-/* Don't encode scalar arrays as packed. This is only to be used when
- * the decoder on the receiving side cannot process packed scalar arrays.
- * Such example is older protobuf.js. */
-/* #define PB_ENCODE_ARRAYS_UNPACKED 1 */
-
-/******************************************************************
- * You usually don't need to change anything below this line.     *
- * Feel free to look around and use the defined macros, though.   *
- ******************************************************************/
-
-
-/* Version of the nanopb library. Just in case you want to check it in
- * your own program. */
-#define NANOPB_VERSION nanopb-0.3.9.8
-
-/* Include all the system headers needed by nanopb. You will need the
- * definitions of the following:
- * - strlen, memcpy, memset functions
- * - [u]int_least8_t, uint_fast8_t, [u]int_least16_t, [u]int32_t, [u]int64_t
- * - size_t
- * - bool
- *
- * If you don't have the standard header files, you can instead provide
- * a custom header that defines or includes all this. In that case,
- * define PB_SYSTEM_HEADER to the path of this file.
- */
-#ifdef PB_SYSTEM_HEADER
-#include PB_SYSTEM_HEADER
-#else
-#include <stdint.h>
-#include <stddef.h>
-#include <stdbool.h>
-#include <string.h>
-
-#ifdef PB_ENABLE_MALLOC
-#include <stdlib.h>
-#endif
-#endif
-
-/* Macro for defining packed structures (compiler dependent).
- * This just reduces memory requirements, but is not required.
- */
-#if defined(PB_NO_PACKED_STRUCTS)
-    /* Disable struct packing */
-#   define PB_PACKED_STRUCT_START
-#   define PB_PACKED_STRUCT_END
-#   define pb_packed
-#elif defined(__GNUC__) || defined(__clang__)
-    /* For GCC and clang */
-#   define PB_PACKED_STRUCT_START
-#   define PB_PACKED_STRUCT_END
-#   define pb_packed __attribute__((packed))
-#elif defined(__ICCARM__) || defined(__CC_ARM)
-    /* For IAR ARM and Keil MDK-ARM compilers */
-#   define PB_PACKED_STRUCT_START _Pragma("pack(push, 1)")
-#   define PB_PACKED_STRUCT_END _Pragma("pack(pop)")
-#   define pb_packed
-#elif defined(_MSC_VER) && (_MSC_VER >= 1500)
-    /* For Microsoft Visual C++ */
-#   define PB_PACKED_STRUCT_START __pragma(pack(push, 1))
-#   define PB_PACKED_STRUCT_END __pragma(pack(pop))
-#   define pb_packed
-#else
-    /* Unknown compiler */
-#   define PB_PACKED_STRUCT_START
-#   define PB_PACKED_STRUCT_END
-#   define pb_packed
-#endif
-
-/* Handly macro for suppressing unreferenced-parameter compiler warnings. */
-#ifndef PB_UNUSED
-#define PB_UNUSED(x) (void)(x)
-#endif
-
-/* Compile-time assertion, used for checking compatible compilation options.
- * If this does not work properly on your compiler, use
- * #define PB_NO_STATIC_ASSERT to disable it.
- *
- * But before doing that, check carefully the error message / place where it
- * comes from to see if the error has a real cause. Unfortunately the error
- * message is not always very clear to read, but you can see the reason better
- * in the place where the PB_STATIC_ASSERT macro was called.
- */
-#ifndef PB_NO_STATIC_ASSERT
-#ifndef PB_STATIC_ASSERT
-#define PB_STATIC_ASSERT(COND,MSG) typedef char PB_STATIC_ASSERT_MSG(MSG, __LINE__, __COUNTER__)[(COND)?1:-1];
-#define PB_STATIC_ASSERT_MSG(MSG, LINE, COUNTER) PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER)
-#define PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER) pb_static_assertion_##MSG##LINE##COUNTER
-#endif
-#else
-#define PB_STATIC_ASSERT(COND,MSG)
-#endif
-
-/* Number of required fields to keep track of. */
-#ifndef PB_MAX_REQUIRED_FIELDS
-#define PB_MAX_REQUIRED_FIELDS 64
-#endif
-
-#if PB_MAX_REQUIRED_FIELDS < 64
-#error You should not lower PB_MAX_REQUIRED_FIELDS from the default value (64).
-#endif
-
-/* List of possible field types. These are used in the autogenerated code.
- * Least-significant 4 bits tell the scalar type
- * Most-significant 4 bits specify repeated/required/packed etc.
- */
-
-typedef uint_least8_t pb_type_t;
-
-/**** Field data types ****/
-
-/* Numeric types */
-#define PB_LTYPE_BOOL    0x00 /* bool */
-#define PB_LTYPE_VARINT  0x01 /* int32, int64, enum, bool */
-#define PB_LTYPE_UVARINT 0x02 /* uint32, uint64 */
-#define PB_LTYPE_SVARINT 0x03 /* sint32, sint64 */
-#define PB_LTYPE_FIXED32 0x04 /* fixed32, sfixed32, float */
-#define PB_LTYPE_FIXED64 0x05 /* fixed64, sfixed64, double */
-
-/* Marker for last packable field type. */
-#define PB_LTYPE_LAST_PACKABLE 0x05
-
-/* Byte array with pre-allocated buffer.
- * data_size is the length of the allocated PB_BYTES_ARRAY structure. */
-#define PB_LTYPE_BYTES 0x06
-
-/* String with pre-allocated buffer.
- * data_size is the maximum length. */
-#define PB_LTYPE_STRING 0x07
-
-/* Submessage
- * submsg_fields is pointer to field descriptions */
-#define PB_LTYPE_SUBMESSAGE 0x08
-
-/* Extension pseudo-field
- * The field contains a pointer to pb_extension_t */
-#define PB_LTYPE_EXTENSION 0x09
-
-/* Byte array with inline, pre-allocated byffer.
- * data_size is the length of the inline, allocated buffer.
- * This differs from PB_LTYPE_BYTES by defining the element as
- * pb_byte_t[data_size] rather than pb_bytes_array_t. */
-#define PB_LTYPE_FIXED_LENGTH_BYTES 0x0A
-
-/* Number of declared LTYPES */
-#define PB_LTYPES_COUNT 0x0B
-#define PB_LTYPE_MASK 0x0F
-
-/**** Field repetition rules ****/
-
-#define PB_HTYPE_REQUIRED 0x00
-#define PB_HTYPE_OPTIONAL 0x10
-#define PB_HTYPE_REPEATED 0x20
-#define PB_HTYPE_ONEOF    0x30
-#define PB_HTYPE_MASK     0x30
-
-/**** Field allocation types ****/
- 
-#define PB_ATYPE_STATIC   0x00
-#define PB_ATYPE_POINTER  0x80
-#define PB_ATYPE_CALLBACK 0x40
-#define PB_ATYPE_MASK     0xC0
-
-#define PB_ATYPE(x) ((x) & PB_ATYPE_MASK)
-#define PB_HTYPE(x) ((x) & PB_HTYPE_MASK)
-#define PB_LTYPE(x) ((x) & PB_LTYPE_MASK)
-
-/* Data type used for storing sizes of struct fields
- * and array counts.
- */
-#if defined(PB_FIELD_32BIT)
-    typedef uint32_t pb_size_t;
-    typedef int32_t pb_ssize_t;
-#elif defined(PB_FIELD_16BIT)
-    typedef uint_least16_t pb_size_t;
-    typedef int_least16_t pb_ssize_t;
-#else
-    typedef uint_least8_t pb_size_t;
-    typedef int_least8_t pb_ssize_t;
-#endif
-#define PB_SIZE_MAX ((pb_size_t)-1)
-
-/* Data type for storing encoded data and other byte streams.
- * This typedef exists to support platforms where uint8_t does not exist.
- * You can regard it as equivalent on uint8_t on other platforms.
- */
-typedef uint_least8_t pb_byte_t;
-
-/* This structure is used in auto-generated constants
- * to specify struct fields.
- * You can change field sizes if you need structures
- * larger than 256 bytes or field tags larger than 256.
- * The compiler should complain if your .proto has such
- * structures. Fix that by defining PB_FIELD_16BIT or
- * PB_FIELD_32BIT.
- */
-PB_PACKED_STRUCT_START
-typedef struct pb_field_s pb_field_t;
-struct pb_field_s {
-    pb_size_t tag;
-    pb_type_t type;
-    pb_size_t data_offset; /* Offset of field data, relative to previous field. */
-    pb_ssize_t size_offset; /* Offset of array size or has-boolean, relative to data */
-    pb_size_t data_size; /* Data size in bytes for a single item */
-    pb_size_t array_size; /* Maximum number of entries in array */
-    
-    /* Field definitions for submessage
-     * OR default value for all other non-array, non-callback types
-     * If null, then field will zeroed. */
-    const void *ptr;
-} pb_packed;
-PB_PACKED_STRUCT_END
-
-/* Make sure that the standard integer types are of the expected sizes.
- * Otherwise fixed32/fixed64 fields can break.
- *
- * If you get errors here, it probably means that your stdint.h is not
- * correct for your platform.
- */
-#ifndef PB_WITHOUT_64BIT
-PB_STATIC_ASSERT(sizeof(int64_t) == 2 * sizeof(int32_t), INT64_T_WRONG_SIZE)
-PB_STATIC_ASSERT(sizeof(uint64_t) == 2 * sizeof(uint32_t), UINT64_T_WRONG_SIZE)
-#endif
-
-/* This structure is used for 'bytes' arrays.
- * It has the number of bytes in the beginning, and after that an array.
- * Note that actual structs used will have a different length of bytes array.
- */
-#define PB_BYTES_ARRAY_T(n) struct { pb_size_t size; pb_byte_t bytes[n]; }
-#define PB_BYTES_ARRAY_T_ALLOCSIZE(n) ((size_t)n + offsetof(pb_bytes_array_t, bytes))
-
-struct pb_bytes_array_s {
-    pb_size_t size;
-    pb_byte_t bytes[1];
-};
-typedef struct pb_bytes_array_s pb_bytes_array_t;
-
-/* This structure is used for giving the callback function.
- * It is stored in the message structure and filled in by the method that
- * calls pb_decode.
- *
- * The decoding callback will be given a limited-length stream
- * If the wire type was string, the length is the length of the string.
- * If the wire type was a varint/fixed32/fixed64, the length is the length
- * of the actual value.
- * The function may be called multiple times (especially for repeated types,
- * but also otherwise if the message happens to contain the field multiple
- * times.)
- *
- * The encoding callback will receive the actual output stream.
- * It should write all the data in one call, including the field tag and
- * wire type. It can write multiple fields.
- *
- * The callback can be null if you want to skip a field.
- */
-typedef struct pb_istream_s pb_istream_t;
-typedef struct pb_ostream_s pb_ostream_t;
-typedef struct pb_callback_s pb_callback_t;
-struct pb_callback_s {
-#ifdef PB_OLD_CALLBACK_STYLE
-    /* Deprecated since nanopb-0.2.1 */
-    union {
-        bool (*decode)(pb_istream_t *stream, const pb_field_t *field, void *arg);
-        bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, const void *arg);
-    } funcs;
-#else
-    /* New function signature, which allows modifying arg contents in callback. */
-    union {
-        bool (*decode)(pb_istream_t *stream, const pb_field_t *field, void **arg);
-        bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, void * const *arg);
-    } funcs;
-#endif    
-    
-    /* Free arg for use by callback */
-    void *arg;
-};
-
-/* Wire types. Library user needs these only in encoder callbacks. */
-typedef enum {
-    PB_WT_VARINT = 0,
-    PB_WT_64BIT  = 1,
-    PB_WT_STRING = 2,
-    PB_WT_32BIT  = 5
-} pb_wire_type_t;
-
-/* Structure for defining the handling of unknown/extension fields.
- * Usually the pb_extension_type_t structure is automatically generated,
- * while the pb_extension_t structure is created by the user. However,
- * if you want to catch all unknown fields, you can also create a custom
- * pb_extension_type_t with your own callback.
- */
-typedef struct pb_extension_type_s pb_extension_type_t;
-typedef struct pb_extension_s pb_extension_t;
-struct pb_extension_type_s {
-    /* Called for each unknown field in the message.
-     * If you handle the field, read off all of its data and return true.
-     * If you do not handle the field, do not read anything and return true.
-     * If you run into an error, return false.
-     * Set to NULL for default handler.
-     */
-    bool (*decode)(pb_istream_t *stream, pb_extension_t *extension,
-                   uint32_t tag, pb_wire_type_t wire_type);
-    
-    /* Called once after all regular fields have been encoded.
-     * If you have something to write, do so and return true.
-     * If you do not have anything to write, just return true.
-     * If you run into an error, return false.
-     * Set to NULL for default handler.
-     */
-    bool (*encode)(pb_ostream_t *stream, const pb_extension_t *extension);
-    
-    /* Free field for use by the callback. */
-    const void *arg;
-};
-
-struct pb_extension_s {
-    /* Type describing the extension field. Usually you'll initialize
-     * this to a pointer to the automatically generated structure. */
-    const pb_extension_type_t *type;
-    
-    /* Destination for the decoded data. This must match the datatype
-     * of the extension field. */
-    void *dest;
-    
-    /* Pointer to the next extension handler, or NULL.
-     * If this extension does not match a field, the next handler is
-     * automatically called. */
-    pb_extension_t *next;
-
-    /* The decoder sets this to true if the extension was found.
-     * Ignored for encoding. */
-    bool found;
-};
-
-/* Memory allocation functions to use. You can define pb_realloc and
- * pb_free to custom functions if you want. */
-#ifdef PB_ENABLE_MALLOC
-#   ifndef pb_realloc
-#       define pb_realloc(ptr, size) realloc(ptr, size)
-#   endif
-#   ifndef pb_free
-#       define pb_free(ptr) free(ptr)
-#   endif
-#endif
-
-/* This is used to inform about need to regenerate .pb.h/.pb.c files. */
-#define PB_PROTO_HEADER_VERSION 30
-
-/* These macros are used to declare pb_field_t's in the constant array. */
-/* Size of a structure member, in bytes. */
-#define pb_membersize(st, m) (sizeof ((st*)0)->m)
-/* Number of entries in an array. */
-#define pb_arraysize(st, m) (pb_membersize(st, m) / pb_membersize(st, m[0]))
-/* Delta from start of one member to the start of another member. */
-#define pb_delta(st, m1, m2) ((int)offsetof(st, m1) - (int)offsetof(st, m2))
-/* Marks the end of the field list */
-#define PB_LAST_FIELD {0,(pb_type_t) 0,0,0,0,0,0}
-
-/* Macros for filling in the data_offset field */
-/* data_offset for first field in a message */
-#define PB_DATAOFFSET_FIRST(st, m1, m2) (offsetof(st, m1))
-/* data_offset for subsequent fields */
-#define PB_DATAOFFSET_OTHER(st, m1, m2) (offsetof(st, m1) - offsetof(st, m2) - pb_membersize(st, m2))
-/* data offset for subsequent fields inside an union (oneof) */
-#define PB_DATAOFFSET_UNION(st, m1, m2) (PB_SIZE_MAX)
-/* Choose first/other based on m1 == m2 (deprecated, remains for backwards compatibility) */
-#define PB_DATAOFFSET_CHOOSE(st, m1, m2) (int)(offsetof(st, m1) == offsetof(st, m2) \
-                                  ? PB_DATAOFFSET_FIRST(st, m1, m2) \
-                                  : PB_DATAOFFSET_OTHER(st, m1, m2))
-
-/* Required fields are the simplest. They just have delta (padding) from
- * previous field end, and the size of the field. Pointer is used for
- * submessages and default values.
- */
-#define PB_REQUIRED_STATIC(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_REQUIRED | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-
-/* Optional fields add the delta to the has_ variable. */
-#define PB_OPTIONAL_STATIC(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_OPTIONAL | ltype, \
-    fd, \
-    pb_delta(st, has_ ## m, m), \
-    pb_membersize(st, m), 0, ptr}
-
-#define PB_SINGULAR_STATIC(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_OPTIONAL | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-
-/* Repeated fields have a _count field and also the maximum number of entries. */
-#define PB_REPEATED_STATIC(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_REPEATED | ltype, \
-    fd, \
-    pb_delta(st, m ## _count, m), \
-    pb_membersize(st, m[0]), \
-    pb_arraysize(st, m), ptr}
-
-/* Allocated fields carry the size of the actual data, not the pointer */
-#define PB_REQUIRED_POINTER(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_REQUIRED | ltype, \
-    fd, 0, pb_membersize(st, m[0]), 0, ptr}
-
-/* Optional fields don't need a has_ variable, as information would be redundant */
-#define PB_OPTIONAL_POINTER(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_OPTIONAL | ltype, \
-    fd, 0, pb_membersize(st, m[0]), 0, ptr}
-
-/* Same as optional fields*/
-#define PB_SINGULAR_POINTER(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_OPTIONAL | ltype, \
-    fd, 0, pb_membersize(st, m[0]), 0, ptr}
-
-/* Repeated fields have a _count field and a pointer to array of pointers */
-#define PB_REPEATED_POINTER(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_REPEATED | ltype, \
-    fd, pb_delta(st, m ## _count, m), \
-    pb_membersize(st, m[0]), 0, ptr}
-
-/* Callbacks are much like required fields except with special datatype. */
-#define PB_REQUIRED_CALLBACK(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_REQUIRED | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-
-#define PB_OPTIONAL_CALLBACK(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_OPTIONAL | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-
-#define PB_SINGULAR_CALLBACK(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_OPTIONAL | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-    
-#define PB_REPEATED_CALLBACK(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_REPEATED | ltype, \
-    fd, 0, pb_membersize(st, m), 0, ptr}
-
-/* Optional extensions don't have the has_ field, as that would be redundant.
- * Furthermore, the combination of OPTIONAL without has_ field is used
- * for indicating proto3 style fields. Extensions exist in proto2 mode only,
- * so they should be encoded according to proto2 rules. To avoid the conflict,
- * extensions are marked as REQUIRED instead.
- */
-#define PB_OPTEXT_STATIC(tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_REQUIRED | ltype, \
-    0, \
-    0, \
-    pb_membersize(st, m), 0, ptr}
-
-#define PB_OPTEXT_POINTER(tag, st, m, fd, ltype, ptr) \
-    PB_OPTIONAL_POINTER(tag, st, m, fd, ltype, ptr)
-
-#define PB_OPTEXT_CALLBACK(tag, st, m, fd, ltype, ptr) \
-    PB_OPTIONAL_CALLBACK(tag, st, m, fd, ltype, ptr)
-
-/* The mapping from protobuf types to LTYPEs is done using these macros. */
-#define PB_LTYPE_MAP_BOOL               PB_LTYPE_BOOL
-#define PB_LTYPE_MAP_BYTES              PB_LTYPE_BYTES
-#define PB_LTYPE_MAP_DOUBLE             PB_LTYPE_FIXED64
-#define PB_LTYPE_MAP_ENUM               PB_LTYPE_VARINT
-#define PB_LTYPE_MAP_UENUM              PB_LTYPE_UVARINT
-#define PB_LTYPE_MAP_FIXED32            PB_LTYPE_FIXED32
-#define PB_LTYPE_MAP_FIXED64            PB_LTYPE_FIXED64
-#define PB_LTYPE_MAP_FLOAT              PB_LTYPE_FIXED32
-#define PB_LTYPE_MAP_INT32              PB_LTYPE_VARINT
-#define PB_LTYPE_MAP_INT64              PB_LTYPE_VARINT
-#define PB_LTYPE_MAP_MESSAGE            PB_LTYPE_SUBMESSAGE
-#define PB_LTYPE_MAP_SFIXED32           PB_LTYPE_FIXED32
-#define PB_LTYPE_MAP_SFIXED64           PB_LTYPE_FIXED64
-#define PB_LTYPE_MAP_SINT32             PB_LTYPE_SVARINT
-#define PB_LTYPE_MAP_SINT64             PB_LTYPE_SVARINT
-#define PB_LTYPE_MAP_STRING             PB_LTYPE_STRING
-#define PB_LTYPE_MAP_UINT32             PB_LTYPE_UVARINT
-#define PB_LTYPE_MAP_UINT64             PB_LTYPE_UVARINT
-#define PB_LTYPE_MAP_EXTENSION          PB_LTYPE_EXTENSION
-#define PB_LTYPE_MAP_FIXED_LENGTH_BYTES PB_LTYPE_FIXED_LENGTH_BYTES
-
-/* This is the actual macro used in field descriptions.
- * It takes these arguments:
- * - Field tag number
- * - Field type:   BOOL, BYTES, DOUBLE, ENUM, UENUM, FIXED32, FIXED64,
- *                 FLOAT, INT32, INT64, MESSAGE, SFIXED32, SFIXED64
- *                 SINT32, SINT64, STRING, UINT32, UINT64 or EXTENSION
- * - Field rules:  REQUIRED, OPTIONAL or REPEATED
- * - Allocation:   STATIC, CALLBACK or POINTER
- * - Placement: FIRST or OTHER, depending on if this is the first field in structure.
- * - Message name
- * - Field name
- * - Previous field name (or field name again for first field)
- * - Pointer to default value or submsg fields.
- */
-
-#define PB_FIELD(tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
-        PB_ ## rules ## _ ## allocation(tag, message, field, \
-        PB_DATAOFFSET_ ## placement(message, field, prevfield), \
-        PB_LTYPE_MAP_ ## type, ptr)
-
-/* Field description for repeated static fixed count fields.*/
-#define PB_REPEATED_FIXED_COUNT(tag, type, placement, message, field, prevfield, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_REPEATED | PB_LTYPE_MAP_ ## type, \
-    PB_DATAOFFSET_ ## placement(message, field, prevfield), \
-    0, \
-    pb_membersize(message, field[0]), \
-    pb_arraysize(message, field), ptr}
-
-/* Field description for oneof fields. This requires taking into account the
- * union name also, that's why a separate set of macros is needed.
- */
-#define PB_ONEOF_STATIC(u, tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_ONEOF | ltype, \
-    fd, pb_delta(st, which_ ## u, u.m), \
-    pb_membersize(st, u.m), 0, ptr}
-
-#define PB_ONEOF_POINTER(u, tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_ONEOF | ltype, \
-    fd, pb_delta(st, which_ ## u, u.m), \
-    pb_membersize(st, u.m[0]), 0, ptr}
-
-#define PB_ONEOF_FIELD(union_name, tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
-        PB_ONEOF_ ## allocation(union_name, tag, message, field, \
-        PB_DATAOFFSET_ ## placement(message, union_name.field, prevfield), \
-        PB_LTYPE_MAP_ ## type, ptr)
-
-#define PB_ANONYMOUS_ONEOF_STATIC(u, tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_STATIC | PB_HTYPE_ONEOF | ltype, \
-    fd, pb_delta(st, which_ ## u, m), \
-    pb_membersize(st, m), 0, ptr}
-
-#define PB_ANONYMOUS_ONEOF_POINTER(u, tag, st, m, fd, ltype, ptr) \
-    {tag, PB_ATYPE_POINTER | PB_HTYPE_ONEOF | ltype, \
-    fd, pb_delta(st, which_ ## u, m), \
-    pb_membersize(st, m[0]), 0, ptr}
-
-#define PB_ANONYMOUS_ONEOF_FIELD(union_name, tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
-        PB_ANONYMOUS_ONEOF_ ## allocation(union_name, tag, message, field, \
-        PB_DATAOFFSET_ ## placement(message, field, prevfield), \
-        PB_LTYPE_MAP_ ## type, ptr)
-
-/* These macros are used for giving out error messages.
- * They are mostly a debugging aid; the main error information
- * is the true/false return value from functions.
- * Some code space can be saved by disabling the error
- * messages if not used.
- *
- * PB_SET_ERROR() sets the error message if none has been set yet.
- *                msg must be a constant string literal.
- * PB_GET_ERROR() always returns a pointer to a string.
- * PB_RETURN_ERROR() sets the error and returns false from current
- *                   function.
- */
-#ifdef PB_NO_ERRMSG
-#define PB_SET_ERROR(stream, msg) PB_UNUSED(stream)
-#define PB_GET_ERROR(stream) "(errmsg disabled)"
-#else
-#define PB_SET_ERROR(stream, msg) (stream->errmsg = (stream)->errmsg ? (stream)->errmsg : (msg))
-#define PB_GET_ERROR(stream) ((stream)->errmsg ? (stream)->errmsg : "(none)")
-#endif
-
-#define PB_RETURN_ERROR(stream, msg) return PB_SET_ERROR(stream, msg), false
-
-#endif
diff --git a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Info.plist b/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Info.plist
deleted file mode 100644
index 06efca9..0000000
--- a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleExecutable</key>
-	<string>nanopb</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.firebase.Firebase-nanopb</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>nanopb</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleVersion</key>
-	<string>2.30908.0</string>
-	<key>DTSDKName</key>
-	<string>iphonesimulator11.2</string>
-</dict>
-</plist>
diff --git a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/nanopb b/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/nanopb
deleted file mode 100644
index f2a685d..0000000
--- a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/nanopb
+++ /dev/null
Binary files differ
diff --git a/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/Headers/pb.h b/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/Headers/pb.h
index 236e894..0a98d3c 100644
--- a/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/Headers/pb.h
+++ b/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/Headers/pb.h
@@ -51,7 +51,7 @@
 
 /* Version of the nanopb library. Just in case you want to check it in
  * your own program. */
-#define NANOPB_VERSION nanopb-0.3.9.8
+#define NANOPB_VERSION nanopb-0.3.9.9
 
 /* Include all the system headers needed by nanopb. You will need the
  * definitions of the following:
diff --git a/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/Info.plist b/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/Info.plist
index 06efca9..f480d0f 100644
--- a/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/Info.plist
+++ b/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>2.30908.0</string>
+	<string>2.30909.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/nanopb b/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/nanopb
index ccde074..42b860c 100644
--- a/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/nanopb
+++ b/frameworks/nanopb.xcframework/ios-arm64_x86_64-maccatalyst/nanopb.framework/nanopb
Binary files differ
diff --git a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/nanopb-umbrella.h b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/nanopb-umbrella.h
similarity index 100%
rename from frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/nanopb-umbrella.h
rename to frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/nanopb-umbrella.h
diff --git a/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb.h b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb.h
new file mode 100644
index 0000000..0a98d3c
--- /dev/null
+++ b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb.h
@@ -0,0 +1,599 @@
+/* Common parts of the nanopb library. Most of these are quite low-level
+ * stuff. For the high-level interface, see pb_encode.h and pb_decode.h.
+ */
+
+#ifndef PB_H_INCLUDED
+#define PB_H_INCLUDED
+
+/*****************************************************************
+ * Nanopb compilation time options. You can change these here by *
+ * uncommenting the lines, or on the compiler command line.      *
+ *****************************************************************/
+
+/* Enable support for dynamically allocated fields */
+/* #define PB_ENABLE_MALLOC 1 */
+
+/* Define this if your CPU / compiler combination does not support
+ * unaligned memory access to packed structures. */
+/* #define PB_NO_PACKED_STRUCTS 1 */
+
+/* Increase the number of required fields that are tracked.
+ * A compiler warning will tell if you need this. */
+/* #define PB_MAX_REQUIRED_FIELDS 256 */
+
+/* Add support for tag numbers > 255 and fields larger than 255 bytes. */
+/* #define PB_FIELD_16BIT 1 */
+
+/* Add support for tag numbers > 65536 and fields larger than 65536 bytes. */
+/* #define PB_FIELD_32BIT 1 */
+
+/* Disable support for error messages in order to save some code space. */
+/* #define PB_NO_ERRMSG 1 */
+
+/* Disable support for custom streams (support only memory buffers). */
+/* #define PB_BUFFER_ONLY 1 */
+
+/* Switch back to the old-style callback function signature.
+ * This was the default until nanopb-0.2.1. */
+/* #define PB_OLD_CALLBACK_STYLE */
+
+
+/* Don't encode scalar arrays as packed. This is only to be used when
+ * the decoder on the receiving side cannot process packed scalar arrays.
+ * Such example is older protobuf.js. */
+/* #define PB_ENCODE_ARRAYS_UNPACKED 1 */
+
+/******************************************************************
+ * You usually don't need to change anything below this line.     *
+ * Feel free to look around and use the defined macros, though.   *
+ ******************************************************************/
+
+
+/* Version of the nanopb library. Just in case you want to check it in
+ * your own program. */
+#define NANOPB_VERSION nanopb-0.3.9.9
+
+/* Include all the system headers needed by nanopb. You will need the
+ * definitions of the following:
+ * - strlen, memcpy, memset functions
+ * - [u]int_least8_t, uint_fast8_t, [u]int_least16_t, [u]int32_t, [u]int64_t
+ * - size_t
+ * - bool
+ *
+ * If you don't have the standard header files, you can instead provide
+ * a custom header that defines or includes all this. In that case,
+ * define PB_SYSTEM_HEADER to the path of this file.
+ */
+#ifdef PB_SYSTEM_HEADER
+#include PB_SYSTEM_HEADER
+#else
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <string.h>
+
+#ifdef PB_ENABLE_MALLOC
+#include <stdlib.h>
+#endif
+#endif
+
+/* Macro for defining packed structures (compiler dependent).
+ * This just reduces memory requirements, but is not required.
+ */
+#if defined(PB_NO_PACKED_STRUCTS)
+    /* Disable struct packing */
+#   define PB_PACKED_STRUCT_START
+#   define PB_PACKED_STRUCT_END
+#   define pb_packed
+#elif defined(__GNUC__) || defined(__clang__)
+    /* For GCC and clang */
+#   define PB_PACKED_STRUCT_START
+#   define PB_PACKED_STRUCT_END
+#   define pb_packed __attribute__((packed))
+#elif defined(__ICCARM__) || defined(__CC_ARM)
+    /* For IAR ARM and Keil MDK-ARM compilers */
+#   define PB_PACKED_STRUCT_START _Pragma("pack(push, 1)")
+#   define PB_PACKED_STRUCT_END _Pragma("pack(pop)")
+#   define pb_packed
+#elif defined(_MSC_VER) && (_MSC_VER >= 1500)
+    /* For Microsoft Visual C++ */
+#   define PB_PACKED_STRUCT_START __pragma(pack(push, 1))
+#   define PB_PACKED_STRUCT_END __pragma(pack(pop))
+#   define pb_packed
+#else
+    /* Unknown compiler */
+#   define PB_PACKED_STRUCT_START
+#   define PB_PACKED_STRUCT_END
+#   define pb_packed
+#endif
+
+/* Handly macro for suppressing unreferenced-parameter compiler warnings. */
+#ifndef PB_UNUSED
+#define PB_UNUSED(x) (void)(x)
+#endif
+
+/* Compile-time assertion, used for checking compatible compilation options.
+ * If this does not work properly on your compiler, use
+ * #define PB_NO_STATIC_ASSERT to disable it.
+ *
+ * But before doing that, check carefully the error message / place where it
+ * comes from to see if the error has a real cause. Unfortunately the error
+ * message is not always very clear to read, but you can see the reason better
+ * in the place where the PB_STATIC_ASSERT macro was called.
+ */
+#ifndef PB_NO_STATIC_ASSERT
+#ifndef PB_STATIC_ASSERT
+#define PB_STATIC_ASSERT(COND,MSG) typedef char PB_STATIC_ASSERT_MSG(MSG, __LINE__, __COUNTER__)[(COND)?1:-1];
+#define PB_STATIC_ASSERT_MSG(MSG, LINE, COUNTER) PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER)
+#define PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER) pb_static_assertion_##MSG##LINE##COUNTER
+#endif
+#else
+#define PB_STATIC_ASSERT(COND,MSG)
+#endif
+
+/* Number of required fields to keep track of. */
+#ifndef PB_MAX_REQUIRED_FIELDS
+#define PB_MAX_REQUIRED_FIELDS 64
+#endif
+
+#if PB_MAX_REQUIRED_FIELDS < 64
+#error You should not lower PB_MAX_REQUIRED_FIELDS from the default value (64).
+#endif
+
+/* List of possible field types. These are used in the autogenerated code.
+ * Least-significant 4 bits tell the scalar type
+ * Most-significant 4 bits specify repeated/required/packed etc.
+ */
+
+typedef uint_least8_t pb_type_t;
+
+/**** Field data types ****/
+
+/* Numeric types */
+#define PB_LTYPE_BOOL    0x00 /* bool */
+#define PB_LTYPE_VARINT  0x01 /* int32, int64, enum, bool */
+#define PB_LTYPE_UVARINT 0x02 /* uint32, uint64 */
+#define PB_LTYPE_SVARINT 0x03 /* sint32, sint64 */
+#define PB_LTYPE_FIXED32 0x04 /* fixed32, sfixed32, float */
+#define PB_LTYPE_FIXED64 0x05 /* fixed64, sfixed64, double */
+
+/* Marker for last packable field type. */
+#define PB_LTYPE_LAST_PACKABLE 0x05
+
+/* Byte array with pre-allocated buffer.
+ * data_size is the length of the allocated PB_BYTES_ARRAY structure. */
+#define PB_LTYPE_BYTES 0x06
+
+/* String with pre-allocated buffer.
+ * data_size is the maximum length. */
+#define PB_LTYPE_STRING 0x07
+
+/* Submessage
+ * submsg_fields is pointer to field descriptions */
+#define PB_LTYPE_SUBMESSAGE 0x08
+
+/* Extension pseudo-field
+ * The field contains a pointer to pb_extension_t */
+#define PB_LTYPE_EXTENSION 0x09
+
+/* Byte array with inline, pre-allocated byffer.
+ * data_size is the length of the inline, allocated buffer.
+ * This differs from PB_LTYPE_BYTES by defining the element as
+ * pb_byte_t[data_size] rather than pb_bytes_array_t. */
+#define PB_LTYPE_FIXED_LENGTH_BYTES 0x0A
+
+/* Number of declared LTYPES */
+#define PB_LTYPES_COUNT 0x0B
+#define PB_LTYPE_MASK 0x0F
+
+/**** Field repetition rules ****/
+
+#define PB_HTYPE_REQUIRED 0x00
+#define PB_HTYPE_OPTIONAL 0x10
+#define PB_HTYPE_REPEATED 0x20
+#define PB_HTYPE_ONEOF    0x30
+#define PB_HTYPE_MASK     0x30
+
+/**** Field allocation types ****/
+ 
+#define PB_ATYPE_STATIC   0x00
+#define PB_ATYPE_POINTER  0x80
+#define PB_ATYPE_CALLBACK 0x40
+#define PB_ATYPE_MASK     0xC0
+
+#define PB_ATYPE(x) ((x) & PB_ATYPE_MASK)
+#define PB_HTYPE(x) ((x) & PB_HTYPE_MASK)
+#define PB_LTYPE(x) ((x) & PB_LTYPE_MASK)
+
+/* Data type used for storing sizes of struct fields
+ * and array counts.
+ */
+#if defined(PB_FIELD_32BIT)
+    typedef uint32_t pb_size_t;
+    typedef int32_t pb_ssize_t;
+#elif defined(PB_FIELD_16BIT)
+    typedef uint_least16_t pb_size_t;
+    typedef int_least16_t pb_ssize_t;
+#else
+    typedef uint_least8_t pb_size_t;
+    typedef int_least8_t pb_ssize_t;
+#endif
+#define PB_SIZE_MAX ((pb_size_t)-1)
+
+/* Data type for storing encoded data and other byte streams.
+ * This typedef exists to support platforms where uint8_t does not exist.
+ * You can regard it as equivalent on uint8_t on other platforms.
+ */
+typedef uint_least8_t pb_byte_t;
+
+/* This structure is used in auto-generated constants
+ * to specify struct fields.
+ * You can change field sizes if you need structures
+ * larger than 256 bytes or field tags larger than 256.
+ * The compiler should complain if your .proto has such
+ * structures. Fix that by defining PB_FIELD_16BIT or
+ * PB_FIELD_32BIT.
+ */
+PB_PACKED_STRUCT_START
+typedef struct pb_field_s pb_field_t;
+struct pb_field_s {
+    pb_size_t tag;
+    pb_type_t type;
+    pb_size_t data_offset; /* Offset of field data, relative to previous field. */
+    pb_ssize_t size_offset; /* Offset of array size or has-boolean, relative to data */
+    pb_size_t data_size; /* Data size in bytes for a single item */
+    pb_size_t array_size; /* Maximum number of entries in array */
+    
+    /* Field definitions for submessage
+     * OR default value for all other non-array, non-callback types
+     * If null, then field will zeroed. */
+    const void *ptr;
+} pb_packed;
+PB_PACKED_STRUCT_END
+
+/* Make sure that the standard integer types are of the expected sizes.
+ * Otherwise fixed32/fixed64 fields can break.
+ *
+ * If you get errors here, it probably means that your stdint.h is not
+ * correct for your platform.
+ */
+#ifndef PB_WITHOUT_64BIT
+PB_STATIC_ASSERT(sizeof(int64_t) == 2 * sizeof(int32_t), INT64_T_WRONG_SIZE)
+PB_STATIC_ASSERT(sizeof(uint64_t) == 2 * sizeof(uint32_t), UINT64_T_WRONG_SIZE)
+#endif
+
+/* This structure is used for 'bytes' arrays.
+ * It has the number of bytes in the beginning, and after that an array.
+ * Note that actual structs used will have a different length of bytes array.
+ */
+#define PB_BYTES_ARRAY_T(n) struct { pb_size_t size; pb_byte_t bytes[n]; }
+#define PB_BYTES_ARRAY_T_ALLOCSIZE(n) ((size_t)n + offsetof(pb_bytes_array_t, bytes))
+
+struct pb_bytes_array_s {
+    pb_size_t size;
+    pb_byte_t bytes[1];
+};
+typedef struct pb_bytes_array_s pb_bytes_array_t;
+
+/* This structure is used for giving the callback function.
+ * It is stored in the message structure and filled in by the method that
+ * calls pb_decode.
+ *
+ * The decoding callback will be given a limited-length stream
+ * If the wire type was string, the length is the length of the string.
+ * If the wire type was a varint/fixed32/fixed64, the length is the length
+ * of the actual value.
+ * The function may be called multiple times (especially for repeated types,
+ * but also otherwise if the message happens to contain the field multiple
+ * times.)
+ *
+ * The encoding callback will receive the actual output stream.
+ * It should write all the data in one call, including the field tag and
+ * wire type. It can write multiple fields.
+ *
+ * The callback can be null if you want to skip a field.
+ */
+typedef struct pb_istream_s pb_istream_t;
+typedef struct pb_ostream_s pb_ostream_t;
+typedef struct pb_callback_s pb_callback_t;
+struct pb_callback_s {
+#ifdef PB_OLD_CALLBACK_STYLE
+    /* Deprecated since nanopb-0.2.1 */
+    union {
+        bool (*decode)(pb_istream_t *stream, const pb_field_t *field, void *arg);
+        bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, const void *arg);
+    } funcs;
+#else
+    /* New function signature, which allows modifying arg contents in callback. */
+    union {
+        bool (*decode)(pb_istream_t *stream, const pb_field_t *field, void **arg);
+        bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, void * const *arg);
+    } funcs;
+#endif    
+    
+    /* Free arg for use by callback */
+    void *arg;
+};
+
+/* Wire types. Library user needs these only in encoder callbacks. */
+typedef enum {
+    PB_WT_VARINT = 0,
+    PB_WT_64BIT  = 1,
+    PB_WT_STRING = 2,
+    PB_WT_32BIT  = 5
+} pb_wire_type_t;
+
+/* Structure for defining the handling of unknown/extension fields.
+ * Usually the pb_extension_type_t structure is automatically generated,
+ * while the pb_extension_t structure is created by the user. However,
+ * if you want to catch all unknown fields, you can also create a custom
+ * pb_extension_type_t with your own callback.
+ */
+typedef struct pb_extension_type_s pb_extension_type_t;
+typedef struct pb_extension_s pb_extension_t;
+struct pb_extension_type_s {
+    /* Called for each unknown field in the message.
+     * If you handle the field, read off all of its data and return true.
+     * If you do not handle the field, do not read anything and return true.
+     * If you run into an error, return false.
+     * Set to NULL for default handler.
+     */
+    bool (*decode)(pb_istream_t *stream, pb_extension_t *extension,
+                   uint32_t tag, pb_wire_type_t wire_type);
+    
+    /* Called once after all regular fields have been encoded.
+     * If you have something to write, do so and return true.
+     * If you do not have anything to write, just return true.
+     * If you run into an error, return false.
+     * Set to NULL for default handler.
+     */
+    bool (*encode)(pb_ostream_t *stream, const pb_extension_t *extension);
+    
+    /* Free field for use by the callback. */
+    const void *arg;
+};
+
+struct pb_extension_s {
+    /* Type describing the extension field. Usually you'll initialize
+     * this to a pointer to the automatically generated structure. */
+    const pb_extension_type_t *type;
+    
+    /* Destination for the decoded data. This must match the datatype
+     * of the extension field. */
+    void *dest;
+    
+    /* Pointer to the next extension handler, or NULL.
+     * If this extension does not match a field, the next handler is
+     * automatically called. */
+    pb_extension_t *next;
+
+    /* The decoder sets this to true if the extension was found.
+     * Ignored for encoding. */
+    bool found;
+};
+
+/* Memory allocation functions to use. You can define pb_realloc and
+ * pb_free to custom functions if you want. */
+#ifdef PB_ENABLE_MALLOC
+#   ifndef pb_realloc
+#       define pb_realloc(ptr, size) realloc(ptr, size)
+#   endif
+#   ifndef pb_free
+#       define pb_free(ptr) free(ptr)
+#   endif
+#endif
+
+/* This is used to inform about need to regenerate .pb.h/.pb.c files. */
+#define PB_PROTO_HEADER_VERSION 30
+
+/* These macros are used to declare pb_field_t's in the constant array. */
+/* Size of a structure member, in bytes. */
+#define pb_membersize(st, m) (sizeof ((st*)0)->m)
+/* Number of entries in an array. */
+#define pb_arraysize(st, m) (pb_membersize(st, m) / pb_membersize(st, m[0]))
+/* Delta from start of one member to the start of another member. */
+#define pb_delta(st, m1, m2) ((int)offsetof(st, m1) - (int)offsetof(st, m2))
+/* Marks the end of the field list */
+#define PB_LAST_FIELD {0,(pb_type_t) 0,0,0,0,0,0}
+
+/* Macros for filling in the data_offset field */
+/* data_offset for first field in a message */
+#define PB_DATAOFFSET_FIRST(st, m1, m2) (offsetof(st, m1))
+/* data_offset for subsequent fields */
+#define PB_DATAOFFSET_OTHER(st, m1, m2) (offsetof(st, m1) - offsetof(st, m2) - pb_membersize(st, m2))
+/* data offset for subsequent fields inside an union (oneof) */
+#define PB_DATAOFFSET_UNION(st, m1, m2) (PB_SIZE_MAX)
+/* Choose first/other based on m1 == m2 (deprecated, remains for backwards compatibility) */
+#define PB_DATAOFFSET_CHOOSE(st, m1, m2) (int)(offsetof(st, m1) == offsetof(st, m2) \
+                                  ? PB_DATAOFFSET_FIRST(st, m1, m2) \
+                                  : PB_DATAOFFSET_OTHER(st, m1, m2))
+
+/* Required fields are the simplest. They just have delta (padding) from
+ * previous field end, and the size of the field. Pointer is used for
+ * submessages and default values.
+ */
+#define PB_REQUIRED_STATIC(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_REQUIRED | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+
+/* Optional fields add the delta to the has_ variable. */
+#define PB_OPTIONAL_STATIC(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_OPTIONAL | ltype, \
+    fd, \
+    pb_delta(st, has_ ## m, m), \
+    pb_membersize(st, m), 0, ptr}
+
+#define PB_SINGULAR_STATIC(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_OPTIONAL | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+
+/* Repeated fields have a _count field and also the maximum number of entries. */
+#define PB_REPEATED_STATIC(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_REPEATED | ltype, \
+    fd, \
+    pb_delta(st, m ## _count, m), \
+    pb_membersize(st, m[0]), \
+    pb_arraysize(st, m), ptr}
+
+/* Allocated fields carry the size of the actual data, not the pointer */
+#define PB_REQUIRED_POINTER(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_REQUIRED | ltype, \
+    fd, 0, pb_membersize(st, m[0]), 0, ptr}
+
+/* Optional fields don't need a has_ variable, as information would be redundant */
+#define PB_OPTIONAL_POINTER(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_OPTIONAL | ltype, \
+    fd, 0, pb_membersize(st, m[0]), 0, ptr}
+
+/* Same as optional fields*/
+#define PB_SINGULAR_POINTER(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_OPTIONAL | ltype, \
+    fd, 0, pb_membersize(st, m[0]), 0, ptr}
+
+/* Repeated fields have a _count field and a pointer to array of pointers */
+#define PB_REPEATED_POINTER(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_REPEATED | ltype, \
+    fd, pb_delta(st, m ## _count, m), \
+    pb_membersize(st, m[0]), 0, ptr}
+
+/* Callbacks are much like required fields except with special datatype. */
+#define PB_REQUIRED_CALLBACK(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_REQUIRED | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+
+#define PB_OPTIONAL_CALLBACK(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_OPTIONAL | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+
+#define PB_SINGULAR_CALLBACK(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_OPTIONAL | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+    
+#define PB_REPEATED_CALLBACK(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_CALLBACK | PB_HTYPE_REPEATED | ltype, \
+    fd, 0, pb_membersize(st, m), 0, ptr}
+
+/* Optional extensions don't have the has_ field, as that would be redundant.
+ * Furthermore, the combination of OPTIONAL without has_ field is used
+ * for indicating proto3 style fields. Extensions exist in proto2 mode only,
+ * so they should be encoded according to proto2 rules. To avoid the conflict,
+ * extensions are marked as REQUIRED instead.
+ */
+#define PB_OPTEXT_STATIC(tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_REQUIRED | ltype, \
+    0, \
+    0, \
+    pb_membersize(st, m), 0, ptr}
+
+#define PB_OPTEXT_POINTER(tag, st, m, fd, ltype, ptr) \
+    PB_OPTIONAL_POINTER(tag, st, m, fd, ltype, ptr)
+
+#define PB_OPTEXT_CALLBACK(tag, st, m, fd, ltype, ptr) \
+    PB_OPTIONAL_CALLBACK(tag, st, m, fd, ltype, ptr)
+
+/* The mapping from protobuf types to LTYPEs is done using these macros. */
+#define PB_LTYPE_MAP_BOOL               PB_LTYPE_BOOL
+#define PB_LTYPE_MAP_BYTES              PB_LTYPE_BYTES
+#define PB_LTYPE_MAP_DOUBLE             PB_LTYPE_FIXED64
+#define PB_LTYPE_MAP_ENUM               PB_LTYPE_VARINT
+#define PB_LTYPE_MAP_UENUM              PB_LTYPE_UVARINT
+#define PB_LTYPE_MAP_FIXED32            PB_LTYPE_FIXED32
+#define PB_LTYPE_MAP_FIXED64            PB_LTYPE_FIXED64
+#define PB_LTYPE_MAP_FLOAT              PB_LTYPE_FIXED32
+#define PB_LTYPE_MAP_INT32              PB_LTYPE_VARINT
+#define PB_LTYPE_MAP_INT64              PB_LTYPE_VARINT
+#define PB_LTYPE_MAP_MESSAGE            PB_LTYPE_SUBMESSAGE
+#define PB_LTYPE_MAP_SFIXED32           PB_LTYPE_FIXED32
+#define PB_LTYPE_MAP_SFIXED64           PB_LTYPE_FIXED64
+#define PB_LTYPE_MAP_SINT32             PB_LTYPE_SVARINT
+#define PB_LTYPE_MAP_SINT64             PB_LTYPE_SVARINT
+#define PB_LTYPE_MAP_STRING             PB_LTYPE_STRING
+#define PB_LTYPE_MAP_UINT32             PB_LTYPE_UVARINT
+#define PB_LTYPE_MAP_UINT64             PB_LTYPE_UVARINT
+#define PB_LTYPE_MAP_EXTENSION          PB_LTYPE_EXTENSION
+#define PB_LTYPE_MAP_FIXED_LENGTH_BYTES PB_LTYPE_FIXED_LENGTH_BYTES
+
+/* This is the actual macro used in field descriptions.
+ * It takes these arguments:
+ * - Field tag number
+ * - Field type:   BOOL, BYTES, DOUBLE, ENUM, UENUM, FIXED32, FIXED64,
+ *                 FLOAT, INT32, INT64, MESSAGE, SFIXED32, SFIXED64
+ *                 SINT32, SINT64, STRING, UINT32, UINT64 or EXTENSION
+ * - Field rules:  REQUIRED, OPTIONAL or REPEATED
+ * - Allocation:   STATIC, CALLBACK or POINTER
+ * - Placement: FIRST or OTHER, depending on if this is the first field in structure.
+ * - Message name
+ * - Field name
+ * - Previous field name (or field name again for first field)
+ * - Pointer to default value or submsg fields.
+ */
+
+#define PB_FIELD(tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
+        PB_ ## rules ## _ ## allocation(tag, message, field, \
+        PB_DATAOFFSET_ ## placement(message, field, prevfield), \
+        PB_LTYPE_MAP_ ## type, ptr)
+
+/* Field description for repeated static fixed count fields.*/
+#define PB_REPEATED_FIXED_COUNT(tag, type, placement, message, field, prevfield, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_REPEATED | PB_LTYPE_MAP_ ## type, \
+    PB_DATAOFFSET_ ## placement(message, field, prevfield), \
+    0, \
+    pb_membersize(message, field[0]), \
+    pb_arraysize(message, field), ptr}
+
+/* Field description for oneof fields. This requires taking into account the
+ * union name also, that's why a separate set of macros is needed.
+ */
+#define PB_ONEOF_STATIC(u, tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_ONEOF | ltype, \
+    fd, pb_delta(st, which_ ## u, u.m), \
+    pb_membersize(st, u.m), 0, ptr}
+
+#define PB_ONEOF_POINTER(u, tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_ONEOF | ltype, \
+    fd, pb_delta(st, which_ ## u, u.m), \
+    pb_membersize(st, u.m[0]), 0, ptr}
+
+#define PB_ONEOF_FIELD(union_name, tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
+        PB_ONEOF_ ## allocation(union_name, tag, message, field, \
+        PB_DATAOFFSET_ ## placement(message, union_name.field, prevfield), \
+        PB_LTYPE_MAP_ ## type, ptr)
+
+#define PB_ANONYMOUS_ONEOF_STATIC(u, tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_STATIC | PB_HTYPE_ONEOF | ltype, \
+    fd, pb_delta(st, which_ ## u, m), \
+    pb_membersize(st, m), 0, ptr}
+
+#define PB_ANONYMOUS_ONEOF_POINTER(u, tag, st, m, fd, ltype, ptr) \
+    {tag, PB_ATYPE_POINTER | PB_HTYPE_ONEOF | ltype, \
+    fd, pb_delta(st, which_ ## u, m), \
+    pb_membersize(st, m[0]), 0, ptr}
+
+#define PB_ANONYMOUS_ONEOF_FIELD(union_name, tag, type, rules, allocation, placement, message, field, prevfield, ptr) \
+        PB_ANONYMOUS_ONEOF_ ## allocation(union_name, tag, message, field, \
+        PB_DATAOFFSET_ ## placement(message, field, prevfield), \
+        PB_LTYPE_MAP_ ## type, ptr)
+
+/* These macros are used for giving out error messages.
+ * They are mostly a debugging aid; the main error information
+ * is the true/false return value from functions.
+ * Some code space can be saved by disabling the error
+ * messages if not used.
+ *
+ * PB_SET_ERROR() sets the error message if none has been set yet.
+ *                msg must be a constant string literal.
+ * PB_GET_ERROR() always returns a pointer to a string.
+ * PB_RETURN_ERROR() sets the error and returns false from current
+ *                   function.
+ */
+#ifdef PB_NO_ERRMSG
+#define PB_SET_ERROR(stream, msg) PB_UNUSED(stream)
+#define PB_GET_ERROR(stream) "(errmsg disabled)"
+#else
+#define PB_SET_ERROR(stream, msg) (stream->errmsg = (stream)->errmsg ? (stream)->errmsg : (msg))
+#define PB_GET_ERROR(stream) ((stream)->errmsg ? (stream)->errmsg : "(none)")
+#endif
+
+#define PB_RETURN_ERROR(stream, msg) return PB_SET_ERROR(stream, msg), false
+
+#endif
diff --git a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/pb_common.h b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb_common.h
similarity index 100%
rename from frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/pb_common.h
rename to frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb_common.h
diff --git a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/pb_decode.h b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb_decode.h
similarity index 100%
rename from frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/pb_decode.h
rename to frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb_decode.h
diff --git a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/pb_encode.h b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb_encode.h
similarity index 100%
rename from frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Headers/pb_encode.h
rename to frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Headers/pb_encode.h
diff --git a/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Info.plist b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Info.plist
new file mode 100644
index 0000000..f480d0f
--- /dev/null
+++ b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleExecutable</key>
+	<string>nanopb</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-nanopb</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>nanopb</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>2.30909.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>
diff --git a/frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Modules/module.modulemap b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Modules/module.modulemap
similarity index 100%
rename from frameworks/nanopb.xcframework/ios-arm64_i386_x86_64-simulator/nanopb.framework/Modules/module.modulemap
rename to frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/Modules/module.modulemap
diff --git a/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/nanopb b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/nanopb
new file mode 100644
index 0000000..d6b1243
--- /dev/null
+++ b/frameworks/nanopb.xcframework/ios-arm64_x86_64-simulator/nanopb.framework/nanopb
Binary files differ
diff --git a/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/Headers/pb.h b/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/Headers/pb.h
index 236e894..0a98d3c 100644
--- a/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/Headers/pb.h
+++ b/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/Headers/pb.h
@@ -51,7 +51,7 @@
 
 /* Version of the nanopb library. Just in case you want to check it in
  * your own program. */
-#define NANOPB_VERSION nanopb-0.3.9.8
+#define NANOPB_VERSION nanopb-0.3.9.9
 
 /* Include all the system headers needed by nanopb. You will need the
  * definitions of the following:
diff --git a/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/Info.plist b/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/Info.plist
index 06efca9..f480d0f 100644
--- a/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/Info.plist
+++ b/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>2.30908.0</string>
+	<string>2.30909.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/nanopb b/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/nanopb
index 743391b..d60aa2d 100644
--- a/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/nanopb
+++ b/frameworks/nanopb.xcframework/macos-arm64_x86_64/nanopb.framework/nanopb
Binary files differ
diff --git a/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/Headers/pb.h b/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/Headers/pb.h
index 236e894..0a98d3c 100644
--- a/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/Headers/pb.h
+++ b/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/Headers/pb.h
@@ -51,7 +51,7 @@
 
 /* Version of the nanopb library. Just in case you want to check it in
  * your own program. */
-#define NANOPB_VERSION nanopb-0.3.9.8
+#define NANOPB_VERSION nanopb-0.3.9.9
 
 /* Include all the system headers needed by nanopb. You will need the
  * definitions of the following:
diff --git a/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/Info.plist b/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/Info.plist
index 06efca9..f480d0f 100644
--- a/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/Info.plist
+++ b/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>2.30908.0</string>
+	<string>2.30909.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/nanopb b/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/nanopb
index b044d02..88ee8a3 100644
--- a/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/nanopb
+++ b/frameworks/nanopb.xcframework/tvos-arm64/nanopb.framework/nanopb
Binary files differ
diff --git a/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/Headers/pb.h b/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/Headers/pb.h
index 236e894..0a98d3c 100644
--- a/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/Headers/pb.h
+++ b/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/Headers/pb.h
@@ -51,7 +51,7 @@
 
 /* Version of the nanopb library. Just in case you want to check it in
  * your own program. */
-#define NANOPB_VERSION nanopb-0.3.9.8
+#define NANOPB_VERSION nanopb-0.3.9.9
 
 /* Include all the system headers needed by nanopb. You will need the
  * definitions of the following:
diff --git a/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/Info.plist b/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/Info.plist
index 06efca9..f480d0f 100644
--- a/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/Info.plist
+++ b/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleVersion</key>
-	<string>2.30908.0</string>
+	<string>2.30909.0</string>
 	<key>DTSDKName</key>
 	<string>iphonesimulator11.2</string>
 </dict>
diff --git a/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/nanopb b/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/nanopb
index ec8ac7c..14ccd4b 100644
--- a/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/nanopb
+++ b/frameworks/nanopb.xcframework/tvos-arm64_x86_64-simulator/nanopb.framework/nanopb
Binary files differ

--
Gitblit v1.8.0