Selaa lähdekoodia

综合 - firebase数据收集接入

wanjun 1 vuosi sitten
vanhempi
commit
4a4922b1f4
100 muutettua tiedostoa jossa 6515 lisäystä ja 6 poistoa
  1. 2 2
      PDF Office/PDF Master DMG/Base.lproj/Main.storyboard
  2. 166 0
      PDF Office/PDF Master.xcodeproj/project.pbxproj
  3. 6 0
      PDF Office/PDF Master/AppDelegate.swift
  4. 5 4
      PDF Office/PDF Master/Class/ChromiumTabs/KMBrowserWindowController.xib
  5. 16 0
      PDF Office/PDF Master/Info.plist
  6. BIN
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/FirebaseAnalytics
  7. 60 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
  8. 33 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h
  9. 141 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
  10. 496 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIREventNames.h
  11. 778 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
  12. 28 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
  13. 6 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
  14. 20 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Info.plist
  15. BIN
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/FirebaseCore
  16. 128 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FIRApp.h
  17. 45 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FIRConfiguration.h
  18. 38 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FIRLoggerLevel.h
  19. 132 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FIROptions.h
  20. 25 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FIRVersion.h
  21. 21 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FirebaseCore.h
  22. 20 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Info.plist
  23. BIN
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
  24. 18 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h
  25. 17 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h
  26. 20 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCoreDiagnostics.framework/Info.plist
  27. BIN
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/FirebaseInstallations
  28. 126 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/Headers/FIRInstallations.h
  29. 33 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h
  30. 34 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h
  31. 19 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/Headers/FirebaseInstallations.h
  32. 20 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/Info.plist
  33. BIN
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleAppMeasurement.framework/GoogleAppMeasurement
  34. 20 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleAppMeasurement.framework/Info.plist
  35. BIN
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport
  36. 20 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleAppMeasurementIdentitySupport.framework/Info.plist
  37. BIN
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/GoogleDataTransport
  38. 66 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCORClock.h
  39. 144 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h
  40. 36 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h
  41. 87 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCOREvent.h
  42. 36 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h
  43. 38 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h
  44. 40 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCORTargets.h
  45. 92 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCORTransport.h
  46. 24 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GoogleDataTransport.h
  47. 20 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Info.plist
  48. 36 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleService-Info.plist
  49. BIN
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/GoogleUtilities
  50. 107 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h
  51. 60 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h
  52. 50 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULApplication.h
  53. 40 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h
  54. 54 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h
  55. 51 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h
  56. 79 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULKeychainStorage.h
  57. 61 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULKeychainUtils.h
  58. 159 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULLogger.h
  59. 37 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULLoggerLevel.h
  60. 46 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULMutableDictionary.h
  61. 49 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNSData+zlib.h
  62. 87 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNetwork.h
  63. 71 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNetworkConstants.h
  64. 49 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h
  65. 47 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h
  66. 62 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNetworkURLSession.h
  67. 207 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h
  68. 79 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULReachabilityChecker.h
  69. 76 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h
  70. 36 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULSecureCoding.h
  71. 71 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULSwizzler.h
  72. 31 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h
  73. 110 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULUserDefaults.h
  74. 41 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h
  75. 37 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h
  76. 20 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Info.plist
  77. 63 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+All.h
  78. 54 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Always.h
  79. 69 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Any.h
  80. 60 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Async.h
  81. 32 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Await.h
  82. 59 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Catch.h
  83. 59 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Delay.h
  84. 55 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Do.h
  85. 62 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Race.h
  86. 60 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Recover.h
  87. 71 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Reduce.h
  88. 165 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Retry.h
  89. 57 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Testing.h
  90. 63 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Then.h
  91. 57 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Timeout.h
  92. 60 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Validate.h
  93. 316 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Wrap.h
  94. 93 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise.h
  95. 43 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromiseError.h
  96. 32 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromises.h
  97. 36 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h
  98. 20 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Info.plist
  99. BIN
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/PromisesObjC
  100. 0 0
      PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/nanopb.framework/Headers/nanopb-umbrella.h

+ 2 - 2
PDF Office/PDF Master DMG/Base.lproj/Main.storyboard

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
+<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <scenes>

+ 166 - 0
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -401,6 +401,41 @@
 		9F00CCC62A2F2E2400AC462E /* AppCenterAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CCC32A2F2E2400AC462E /* AppCenterAnalytics.framework */; };
 		9F00CCC72A2F2E2400AC462E /* AppCenterCrashes.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CCC42A2F2E2400AC462E /* AppCenterCrashes.framework */; };
 		9F00CCEF2A309E8E00AC462E /* KMEditImagePropertyViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89E9B405295D268E00AEFA61 /* KMEditImagePropertyViewController.xib */; };
+		9F00CF4D2A38655500AC462E /* FirebaseCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF4B2A38655300AC462E /* FirebaseCore.framework */; };
+		9F00CF4E2A38655500AC462E /* FirebaseCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF4B2A38655300AC462E /* FirebaseCore.framework */; };
+		9F00CF4F2A38655500AC462E /* FirebaseCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF4B2A38655300AC462E /* FirebaseCore.framework */; };
+		9F00CF502A38655500AC462E /* FirebaseAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF4C2A38655300AC462E /* FirebaseAnalytics.framework */; };
+		9F00CF512A38655500AC462E /* FirebaseAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF4C2A38655300AC462E /* FirebaseAnalytics.framework */; };
+		9F00CF522A38655500AC462E /* FirebaseAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF4C2A38655300AC462E /* FirebaseAnalytics.framework */; };
+		9F00CF542A38657400AC462E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9F00CF532A38657200AC462E /* GoogleService-Info.plist */; };
+		9F00CF552A38657400AC462E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9F00CF532A38657200AC462E /* GoogleService-Info.plist */; };
+		9F00CF562A38657400AC462E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9F00CF532A38657200AC462E /* GoogleService-Info.plist */; };
+		9F00CF582A3866E800AC462E /* GoogleUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF572A3866E800AC462E /* GoogleUtilities.framework */; };
+		9F00CF592A3866E900AC462E /* GoogleUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF572A3866E800AC462E /* GoogleUtilities.framework */; };
+		9F00CF5A2A3866E900AC462E /* GoogleUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF572A3866E800AC462E /* GoogleUtilities.framework */; };
+		9F00CF5C2A386B3F00AC462E /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF5B2A386B3D00AC462E /* SystemConfiguration.framework */; };
+		9F00CF5E2A386B8000AC462E /* libsqlite3.0.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF5D2A386B6200AC462E /* libsqlite3.0.tbd */; };
+		9F00CF602A386C7400AC462E /* FirebaseInstallations.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF5F2A386C7400AC462E /* FirebaseInstallations.framework */; };
+		9F00CF612A386C7400AC462E /* FirebaseInstallations.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF5F2A386C7400AC462E /* FirebaseInstallations.framework */; };
+		9F00CF622A386C7400AC462E /* FirebaseInstallations.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF5F2A386C7400AC462E /* FirebaseInstallations.framework */; };
+		9F00CF672A386D8D00AC462E /* nanopb.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF632A386D8C00AC462E /* nanopb.framework */; };
+		9F00CF682A386D8D00AC462E /* nanopb.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF632A386D8C00AC462E /* nanopb.framework */; };
+		9F00CF692A386D8D00AC462E /* nanopb.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF632A386D8C00AC462E /* nanopb.framework */; };
+		9F00CF6D2A386D8D00AC462E /* PromisesObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF652A386D8C00AC462E /* PromisesObjC.framework */; };
+		9F00CF6E2A386D8D00AC462E /* PromisesObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF652A386D8C00AC462E /* PromisesObjC.framework */; };
+		9F00CF6F2A386D8D00AC462E /* PromisesObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF652A386D8C00AC462E /* PromisesObjC.framework */; };
+		9F00CF772A386DC400AC462E /* GoogleAppMeasurement.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF732A386DC400AC462E /* GoogleAppMeasurement.framework */; };
+		9F00CF782A386DC400AC462E /* GoogleAppMeasurement.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF732A386DC400AC462E /* GoogleAppMeasurement.framework */; };
+		9F00CF792A386DC400AC462E /* GoogleAppMeasurement.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF732A386DC400AC462E /* GoogleAppMeasurement.framework */; };
+		9F00CF7A2A386DC400AC462E /* FirebaseCoreDiagnostics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF742A386DC400AC462E /* FirebaseCoreDiagnostics.framework */; };
+		9F00CF7B2A386DC500AC462E /* FirebaseCoreDiagnostics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF742A386DC400AC462E /* FirebaseCoreDiagnostics.framework */; };
+		9F00CF7C2A386DC500AC462E /* FirebaseCoreDiagnostics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF742A386DC400AC462E /* FirebaseCoreDiagnostics.framework */; };
+		9F00CF7D2A386DC500AC462E /* GoogleAppMeasurementIdentitySupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF752A386DC400AC462E /* GoogleAppMeasurementIdentitySupport.framework */; };
+		9F00CF7E2A386DC500AC462E /* GoogleAppMeasurementIdentitySupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF752A386DC400AC462E /* GoogleAppMeasurementIdentitySupport.framework */; };
+		9F00CF7F2A386DC500AC462E /* GoogleAppMeasurementIdentitySupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF752A386DC400AC462E /* GoogleAppMeasurementIdentitySupport.framework */; };
+		9F00CF802A386DC500AC462E /* GoogleDataTransport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF762A386DC400AC462E /* GoogleDataTransport.framework */; };
+		9F00CF812A386DC500AC462E /* GoogleDataTransport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF762A386DC400AC462E /* GoogleDataTransport.framework */; };
+		9F00CF822A386DC500AC462E /* GoogleDataTransport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CF762A386DC400AC462E /* GoogleDataTransport.framework */; };
 		9F0201652A176AF200C9B673 /* KMDottedLineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F0201642A176AF200C9B673 /* KMDottedLineView.swift */; };
 		9F0201662A176AF200C9B673 /* KMDottedLineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F0201642A176AF200C9B673 /* KMDottedLineView.swift */; };
 		9F0201672A176AF200C9B673 /* KMDottedLineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F0201642A176AF200C9B673 /* KMDottedLineView.swift */; };
@@ -3655,6 +3690,19 @@
 		9F00CCC22A2F2E2300AC462E /* AppCenter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AppCenter.framework; sourceTree = "<group>"; };
 		9F00CCC32A2F2E2400AC462E /* AppCenterAnalytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AppCenterAnalytics.framework; sourceTree = "<group>"; };
 		9F00CCC42A2F2E2400AC462E /* AppCenterCrashes.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AppCenterCrashes.framework; sourceTree = "<group>"; };
+		9F00CF4B2A38655300AC462E /* FirebaseCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseCore.framework; sourceTree = "<group>"; };
+		9F00CF4C2A38655300AC462E /* FirebaseAnalytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseAnalytics.framework; sourceTree = "<group>"; };
+		9F00CF532A38657200AC462E /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
+		9F00CF572A3866E800AC462E /* GoogleUtilities.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GoogleUtilities.framework; sourceTree = "<group>"; };
+		9F00CF5B2A386B3D00AC462E /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
+		9F00CF5D2A386B6200AC462E /* libsqlite3.0.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.0.tbd; path = usr/lib/libsqlite3.0.tbd; sourceTree = SDKROOT; };
+		9F00CF5F2A386C7400AC462E /* FirebaseInstallations.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseInstallations.framework; sourceTree = "<group>"; };
+		9F00CF632A386D8C00AC462E /* nanopb.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = nanopb.framework; sourceTree = "<group>"; };
+		9F00CF652A386D8C00AC462E /* PromisesObjC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = PromisesObjC.framework; sourceTree = "<group>"; };
+		9F00CF732A386DC400AC462E /* GoogleAppMeasurement.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GoogleAppMeasurement.framework; sourceTree = "<group>"; };
+		9F00CF742A386DC400AC462E /* FirebaseCoreDiagnostics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseCoreDiagnostics.framework; sourceTree = "<group>"; };
+		9F00CF752A386DC400AC462E /* GoogleAppMeasurementIdentitySupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GoogleAppMeasurementIdentitySupport.framework; sourceTree = "<group>"; };
+		9F00CF762A386DC400AC462E /* GoogleDataTransport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GoogleDataTransport.framework; sourceTree = "<group>"; };
 		9F0201642A176AF200C9B673 /* KMDottedLineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMDottedLineView.swift; sourceTree = "<group>"; };
 		9F0201682A1B088700C9B673 /* KMAIOpenPDFFilesVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMAIOpenPDFFilesVC.swift; sourceTree = "<group>"; };
 		9F0201692A1B088700C9B673 /* KMAIOpenPDFFilesVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMAIOpenPDFFilesVC.xib; sourceTree = "<group>"; };
@@ -4898,6 +4946,9 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				9F00CF6D2A386D8D00AC462E /* PromisesObjC.framework in Frameworks */,
+				9F00CF502A38655500AC462E /* FirebaseAnalytics.framework in Frameworks */,
+				9F00CF602A386C7400AC462E /* FirebaseInstallations.framework in Frameworks */,
 				BB9DCC8F2A09FC770024A6F1 /* libonnxruntime.1.12.0.dylib in Frameworks */,
 				BB9DCC892A09FC760024A6F1 /* libopencv_world.4.2.dylib in Frameworks */,
 				BB9DCC802A09FC750024A6F1 /* libopencv_world.dylib in Frameworks */,
@@ -4906,10 +4957,19 @@
 				ADE3C1D529A5A91C00793B13 /* KMAdvertisement.framework in Frameworks */,
 				BB9DCC9C2A0A104E0024A6F1 /* ComDocumentAIKit.framework in Frameworks */,
 				89D9896328FD23AE003A3E87 /* PDFKit.framework in Frameworks */,
+				9F00CF672A386D8D00AC462E /* nanopb.framework in Frameworks */,
+				9F00CF772A386DC400AC462E /* GoogleAppMeasurement.framework in Frameworks */,
+				9F00CF5E2A386B8000AC462E /* libsqlite3.0.tbd in Frameworks */,
 				89752DAB2936ECED003FF08E /* Masonry.framework in Frameworks */,
+				9F00CF7D2A386DC500AC462E /* GoogleAppMeasurementIdentitySupport.framework in Frameworks */,
+				9F00CF5C2A386B3F00AC462E /* SystemConfiguration.framework in Frameworks */,
 				ADA08A8429F1430E009B2A7B /* ComPDFKit.framework in Frameworks */,
 				BB9DCC862A09FC760024A6F1 /* libDocumentAI.dylib in Frameworks */,
+				9F00CF4D2A38655500AC462E /* FirebaseCore.framework in Frameworks */,
+				9F00CF582A3866E800AC462E /* GoogleUtilities.framework in Frameworks */,
 				BB9DCC832A09FC760024A6F1 /* libopencv_world.4.2.0.dylib in Frameworks */,
+				9F00CF7A2A386DC400AC462E /* FirebaseCoreDiagnostics.framework in Frameworks */,
+				9F00CF802A386DC500AC462E /* GoogleDataTransport.framework in Frameworks */,
 				BB9DCC8C2A09FC770024A6F1 /* libpaddle2onnx.1.0.5.dylib in Frameworks */,
 				ADA08A8629F14336009B2A7B /* ComPDFKit_Conversion.framework in Frameworks */,
 			);
@@ -4933,18 +4993,28 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				9F00CF682A386D8D00AC462E /* nanopb.framework in Frameworks */,
+				9F00CF512A38655500AC462E /* FirebaseAnalytics.framework in Frameworks */,
 				BB9DCC902A09FC770024A6F1 /* libonnxruntime.1.12.0.dylib in Frameworks */,
 				BB9DCC8A2A09FC770024A6F1 /* libopencv_world.4.2.dylib in Frameworks */,
 				BB9DCC812A09FC760024A6F1 /* libopencv_world.dylib in Frameworks */,
 				ADE3C1C929A5A75E00793B13 /* AFNetworking.framework in Frameworks */,
+				9F00CF612A386C7400AC462E /* FirebaseInstallations.framework in Frameworks */,
+				9F00CF7B2A386DC500AC462E /* FirebaseCoreDiagnostics.framework in Frameworks */,
 				BBB9B337299A5F35004F3235 /* ObjectiveDropboxOfficial.framework in Frameworks */,
 				ADE3C1D329A5A91600793B13 /* KMAdvertisement.framework in Frameworks */,
 				BB9DCC9A2A0A10410024A6F1 /* ComDocumentAIKit.framework in Frameworks */,
+				9F00CF6E2A386D8D00AC462E /* PromisesObjC.framework in Frameworks */,
+				9F00CF782A386DC400AC462E /* GoogleAppMeasurement.framework in Frameworks */,
 				89D9896428FD23B8003A3E87 /* PDFKit.framework in Frameworks */,
 				ADA08A7E29F13EA0009B2A7B /* ComPDFKit.framework in Frameworks */,
 				89752DA92936ECE9003FF08E /* Masonry.framework in Frameworks */,
 				BB9DCC872A09FC760024A6F1 /* libDocumentAI.dylib in Frameworks */,
+				9F00CF4E2A38655500AC462E /* FirebaseCore.framework in Frameworks */,
+				9F00CF7E2A386DC500AC462E /* GoogleAppMeasurementIdentitySupport.framework in Frameworks */,
+				9F00CF592A3866E900AC462E /* GoogleUtilities.framework in Frameworks */,
 				BB9DCC842A09FC760024A6F1 /* libopencv_world.4.2.0.dylib in Frameworks */,
+				9F00CF812A386DC500AC462E /* GoogleDataTransport.framework in Frameworks */,
 				BB9DCC8D2A09FC770024A6F1 /* libpaddle2onnx.1.0.5.dylib in Frameworks */,
 				ADA08A8229F13EE1009B2A7B /* ComPDFKit_Conversion.framework in Frameworks */,
 			);
@@ -4968,23 +5038,33 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				9F00CF7F2A386DC500AC462E /* GoogleAppMeasurementIdentitySupport.framework in Frameworks */,
 				BB9DCC912A09FC780024A6F1 /* libonnxruntime.1.12.0.dylib in Frameworks */,
+				9F00CF7C2A386DC500AC462E /* FirebaseCoreDiagnostics.framework in Frameworks */,
 				9F00CCC52A2F2E2400AC462E /* AppCenter.framework in Frameworks */,
+				9F00CF6F2A386D8D00AC462E /* PromisesObjC.framework in Frameworks */,
 				BB9DCC8B2A09FC770024A6F1 /* libopencv_world.4.2.dylib in Frameworks */,
+				9F00CF692A386D8D00AC462E /* nanopb.framework in Frameworks */,
 				BB9DCC822A09FC760024A6F1 /* libopencv_world.dylib in Frameworks */,
+				9F00CF522A38655500AC462E /* FirebaseAnalytics.framework in Frameworks */,
 				BBD7FDFB2A13210700F96075 /* AFNetworking.framework in Frameworks */,
+				9F00CF5A2A3866E900AC462E /* GoogleUtilities.framework in Frameworks */,
 				89D9896528FD23BF003A3E87 /* PDFKit.framework in Frameworks */,
 				89752DA72936ECE4003FF08E /* Masonry.framework in Frameworks */,
 				BBD54ECD2A1C53B20012A230 /* ComDocumentAIKit.framework in Frameworks */,
 				9F00CCC02A2F251800AC462E /* Sparkle.framework in Frameworks */,
 				BB9DCC882A09FC760024A6F1 /* libDocumentAI.dylib in Frameworks */,
 				9F00CCC62A2F2E2400AC462E /* AppCenterAnalytics.framework in Frameworks */,
+				9F00CF822A386DC500AC462E /* GoogleDataTransport.framework in Frameworks */,
 				9F00CCC72A2F2E2400AC462E /* AppCenterCrashes.framework in Frameworks */,
 				BB9DCC852A09FC760024A6F1 /* libopencv_world.4.2.0.dylib in Frameworks */,
+				9F00CF792A386DC400AC462E /* GoogleAppMeasurement.framework in Frameworks */,
 				BB9DCC8E2A09FC770024A6F1 /* libpaddle2onnx.1.0.5.dylib in Frameworks */,
 				BBD7FDFF2A13210C00F96075 /* ComPDFKit.framework in Frameworks */,
+				9F00CF622A386C7400AC462E /* FirebaseInstallations.framework in Frameworks */,
 				BB88401E2A132C6B0062446B /* ObjectiveDropboxOfficial.framework in Frameworks */,
 				BBD7FDFD2A13210A00F96075 /* ComPDFKit_Conversion.framework in Frameworks */,
+				9F00CF4F2A38655500AC462E /* FirebaseCore.framework in Frameworks */,
 				BBD7FE012A13211700F96075 /* KMAdvertisement.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -5122,6 +5202,7 @@
 		89752DA22936ECD5003FF08E /* Third Pard Library */ = {
 			isa = PBXGroup;
 			children = (
+				9F00CF4A2A38655300AC462E /* FirebaseAnalytics */,
 				9F00CCC22A2F2E2300AC462E /* AppCenter.framework */,
 				9F00CCC32A2F2E2400AC462E /* AppCenterAnalytics.framework */,
 				9F00CCC42A2F2E2400AC462E /* AppCenterCrashes.framework */,
@@ -5305,6 +5386,8 @@
 		89D9896128FD23AE003A3E87 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				9F00CF5D2A386B6200AC462E /* libsqlite3.0.tbd */,
+				9F00CF5B2A386B3D00AC462E /* SystemConfiguration.framework */,
 				89D9896228FD23AE003A3E87 /* PDFKit.framework */,
 			);
 			name = Frameworks;
@@ -5401,6 +5484,24 @@
 			path = Sparkle;
 			sourceTree = "<group>";
 		};
+		9F00CF4A2A38655300AC462E /* FirebaseAnalytics */ = {
+			isa = PBXGroup;
+			children = (
+				9F00CF762A386DC400AC462E /* GoogleDataTransport.framework */,
+				9F00CF732A386DC400AC462E /* GoogleAppMeasurement.framework */,
+				9F00CF4B2A38655300AC462E /* FirebaseCore.framework */,
+				9F00CF4C2A38655300AC462E /* FirebaseAnalytics.framework */,
+				9F00CF572A3866E800AC462E /* GoogleUtilities.framework */,
+				9F00CF652A386D8C00AC462E /* PromisesObjC.framework */,
+				9F00CF632A386D8C00AC462E /* nanopb.framework */,
+				9F00CF5F2A386C7400AC462E /* FirebaseInstallations.framework */,
+				9F00CF752A386DC400AC462E /* GoogleAppMeasurementIdentitySupport.framework */,
+				9F00CF742A386DC400AC462E /* FirebaseCoreDiagnostics.framework */,
+				9F00CF532A38657200AC462E /* GoogleService-Info.plist */,
+			);
+			path = FirebaseAnalytics;
+			sourceTree = "<group>";
+		};
 		9F080B08298A4BB300FC27DA /* NSObject */ = {
 			isa = PBXGroup;
 			children = (
@@ -9604,6 +9705,7 @@
 				BB49ED01293F459500C82CA2 /* KMConvertPPTsWindowController.xib in Resources */,
 				ADC6FC592976953900D7C274 /* Batch.xcassets in Resources */,
 				ADD1B6AE2941E97F00C3FFF7 /* KMPrintWindowController.xib in Resources */,
+				9F00CF542A38657400AC462E /* GoogleService-Info.plist in Resources */,
 				AD88108729A719E500178CA1 /* KMRegisterView.xib in Resources */,
 				BB1EC8012967B26700EC0BC3 /* KMPDFEditViewController.xib in Resources */,
 				BBEC00DC295C39FD00A26C98 /* KMBatesPropertyInfoController.xib in Resources */,
@@ -9866,6 +9968,7 @@
 				BBFBE74D28DD7DE8008B2335 /* Assets.xcassets in Resources */,
 				ADB1FE7B29752F1100ED072D /* KMBatchCompressView.xib in Resources */,
 				8997010A28F4082C009AF911 /* KMFromViewController.xib in Resources */,
+				9F00CF552A38657400AC462E /* GoogleService-Info.plist in Resources */,
 				ADB1FE8329752F3200ED072D /* KMBatchSecurityView.xib in Resources */,
 				894A00F62976314C0070ED83 /* KMPDFViewPanelSetViewController.xib in Resources */,
 				9F02016E2A1B088700C9B673 /* KMAIOpenPDFFilesVC.xib in Resources */,
@@ -10249,6 +10352,7 @@
 				BB2F615D2966B69D001CB369 /* KMWatermarkPropertyHomeController.xib in Resources */,
 				ADD1B6C12942DD3D00C3FFF7 /* KMPrintChooseView.xib in Resources */,
 				9F1F82C1292E01860092C4B4 /* KMCloudEmptyCollectionViewItem.xib in Resources */,
+				9F00CF562A38657400AC462E /* GoogleService-Info.plist in Resources */,
 				ADB1FE2D297006DF00ED072D /* KMBatchWindowController.xib in Resources */,
 				9FDD0F69294AB645000C4DAD /* KMMainViewController.xib in Resources */,
 				9FBA0EF328FFC716001117AF /* KMHomeFastToolViewController.xib in Resources */,
@@ -13017,6 +13121,16 @@
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
 				);
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_PREPROCESSOR_DEFINITIONS = (
@@ -13047,6 +13161,7 @@
 				);
 				MACOSX_DEPLOYMENT_TARGET = 11.0;
 				MARKETING_VERSION = 1.1.0;
+				OTHER_LDFLAGS = "-ObjC";
 				OTHER_SWIFT_FLAGS = "-DVERSION_FREE";
 				PRODUCT_BUNDLE_IDENTIFIER = com.pdftechnologies.pdfreader.mac;
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -13093,6 +13208,16 @@
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
 				);
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_PREPROCESSOR_DEFINITIONS = "VERSION_FREE=1";
@@ -13120,6 +13245,7 @@
 				MACOSX_DEPLOYMENT_TARGET = 11.0;
 				MARKETING_VERSION = 1.1.0;
 				ONLY_ACTIVE_ARCH = NO;
+				OTHER_LDFLAGS = "-ObjC";
 				OTHER_SWIFT_FLAGS = "-DVERSION_FREE";
 				PRODUCT_BUNDLE_IDENTIFIER = com.pdftechnologies.pdfreader.mac;
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -13256,6 +13382,16 @@
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
 				);
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"DEBUG=1",
@@ -13368,6 +13504,16 @@
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
 				);
 				GCC_PREPROCESSOR_DEFINITIONS = "VERSION_PRO=1";
 				GENERATE_INFOPLIST_FILE = YES;
@@ -13569,6 +13715,16 @@
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
 				);
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"DEBUG=1",
@@ -13692,6 +13848,16 @@
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
 					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
+					"$(PROJECT_DIR)/PDF\\ Master/Third\\ Pard\\ Library/FirebaseAnalytics",
 				);
 				GCC_PREPROCESSOR_DEFINITIONS = "VERSION_DMG=1";
 				GENERATE_INFOPLIST_FILE = YES;

+ 6 - 0
PDF Office/PDF Master/AppDelegate.swift

@@ -12,6 +12,8 @@ import AppCenter
 import AppCenterAnalytics
 import AppCenterCrashes
 #endif
+import FirebaseCore
+import FirebaseAnalytics
 
 @main
 class AppDelegate: NSObject, NSApplicationDelegate {
@@ -73,6 +75,10 @@ class AppDelegate: NSObject, NSApplicationDelegate {
 #if VERSION_DMG
         AppCenter.start(withAppSecret: appSecret, services: [Analytics.self, Crashes.self])
 #endif
+        FirebaseApp.configure()
+//        Analytics.logEvent(AnalyticsEventSignUp, parameters: [
+//          AnalyticsParameterMethod: "method"
+//          ])
 
         //第一次开启app
         var info = UserDefaults.standard.value(forKey: "kFirstOpenAppCount")

+ 5 - 4
PDF Office/PDF Master/Class/ChromiumTabs/KMBrowserWindowController.xib

@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -23,7 +24,7 @@
             <windowCollectionBehavior key="collectionBehavior" fullScreenPrimary="YES"/>
             <windowPositionMask key="initialPositionMask" leftStrut="YES" bottomStrut="YES"/>
             <rect key="contentRect" x="632" y="533" width="1280" height="800"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="1800" height="1125"/>
             <value key="minSize" type="size" width="460" height="460"/>
             <view key="contentView" id="WVd-Ye-yWx">
                 <rect key="frame" x="0.0" y="0.0" width="1280" height="800"/>
@@ -305,7 +306,7 @@
             <windowStyleMask key="styleMask" titled="YES" closable="YES"/>
             <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
             <rect key="contentRect" x="1127" y="748" width="369" height="111"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="1800" height="1125"/>
             <value key="minSize" type="size" width="234" height="87"/>
             <value key="maxSize" type="size" width="235" height="88"/>
             <view key="contentView" id="tjv-WI-5S2">

+ 16 - 0
PDF Office/PDF Master/Info.plist

@@ -2,6 +2,22 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+	<key>Fabric</key>
+	<dict>
+		<key>APIKey</key>
+		<string>AIzaSyDex9auPUJBSvPMMu4UhIAtpwwzKutdmiQ</string>
+		<key>Kits</key>
+		<array>
+			<dict>
+				<key>KitInfo</key>
+				<dict/>
+				<key>KitName</key>
+				<string>Crashlytics</string>
+			</dict>
+		</array>
+	</dict>
+	<key>FirebaseAppDelegateProxyEnabled</key>
+	<false/>
 	<key>SUFeedURL</key>
 	<string></string>
 	<key>ATSApplicationFontsPath</key>

BIN
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/FirebaseAnalytics


+ 60 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h

@@ -0,0 +1,60 @@
+#import <Foundation/Foundation.h>
+
+#import "FIRAnalytics.h"
+
+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 `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.
+ */
++ (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(_:open:options:) in your app.
+ *
+ * @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.
+ *
+ * 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
+

+ 33 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h

@@ -0,0 +1,33 @@
+#import <Foundation/Foundation.h>
+
+#import "FIRAnalytics.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The type of consent to set. Supported consent types are `ConsentType.adStorage` and
+/// `ConsentType.analyticsStorage`. Omitting a type retains its previous status.
+typedef NSString *FIRConsentType NS_TYPED_ENUM NS_SWIFT_NAME(ConsentType);
+extern FIRConsentType const FIRConsentTypeAdStorage;
+extern FIRConsentType const FIRConsentTypeAnalyticsStorage;
+
+/// The status value of the consent type. Supported statuses are `ConsentStatus.granted` and
+/// `ConsentStatus.denied`.
+typedef NSString *FIRConsentStatus NS_TYPED_ENUM NS_SWIFT_NAME(ConsentStatus);
+extern FIRConsentStatus const FIRConsentStatusDenied;
+extern FIRConsentStatus const FIRConsentStatusGranted;
+
+/// Sets the applicable end user consent state.
+@interface FIRAnalytics (Consent)
+
+/// Sets the applicable end user consent state (e.g. for device identifiers) for this app on this
+/// 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 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;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 141 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIRAnalytics.h

@@ -0,0 +1,141 @@
+#import <Foundation/Foundation.h>
+
+#import "FIREventNames.h"
+#import "FIRParameterNames.h"
+#import "FIRUserPropertyNames.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The top level Firebase Analytics singleton that provides methods for logging events and setting
+/// user properties. See <a href="http://goo.gl/gz8SLz">the developer guides</a> for general
+/// information on using Firebase Analytics in your apps.
+///
+/// @note The Analytics SDK uses SQLite to persist events and other app-specific data. Calling
+///     certain thread-unsafe global SQLite methods like `sqlite3_shutdown()` can result in
+///     unexpected crashes at runtime.
+NS_SWIFT_NAME(Analytics)
+@interface FIRAnalytics : NSObject
+
+/// Logs an app event. The event can have up to 25 parameters. Events with the same name must have
+/// the same parameters. Up to 500 event names are supported. Using predefined events and/or
+/// parameters is recommended for optimal reporting.
+///
+/// The following event names are reserved and cannot be used:
+/// <ul>
+///     <li>ad_activeview</li>
+///     <li>ad_click</li>
+///     <li>ad_exposure</li>
+///     <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>
+///     <li>app_store_refund</li>
+///     <li>app_store_subscription_cancel</li>
+///     <li>app_store_subscription_convert</li>
+///     <li>app_store_subscription_renew</li>
+///     <li>app_update</li>
+///     <li>app_upgrade</li>
+///     <li>dynamic_link_app_open</li>
+///     <li>dynamic_link_app_update</li>
+///     <li>dynamic_link_first_open</li>
+///     <li>error</li>
+///     <li>firebase_campaign</li>
+///     <li>first_open</li>
+///     <li>first_visit</li>
+///     <li>in_app_purchase</li>
+///     <li>notification_dismiss</li>
+///     <li>notification_foreground</li>
+///     <li>notification_open</li>
+///     <li>notification_receive</li>
+///     <li>os_update</li>
+///     <li>session_start</li>
+///     <li>session_start_with_rollout</li>
+///     <li>user_engagement</li>
+/// </ul>
+///
+/// @param name The name of the event. Should contain 1 to 40 alphanumeric characters or
+///     underscores. The name must start with an alphabetic character. Some event names are
+///     reserved. See FIREventNames.h for the list of reserved event names. The "firebase_",
+///     "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
+///     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 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:));
+
+/// Sets a user property to a given value. Up to 25 user property names are supported. Once set,
+/// user property values persist throughout the app lifecycle and across sessions.
+///
+/// The following user property names are reserved and cannot be used:
+/// <ul>
+///     <li>first_open_time</li>
+///     <li>last_deep_link_referrer</li>
+///     <li>user_id</li>
+/// </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.
+/// @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.
++ (void)setUserPropertyString:(nullable NSString *)value forName:(NSString *)name
+    NS_SWIFT_NAME(setUserProperty(_:forName:));
+
+/// Sets the user ID property. This feature must be used in accordance with
+/// <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.
++ (void)setUserID:(nullable NSString *)userID;
+
+/// Sets whether analytics collection is enabled for this app on this device. This setting is
+/// persisted across app sessions. By default it is enabled.
+///
+/// @param analyticsCollectionEnabled A flag that enables or disables Analytics collection.
++ (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled;
+
+/// Sets the interval of inactivity in seconds that terminates the current session. The default
+/// value is 1800 seconds (30 minutes).
+///
+/// @param sessionTimeoutInterval The custom time of inactivity in seconds before the current
+///     session terminates.
++ (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
+
+/// 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.
++ (void)resetAnalyticsData;
+
+/// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
+/// The values passed in the parameters dictionary will be added to the dictionary of default event
+/// parameters. These parameters persist across app runs. They are of lower precedence than event
+/// parameters, so if an event parameter and a parameter set using this API have the same name, the
+/// value of the event parameter will be used. The same limitations on event parameters apply to
+/// default event parameters.
+///
+/// @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 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.
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 496 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIREventNames.h

@@ -0,0 +1,496 @@
+/// @file FIREventNames.h
+///
+/// Predefined event names.
+///
+/// An Event is an important occurrence in your app that you want to measure. You can report up to
+/// 500 different types of Events per app and you can associate up to 25 unique parameters with each
+/// Event type. Some common events are suggested below, but you may also choose to specify custom
+/// Event types that are associated with your specific app. Each event type is identified by a
+/// unique name. Event names can be up to 40 characters long, may only contain alphanumeric
+/// characters and underscores ("_"), and must start with an alphabetic character. The "firebase_",
+/// "google_", and "ga_" prefixes are reserved and should not be used.
+
+#import <Foundation/Foundation.h>
+
+/// 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 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 (Array<Dictionary<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 (Array<Dictionary<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 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 AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems (Array<Dictionary<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 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 (Array<Dictionary<String, Any>>) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
+    @"add_to_wishlist";
+
+/// 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
+/// reported, this event can provide further clarification around the continuous engagement of
+/// app-users.
+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 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 AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems (Array<Dictionary<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
+/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
+///
+/// <ul>
+///     <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 AnalyticsParameterCheckoutStep (Int)</li>
+///    <li>@c AnalyticsParameterCheckoutOption (String) (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 AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
+/// Params:
+///
+/// <ul>
+///     <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 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 AnalyticsParameterValue (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+///     <li>@c AnalyticsParameterTax (Double) (optional)</li>
+///     <li>@c AnalyticsParameterShipping (Double) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterLocation (String) (optional)</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>
+/// <b>This constant has been deprecated. Use @c AnalyticsEventPurchase 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 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 AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
+    @"generate_lead";
+
+/// Join Group event. Log this event when a user joins a group such as a guild, team or family. Use
+/// this event to analyze how popular certain groups or social features are in your app. Params:
+///
+/// <ul>
+///     <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 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 AnalyticsParameterLevelName (String)</li>
+/// </ul>
+static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
+
+/// Level Up event. This event signifies that a player has leveled up in your gaming app. It can
+/// help you gauge the level distribution of your userbase and help you identify certain levels that
+/// are difficult to pass. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterLevel (Int)</li>
+///     <li>@c AnalyticsParameterCharacter (String) (optional)</li>
+/// </ul>
+static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"level_up";
+
+/// Login event. Apps with a login feature can report this event to signify that a user has logged
+/// in.
+static NSString *const kFIREventLogin NS_SWIFT_NAME(AnalyticsEventLogin) = @"login";
+
+/// Post Score event. Log this event when the user posts a score in your gaming app. This event can
+/// help you understand how users are actually performing in your game and it can help you correlate
+/// high scores with certain audiences or behaviors. Params:
+///
+/// <ul>
+///     <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 @c AnalyticsEventAddToCart and @c
+/// AnalyticsEventEcommercePurchase to gauge your conversion 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 AnalyticsParameterQuantity (Int)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
+///     <li>@c AnalyticsParameterItemName (String)</li>
+///     <li>@c AnalyticsParameterItemCategory (String)</li>
+///     <li>@c AnalyticsParameterItemLocationID (String) (optional)</li>
+///     <li>@c AnalyticsParameterPrice (Double) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+/// <b>This constant has been deprecated. Use @c AnalyticsEventViewPromotion constant instead.</b>
+static NSString *const kFIREventPresentOffer NS_SWIFT_NAME(AnalyticsEventPresentOffer) =
+    @"present_offer";
+
+/// 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 AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems (Array<Dictionary<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>
+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 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 AnalyticsParameterValue (Double) (optional)</li>
+///     <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
+/// </ul>
+/// <b>This constant has been deprecated. Use @c AnalyticsEventRefund constant instead.</b>
+static NSString *const kFIREventPurchaseRefund NS_SWIFT_NAME(AnalyticsEventPurchaseRefund) =
+    @"purchase_refund";
+
+/// 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 AnalyticsParameterAffiliation (String) (optional)</li>
+///     <li>@c AnalyticsParameterCoupon (String) (optional)</li>
+///     <li>@c AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems (Array<Dictionary<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>
+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 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 (Array<Dictionary<String, Any>>) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
+    @"remove_from_cart";
+
+/// Screen View event. This event signifies a screen view. Use this when a screen transition occurs.
+/// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
+///     <li>@c AnalyticsParameterScreenName (String) (optional)</li>
+/// </ul>
+static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
+
+/// Search event. Apps that support search features can use this event to contextualize search
+/// operations by supplying the appropriate, corresponding parameters. This event can help you
+/// identify the most popular content in your app. Params:
+///
+/// <ul>
+///     <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";
+
+/// Select Content event. This general purpose event signifies that a user has selected some content
+/// of a certain type in an app. The content can be any object in your app. This event can help you
+/// identify popular content and categories of content in your app. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterContentType (String)</li>
+///     <li>@c AnalyticsParameterItemID (String)</li>
+/// </ul>
+static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
+    @"select_content";
+
+/// 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 AnalyticsParameterItems (Array<Dictionary<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";
+
+/// Select promotion event. This event signifies that a user has selected a promotion offer. Use the
+/// appropriate parameters to contextualize the event, such as the item(s) for which the promotion
+/// applies. Params:
+///
+/// <ul>
+///     <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
+///     <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems (Array<Dictionary<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";
+
+/// Set checkout option. Params:
+///
+/// <ul>
+///    <li>@c AnalyticsParameterCheckoutStep (Int)</li>
+///    <li>@c AnalyticsParameterCheckoutOption (String)</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 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 AnalyticsParameterSignUpMethod (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 (Array<Dictionary<String, Any>>) (optional)</li>
+///     <li>@c AnalyticsParameterValue (Double) (optional)</li>
+/// </ul>
+static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
+
+/// 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 AnalyticsParameterCurrency (String) (optional)</li>
+///     <li>@c AnalyticsParameterItems (Array<Dictionary<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 (Array<Dictionary<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 (Array<Dictionary<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";

+ 778 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIRParameterNames.h

@@ -0,0 +1,778 @@
+/// @file FIRParameterNames.h
+///
+/// Predefined event parameter names.
+///
+/// Params supply information that contextualize Events. You can associate up to 25 unique Params
+/// with each Event type. Some Params are suggested below for certain common Events, but you are
+/// not limited to these. You may supply extra Params for suggested Events or custom Params for
+/// Custom events. Param names can be up to 40 characters long, may only contain alphanumeric
+/// characters and underscores ("_"), and must start with an alphabetic character. Param values can
+/// be up to 100 characters long. The "firebase_", "google_", and "ga_" prefixes are reserved and
+/// should not be used.
+
+#import <Foundation/Foundation.h>
+
+/// Game achievement ID (String).
+/// <pre>
+///     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).
+/// (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterAdFormat : "Banner",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
+    @"ad_format";
+
+/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterAdNetworkClickID : "1234567",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterAdNetworkClickID
+    NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
+
+/// The ad platform (e.g. MoPub, IronSource) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterAdPlatform : "MoPub",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
+    @"ad_platform";
+
+/// The ad source (e.g. AdColony) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterAdSource : "AdColony",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
+    @"ad_source";
+
+/// The ad unit name (e.g. Banner_03) (String).
+/// <pre>
+///     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
+/// (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
+/// (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCampaign : "winter_promotion",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
+    @"campaign";
+
+/// 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>
+///     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";
+
+/// Some option on a step in an ecommerce flow (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCheckoutOption : "Visa",
+///       // ...
+///     ]
+/// </pre>
+/// <b>This constant has been deprecated.</b>
+static NSString *const kFIRParameterCheckoutOption
+    NS_SWIFT_NAME(AnalyticsParameterCheckoutOption) = @"checkout_option";
+
+/// The checkout step (1..N) (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCheckoutStep : 1,
+///       // ...
+///     ]
+/// </pre>
+/// <b>This constant has been deprecated.</b>
+static NSString *const kFIRParameterCheckoutStep NS_SWIFT_NAME(AnalyticsParameterCheckoutStep) =
+    @"checkout_step";
+
+/// Campaign content (String).
+static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
+
+/// Type of content selected (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterContentType : "news article",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
+    @"content_type";
+
+/// Coupon code used for a purchase (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCoupon : "SUMMER_FUN",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
+
+/// Creative Format (String). Used to identify the high-level classification of the type of ad
+/// served by a specific campaign.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCreativeFormat : "display",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
+    @"creative_format";
+
+/// The name of a creative used in a promotional spot (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCreativeName : "Summer Sale",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
+    @"creative_name";
+
+/// The name of a creative slot (String).
+/// <pre>
+///     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 (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterCurrency : "USD",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
+    @"currency";
+
+/// Flight or Travel destination (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterDestination : "Mountain View, CA",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
+    @"destination";
+
+/// Monetary value of discount associated with a purchase (Double).
+/// <pre>
+///     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";
+
+/// 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>
+///     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 (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterGroupID : "g1",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
+
+/// The index of the item in a list (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterIndex : 5,
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
+
+/// Item brand (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemBrand : "Google",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
+    @"item_brand";
+
+/// Item category (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemCategory : "pants",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
+    @"item_category";
+
+/// Item Category (context-specific) (String).
+/// <pre>
+///     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 list in which the item was presented to the user (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemList : "Search Results",
+///       // ...
+///     ]
+/// </pre>
+/// <b>This constant has been deprecated. Use @c AnalyticsParameterItemListName instead.</b>
+static NSString *const kFIRParameterItemList NS_SWIFT_NAME(AnalyticsParameterItemList) =
+    @"item_list";
+
+/// The ID of the list in which the item was presented to the user (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemListID : "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 (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemListName : "Related products",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
+    @"item_list_name";
+
+/// The Google <a href="https://developers.google.com/places/place-id">Place ID</a> (String) that
+/// corresponds to the associated item. Alternatively, you can supply your own custom Location ID.
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///       // ...
+///     ]
+/// </pre>
+/// <b>This constant has been deprecated. Use @c AnalyticsParameterLocationID constant instead.</b>
+static NSString *const kFIRParameterItemLocationID
+    NS_SWIFT_NAME(AnalyticsParameterItemLocationID) = @"item_location_id";
+
+/// Item Name (context-specific) (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemName : "jeggings",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
+    @"item_name";
+
+/// Item variant (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterItemVariant : "Black",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
+    @"item_variant";
+
+/// The list of items involved in the transaction. (Array<Dictionary<String, Any>>).
+/// <pre>
+///     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";
+
+/// 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>
+///     let params = [
+///       AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
+    @"location";
+
+/// 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>
+///     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";
+
+/// A particular approach used in an operation; for example, "facebook" or "email" in the context
+/// of a sign_up or login event. (String).
+/// <pre>
+///     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 (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterNumberOfPassengers : 11,
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterNumberOfPassengers
+    NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
+
+/// Number of rooms for travel events (Int).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterNumberOfRooms : 2,
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
+    @"number_of_rooms";
+
+/// Flight or Travel origin (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterOrigin : "Mountain View, CA",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
+
+/// The chosen method of payment (String).
+/// <pre>
+///     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";
+
+/// The ID of a product promotion (String).
+/// <pre>
+///     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 (Int).
+/// <pre>
+///     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 (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 (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterScreenName : "LoginView",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
+    @"screen_name";
+
+/// The search string/keywords used (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterSearchTerm : "periodic table",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
+    @"search_term";
+
+/// Shipping cost associated with a transaction (Double).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterShipping : 5.99,
+///       AnalyticsParameterCurrency : "USD",  // e.g. $5.99 USD
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
+    @"shipping";
+
+/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
+/// (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterShippingTier : "Ground",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
+    @"shipping_tier";
+
+/// Sign up method (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterSignUpMethod : "google",
+///       // ...
+///     ]
+/// </pre>
+///
+/// <b>This constant has been deprecated. Use Method constant instead.</b>
+static NSString *const kFIRParameterSignUpMethod NS_SWIFT_NAME(AnalyticsParameterSignUpMethod) =
+    @"sign_up_method";
+
+/// 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 (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterSource : "InMobi",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
+
+/// 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>
+///     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";
+
+/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
+/// <pre>
+///     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
+/// (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterTerm : "game",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
+
+/// The unique identifier of a transaction (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterTransactionID : "T12345",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
+    @"transaction_id";
+
+/// Travel class (String).
+/// <pre>
+///     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 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 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>
+///     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 (String).
+/// <pre>
+///     let params = [
+///       AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
+///       // ...
+///     ]
+/// </pre>
+static NSString *const kFIRParameterVirtualCurrencyName
+    NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";

+ 28 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h

@@ -0,0 +1,28 @@
+/// @file FIRUserPropertyNames.h
+///
+/// Predefined user property names.
+///
+/// A UserProperty is an attribute that describes the app-user. By supplying UserProperties, you can
+/// later analyze different behaviors of various segments of your userbase. You may supply up to 25
+/// unique UserProperties per app, and you can use the name and value of your choosing for each one.
+/// UserProperty names can be up to 24 characters long, may only contain alphanumeric characters and
+/// underscores ("_"), and must start with an alphabetic character. UserProperty values can be up to
+/// 36 characters long. The "firebase_", "google_", and "ga_" prefixes are reserved and should not
+/// be used.
+
+#import <Foundation/Foundation.h>
+
+/// 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>
+///     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";

+ 6 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h

@@ -0,0 +1,6 @@
+#import "FIRAnalytics+AppDelegate.h"
+#import "FIRAnalytics+Consent.h"
+#import "FIRAnalytics.h"
+#import "FIREventNames.h"
+#import "FIRParameterNames.h"
+#import "FIRUserPropertyNames.h"

+ 20 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseAnalytics.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>FirebaseAnalytics</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-FirebaseAnalytics</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FirebaseAnalytics</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>8.15.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>

BIN
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/FirebaseCore


+ 128 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FIRApp.h

@@ -0,0 +1,128 @@
+/*
+ * 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 `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:(FIRAppVoidBoolCallback)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

+ 45 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/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

+ 38 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FIRLoggerLevel.h

@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+// Note that importing GULLoggerLevel.h will lead to a non-modular header
+// import error.
+
+/**
+ * The log levels used by internal logging.
+ */
+typedef NS_ENUM(NSInteger, FIRLoggerLevel) {
+  /** Error level, matches ASL_LEVEL_ERR. */
+  FIRLoggerLevelError = 3,
+  /** Warning level, matches ASL_LEVEL_WARNING. */
+  FIRLoggerLevelWarning = 4,
+  /** Notice level, matches ASL_LEVEL_NOTICE. */
+  FIRLoggerLevelNotice = 5,
+  /** Info level, matches ASL_LEVEL_INFO. */
+  FIRLoggerLevelInfo = 6,
+  /** Debug level, matches ASL_LEVEL_DEBUG. */
+  FIRLoggerLevelDebug = 7,
+  /** Minimum log level. */
+  FIRLoggerLevelMin = FIRLoggerLevelError,
+  /** Maximum log level. */
+  FIRLoggerLevelMax = FIRLoggerLevelDebug
+} NS_SWIFT_NAME(FirebaseLoggerLevel);

+ 132 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FIROptions.h

@@ -0,0 +1,132 @@
+/*
+ * 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.
+ * 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.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 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

+ 25 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FIRVersion.h

@@ -0,0 +1,25 @@
+/*
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** Returns the current version of Firebase. */
+NS_SWIFT_NAME(FirebaseVersion())
+NSString* FIRFirebaseVersion(void);
+
+NS_ASSUME_NONNULL_END

+ 21 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCore.framework/Headers/FirebaseCore.h

@@ -0,0 +1,21 @@
+/*
+ * 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 "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "FIRLoggerLevel.h"
+#import "FIROptions.h"
+#import "FIRVersion.h"

+ 20 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/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>8.15.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>

BIN
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics


+ 18 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCoreDiagnostics.framework/Headers/FIRCoreDiagnostics.h

@@ -0,0 +1,18 @@
+/*
+ * 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.

+ 17 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCoreDiagnostics.framework/Headers/FirebaseCoreDiagnostics-umbrella.h

@@ -0,0 +1,17 @@
+#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[];
+

+ 20 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseCoreDiagnostics.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>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.15.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>

BIN
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/FirebaseInstallations


+ 126 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/Headers/FIRInstallations.h

@@ -0,0 +1,126 @@
+/*
+ * 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`.
+ * @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. 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

+ 33 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/Headers/FIRInstallationsAuthTokenResult.h

@@ -0,0 +1,33 @@
+/*
+ * 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
+
+/** The class represents a result of the installation auth token request. */
+NS_SWIFT_NAME(InstallationsAuthTokenResult)
+@interface FIRInstallationsAuthTokenResult : NSObject
+
+/** The installation auth token string. */
+@property(nonatomic, readonly) NSString *authToken;
+
+/** The installation auth token expiration date. */
+@property(nonatomic, readonly) NSDate *expirationDate;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 34 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/Headers/FIRInstallationsErrors.h

@@ -0,0 +1,34 @@
+/*
+ * 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);

+ 19 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/FirebaseInstallations.framework/Headers/FirebaseInstallations.h

@@ -0,0 +1,19 @@
+/*
+ * 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 "FIRInstallations.h"
+#import "FIRInstallationsAuthTokenResult.h"
+#import "FIRInstallationsErrors.h"

+ 20 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/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>8.15.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>

BIN
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleAppMeasurement.framework/GoogleAppMeasurement


+ 20 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleAppMeasurement.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>GoogleAppMeasurement</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-GoogleAppMeasurement</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>GoogleAppMeasurement</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>8.15.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>

BIN
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport


+ 20 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleAppMeasurementIdentitySupport.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>GoogleAppMeasurementIdentitySupport</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.firebase.Firebase-GoogleAppMeasurementIdentitySupport</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>GoogleAppMeasurementIdentitySupport</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleVersion</key>
+	<string>8.15.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>

BIN
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/GoogleDataTransport


+ 66 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCORClock.h

@@ -0,0 +1,66 @@
+/*
+ * 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

+ 144 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCORConsoleLogger.h

@@ -0,0 +1,144 @@
+/*
+ * 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__);

+ 36 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCOREndpoints.h

@@ -0,0 +1,36 @@
+/*
+ * 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

+ 87 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCOREvent.h

@@ -0,0 +1,87 @@
+/*
+ * 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

+ 36 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCOREventDataObject.h

@@ -0,0 +1,36 @@
+/*
+ * 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

+ 38 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCOREventTransformer.h

@@ -0,0 +1,38 @@
+/*
+ * 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

+ 40 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCORTargets.h

@@ -0,0 +1,40 @@
+/*
+ * 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,
+};

+ 92 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GDTCORTransport.h

@@ -0,0 +1,92 @@
+/*
+ * 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

+ 24 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.framework/Headers/GoogleDataTransport.h

@@ -0,0 +1,24 @@
+/*
+ * 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"

+ 20 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleDataTransport.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>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>

+ 36 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleService-Info.plist

@@ -0,0 +1,36 @@
+<?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>CLIENT_ID</key>
+	<string>956267872181-qb5rg2s8aghsn8c5ub1qri8o3o5i8o6k.apps.googleusercontent.com</string>
+	<key>REVERSED_CLIENT_ID</key>
+	<string>com.googleusercontent.apps.956267872181-qb5rg2s8aghsn8c5ub1qri8o3o5i8o6k</string>
+	<key>API_KEY</key>
+	<string>AIzaSyDex9auPUJBSvPMMu4UhIAtpwwzKutdmiQ</string>
+	<key>GCM_SENDER_ID</key>
+	<string>956267872181</string>
+	<key>PLIST_VERSION</key>
+	<string>1</string>
+	<key>BUNDLE_ID</key>
+	<string>com.pdftechnologies.pdfreader.mac</string>
+	<key>PROJECT_ID</key>
+	<string>peerless-clock-269502</string>
+	<key>STORAGE_BUCKET</key>
+	<string>peerless-clock-269502.appspot.com</string>
+	<key>IS_ADS_ENABLED</key>
+	<false></false>
+	<key>IS_ANALYTICS_ENABLED</key>
+	<false></false>
+	<key>IS_APPINVITE_ENABLED</key>
+	<true></true>
+	<key>IS_GCM_ENABLED</key>
+	<true></true>
+	<key>IS_SIGNIN_ENABLED</key>
+	<true></true>
+	<key>GOOGLE_APP_ID</key>
+	<string>1:956267872181:ios:18262b4ddbd0365ceda3fc</string>
+	<key>DATABASE_URL</key>
+	<string>https://peerless-clock-269502.firebaseio.com</string>
+</dict>
+</plist>

BIN
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/GoogleUtilities


+ 107 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULAppDelegateSwizzler.h

@@ -0,0 +1,107 @@
+/*
+ * 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 "GULApplication.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NSString *const GULAppDelegateInterceptorID;
+
+/** This class contains methods that isa swizzle the app delegate. */
+@interface GULAppDelegateSwizzler : NSProxy
+
+/** Registers an app delegate interceptor whose methods will be invoked as they're invoked on the
+ *  original app delegate.
+ *
+ *  @param interceptor An instance of a class that conforms to the application delegate protocol.
+ *      The interceptor is NOT retained.
+ *  @return A unique GULAppDelegateInterceptorID if interceptor was successfully registered; nil
+ *      if it fails.
+ */
++ (nullable GULAppDelegateInterceptorID)registerAppDelegateInterceptor:
+    (id<GULApplicationDelegate>)interceptor;
+
+/** Unregisters an interceptor with the given ID if it exists.
+ *
+ *  @param interceptorID The object that was generated when the interceptor was registered.
+ */
++ (void)unregisterAppDelegateInterceptorWithID:(GULAppDelegateInterceptorID)interceptorID;
+
+/** This method ensures that the original app delegate has been proxied. Call this before
+ *  registering your interceptor. This method is safe to call multiple times (but it only proxies
+ *  the app delegate once).
+ *
+ *  This method doesn't proxy APNS related methods:
+ *  @code
+ *    - application:didRegisterForRemoteNotificationsWithDeviceToken:
+ *    - application:didFailToRegisterForRemoteNotificationsWithError:
+ *    - application:didReceiveRemoteNotification:fetchCompletionHandler:
+ *    - application:didReceiveRemoteNotification:
+ *  @endcode
+ *
+ *  To proxy these methods use +[GULAppDelegateSwizzler
+ *  proxyOriginalDelegateIncludingAPNSMethods]. The methods have to be proxied separately to
+ *  avoid potential warnings from Apple review about missing Push Notification Entitlement (e.g.
+ *  https://github.com/firebase/firebase-ios-sdk/issues/2807)
+ *
+ *  The method has no effect for extensions.
+ *
+ *  @see proxyOriginalDelegateIncludingAPNSMethods
+ */
++ (void)proxyOriginalDelegate;
+
+/** This method ensures that the original app delegate has been proxied including APNS related
+ *  methods. Call this before registering your interceptor. This method is safe to call multiple
+ *  times (but it only proxies the app delegate once) or
+ *  after +[GULAppDelegateSwizzler proxyOriginalDelegate]
+ *
+ *  This method calls +[GULAppDelegateSwizzler proxyOriginalDelegate] under the hood.
+ *  After calling this method the following App Delegate methods will be proxied in addition to
+ *  the methods proxied by proxyOriginalDelegate:
+ *  @code
+ *    - application:didRegisterForRemoteNotificationsWithDeviceToken:
+ *    - application:didFailToRegisterForRemoteNotificationsWithError:
+ *    - application:didReceiveRemoteNotification:fetchCompletionHandler:
+ *    - application:didReceiveRemoteNotification:
+ *  @endcode
+ *
+ *  The method has no effect for extensions.
+ *
+ *  @see proxyOriginalDelegate
+ */
++ (void)proxyOriginalDelegateIncludingAPNSMethods;
+
+/** Indicates whether app delegate proxy is explicitly disabled or enabled. Enabled by default.
+ *
+ *  @return YES if AppDelegateProxy is Enabled, NO otherwise.
+ */
++ (BOOL)isAppDelegateProxyEnabled;
+
+/** Returns the current sharedApplication.
+ *
+ *  @return the current application instance if in an app, or nil if in extension or if it doesn't
+ * exist.
+ */
++ (nullable GULApplication *)sharedApplication;
+
+/** Do not initialize this class. */
+- (instancetype)init NS_UNAVAILABLE;
+
+NS_ASSUME_NONNULL_END
+
+@end

+ 60 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULAppEnvironmentUtil.h

@@ -0,0 +1,60 @@
+/*
+ * 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

+ 50 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULApplication.h

@@ -0,0 +1,50 @@
+/*
+ * Copyright 2019 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>
+
+#if TARGET_OS_IOS || TARGET_OS_TV
+
+#import <UIKit/UIKit.h>
+
+#define GULApplication UIApplication
+#define GULApplicationDelegate UIApplicationDelegate
+#define GULUserActivityRestoring UIUserActivityRestoring
+
+static NSString *const kGULApplicationClassName = @"UIApplication";
+
+#elif TARGET_OS_OSX
+
+#import <AppKit/AppKit.h>
+
+#define GULApplication NSApplication
+#define GULApplicationDelegate NSApplicationDelegate
+#define GULUserActivityRestoring NSUserActivityRestoring
+
+static NSString *const kGULApplicationClassName = @"NSApplication";
+
+#elif TARGET_OS_WATCH
+
+#import <WatchKit/WatchKit.h>
+
+// We match the according watchOS API but swizzling should not work in watch
+#define GULApplication WKExtension
+#define GULApplicationDelegate WKExtensionDelegate
+#define GULUserActivityRestoring NSUserActivityRestoring
+
+static NSString *const kGULApplicationClassName = @"WKExtension";
+
+#endif

+ 40 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULHeartbeatDateStorable.h

@@ -0,0 +1,40 @@
+/*
+ * Copyright 2021 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
+
+/**
+ * Describes an object that can store and fetch heartbeat dates for given tags.
+ */
+@protocol GULHeartbeatDateStorable <NSObject>
+
+/**
+ * Reads the date from the specified file for the given tag.
+ * @return Returns date if exists, otherwise `nil`.
+ */
+- (nullable NSDate *)heartbeatDateForTag:(NSString *)tag;
+
+/**
+ * Saves the date for the specified tag in the specified file.
+ * @return YES on success, NO otherwise.
+ */
+- (BOOL)setHearbeatDate:(NSDate *)date forTag:(NSString *)tag;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 54 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULHeartbeatDateStorage.h

@@ -0,0 +1,54 @@
+/*
+ * 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>
+
+#import "GULHeartbeatDateStorable.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The name of the directory where the heartbeat data is stored.
+extern NSString *const kGULHeartbeatStorageDirectory;
+
+/// Stores either a date or a dictionary to a specified file.
+@interface GULHeartbeatDateStorage : NSObject <GULHeartbeatDateStorable>
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@property(nonatomic, readonly) NSURL *fileURL;
+
+/**
+ * Default initializer.
+ * @param fileName The name of the file to store the date information.
+ * exist, it will be created if needed.
+ */
+- (instancetype)initWithFileName:(NSString *)fileName;
+
+/**
+ * Reads the date from the specified file for the given tag.
+ * @return Returns date if exists, otherwise `nil`.
+ */
+- (nullable NSDate *)heartbeatDateForTag:(NSString *)tag;
+
+/**
+ * Saves the date for the specified tag in the specified file.
+ * @return YES on success, NO otherwise.
+ */
+- (BOOL)setHearbeatDate:(NSDate *)date forTag:(NSString *)tag;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 51 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULHeartbeatDateStorageUserDefaults.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2021 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 "GULHeartbeatDateStorable.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Stores either a date or a dictionary to a specified file.
+@interface GULHeartbeatDateStorageUserDefaults : NSObject <GULHeartbeatDateStorable>
+
+/**
+ * Default initializer. tvOS can only write to the cache directory and
+ * there are no guarantees that the directory will persist. User defaults will
+ * be retained, so that should be used instead.
+ * @param defaults User defaults instance to store the heartbeat information.
+ * @param key The key to be used with the user defaults instance.
+ */
+- (instancetype)initWithDefaults:(NSUserDefaults *)defaults key:(NSString *)key;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Reads the date from the specified file for the given tag.
+ * @return Returns date if exists, otherwise `nil`.
+ */
+- (nullable NSDate *)heartbeatDateForTag:(NSString *)tag;
+
+/**
+ * Saves the date for the specified tag in the specified file.
+ * @return YES on success, NO otherwise.
+ */
+- (BOOL)setHearbeatDate:(NSDate *)date forTag:(NSString *)tag;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 79 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULKeychainStorage.h

@@ -0,0 +1,79 @@
+/*
+ * 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

+ 61 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULKeychainUtils.h

@@ -0,0 +1,61 @@
+/*
+ * 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

+ 159 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULLogger.h

@@ -0,0 +1,159 @@
+/*
+ * 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 "GULLoggerLevel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * The services used in the logger.
+ */
+typedef NSString *const GULLoggerService;
+
+#ifdef __cplusplus
+extern "C" {
+#endif  // __cplusplus
+
+/**
+ * Initialize GULLogger.
+ */
+extern void GULLoggerInitializeASL(void);
+
+/**
+ * Override log level to Debug.
+ */
+void GULLoggerForceDebug(void);
+
+/**
+ * Turn on logging to STDERR.
+ */
+extern void GULLoggerEnableSTDERR(void);
+
+/**
+ * Changes the default logging level of GULLoggerLevelNotice to a user-specified level.
+ * The default level cannot be set above GULLoggerLevelNotice if the app is running from App Store.
+ * (required) log level (one of the GULLoggerLevel enum values).
+ */
+extern void GULSetLoggerLevel(GULLoggerLevel loggerLevel);
+
+/**
+ * Checks if the specified logger level is loggable given the current settings.
+ * (required) log level (one of the GULLoggerLevel enum values).
+ */
+extern BOOL GULIsLoggableLevel(GULLoggerLevel loggerLevel);
+
+/**
+ * Register version to include in logs.
+ * (required) version
+ */
+extern void GULLoggerRegisterVersion(NSString *version);
+
+/**
+ * Logs a message to the Xcode console and the device log. If running from AppStore, will
+ * not log any messages with a level higher than GULLoggerLevelNotice to avoid log spamming.
+ * (required) log level (one of the GULLoggerLevel enum values).
+ * (required) service name of type GULLoggerService.
+ * (required) message code starting with "I-" which means iOS, followed by a capitalized
+ *            three-character service identifier and a six digit integer message ID that is unique
+ *            within the service.
+ *            An example of the message code is @"I-COR000001".
+ * (required) message string which can be a format string.
+ * (optional) variable arguments list obtained from calling va_start, used when message is a format
+ *            string.
+ */
+extern void GULLogBasic(GULLoggerLevel level,
+                        GULLoggerService service,
+                        BOOL forceLog,
+                        NSString *messageCode,
+                        NSString *message,
+// On 64-bit simulators, va_list is not a pointer, so cannot be marked nullable
+// See: http://stackoverflow.com/q/29095469
+#if __LP64__ && TARGET_OS_SIMULATOR || TARGET_OS_OSX
+                        va_list args_ptr
+#else
+                        va_list _Nullable args_ptr
+#endif
+);
+
+/**
+ * The following functions accept the following parameters in order:
+ * (required) service name of type GULLoggerService.
+ * (required) message code starting from "I-" which means iOS, followed by a capitalized
+ *            three-character service identifier and a six digit integer message ID that is unique
+ *            within the service.
+ *            An example of the message code is @"I-COR000001".
+ *            See go/firebase-log-proposal for details.
+ * (required) message string which can be a format string.
+ * (optional) the list of arguments to substitute into the format string.
+ * Example usage:
+ * GULLogError(kGULLoggerCore, @"I-COR000001", @"Configuration of %@ failed.", app.name);
+ */
+extern void GULLogError(GULLoggerService service,
+                        BOOL force,
+                        NSString *messageCode,
+                        NSString *message,
+                        ...) NS_FORMAT_FUNCTION(4, 5);
+extern void GULLogWarning(GULLoggerService service,
+                          BOOL force,
+                          NSString *messageCode,
+                          NSString *message,
+                          ...) NS_FORMAT_FUNCTION(4, 5);
+extern void GULLogNotice(GULLoggerService service,
+                         BOOL force,
+                         NSString *messageCode,
+                         NSString *message,
+                         ...) NS_FORMAT_FUNCTION(4, 5);
+extern void GULLogInfo(GULLoggerService service,
+                       BOOL force,
+                       NSString *messageCode,
+                       NSString *message,
+                       ...) NS_FORMAT_FUNCTION(4, 5);
+extern void GULLogDebug(GULLoggerService service,
+                        BOOL force,
+                        NSString *messageCode,
+                        NSString *message,
+                        ...) NS_FORMAT_FUNCTION(4, 5);
+
+#ifdef __cplusplus
+}  // extern "C"
+#endif  // __cplusplus
+
+@interface GULLoggerWrapper : NSObject
+
+/**
+ * Objective-C wrapper for GULLogBasic to allow weak linking to GULLogger
+ * (required) log level (one of the GULLoggerLevel enum values).
+ * (required) service name of type GULLoggerService.
+ * (required) message code starting with "I-" which means iOS, followed by a capitalized
+ *            three-character service identifier and a six digit integer message ID that is unique
+ *            within the service.
+ *            An example of the message code is @"I-COR000001".
+ * (required) message string which can be a format string.
+ * (optional) variable arguments list obtained from calling va_start, used when message is a format
+ *            string.
+ */
+
++ (void)logWithLevel:(GULLoggerLevel)level
+         withService:(GULLoggerService)service
+            withCode:(NSString *)messageCode
+         withMessage:(NSString *)message
+            withArgs:(va_list)args;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 37 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULLoggerLevel.h

@@ -0,0 +1,37 @@
+/*
+ * 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 log levels used by internal logging.
+ */
+typedef NS_ENUM(NSInteger, GULLoggerLevel) {
+  /** Error level, matches ASL_LEVEL_ERR. */
+  GULLoggerLevelError = 3,
+  /** Warning level, matches ASL_LEVEL_WARNING. */
+  GULLoggerLevelWarning = 4,
+  /** Notice level, matches ASL_LEVEL_NOTICE. */
+  GULLoggerLevelNotice = 5,
+  /** Info level, matches ASL_LEVEL_INFO. */
+  GULLoggerLevelInfo = 6,
+  /** Debug level, matches ASL_LEVEL_DEBUG. */
+  GULLoggerLevelDebug = 7,
+  /** Minimum log level. */
+  GULLoggerLevelMin = GULLoggerLevelError,
+  /** Maximum log level. */
+  GULLoggerLevelMax = GULLoggerLevelDebug
+} NS_SWIFT_NAME(GoogleLoggerLevel);

+ 46 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULMutableDictionary.h

@@ -0,0 +1,46 @@
+/*
+ * 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>
+
+/// A mutable dictionary that provides atomic accessor and mutators.
+@interface GULMutableDictionary : NSObject
+
+/// Returns an object given a key in the dictionary or nil if not found.
+- (id)objectForKey:(id)key;
+
+/// Updates the object given its key or adds it to the dictionary if it is not in the dictionary.
+- (void)setObject:(id)object forKey:(id<NSCopying>)key;
+
+/// Removes the object given its session ID from the dictionary.
+- (void)removeObjectForKey:(id)key;
+
+/// Removes all objects.
+- (void)removeAllObjects;
+
+/// Returns the number of current objects in the dictionary.
+- (NSUInteger)count;
+
+/// Returns an object given a key in the dictionary or nil if not found.
+- (id)objectForKeyedSubscript:(id<NSCopying>)key;
+
+/// Updates the object given its key or adds it to the dictionary if it is not in the dictionary.
+- (void)setObject:(id)obj forKeyedSubscript:(id<NSCopying>)key;
+
+/// Returns the immutable dictionary.
+- (NSDictionary *)dictionary;
+
+@end

+ 49 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNSData+zlib.h

@@ -0,0 +1,49 @@
+// 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>
+
+/// This is a copy of Google Toolbox for Mac library to avoid creating an extra framework.
+
+// NOTE: For 64bit, none of these apis handle input sizes >32bits, they will return nil when given
+// such data. To handle data of that size you really should be streaming it rather then doing it all
+// in memory.
+
+@interface NSData (GULGzip)
+
+/// Returns an data as the result of decompressing the payload of |data|.The data to decompress must
+/// be a gzipped payloads.
++ (NSData *)gul_dataByInflatingGzippedData:(NSData *)data error:(NSError **)error;
+
+/// Returns an compressed data with the result of gzipping the payload of |data|. Uses the default
+/// compression level.
++ (NSData *)gul_dataByGzippingData:(NSData *)data error:(NSError **)error;
+
+FOUNDATION_EXPORT NSString *const GULNSDataZlibErrorDomain;
+FOUNDATION_EXPORT NSString *const GULNSDataZlibErrorKey;           // NSNumber
+FOUNDATION_EXPORT NSString *const GULNSDataZlibRemainingBytesKey;  // NSNumber
+
+typedef NS_ENUM(NSInteger, GULNSDataZlibError) {
+  GULNSDataZlibErrorGreaterThan32BitsToCompress = 1024,
+  // An internal zlib error.
+  // GULNSDataZlibErrorKey will contain the error value.
+  // NSLocalizedDescriptionKey may contain an error string from zlib.
+  // Look in zlib.h for list of errors.
+  GULNSDataZlibErrorInternal,
+  // There was left over data in the buffer that was not used.
+  // GULNSDataZlibRemainingBytesKey will contain number of remaining bytes.
+  GULNSDataZlibErrorDataRemaining
+};
+
+@end

+ 87 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNetwork.h

@@ -0,0 +1,87 @@
+/*
+ * 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

+ 71 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNetworkConstants.h

@@ -0,0 +1,71 @@
+/*
+ * 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>
+
+/// Error codes in Firebase Network error domain.
+/// Note: these error codes should never change. It would make it harder to decode the errors if
+/// we inadvertently altered any of these codes in a future SDK version.
+typedef NS_ENUM(NSInteger, GULNetworkErrorCode) {
+  /// Unknown error.
+  GULNetworkErrorCodeUnknown = 0,
+  /// Error occurs when the request URL is invalid.
+  GULErrorCodeNetworkInvalidURL = 1,
+  /// Error occurs when request cannot be constructed.
+  GULErrorCodeNetworkRequestCreation = 2,
+  /// Error occurs when payload cannot be compressed.
+  GULErrorCodeNetworkPayloadCompression = 3,
+  /// Error occurs when session task cannot be created.
+  GULErrorCodeNetworkSessionTaskCreation = 4,
+  /// Error occurs when there is no response.
+  GULErrorCodeNetworkInvalidResponse = 5
+};
+
+#pragma mark - Network constants
+
+/// The prefix of the ID of the background session.
+extern NSString *const kGULNetworkBackgroundSessionConfigIDPrefix;
+
+/// The sub directory to store the files of data that is being uploaded in the background.
+extern NSString *const kGULNetworkApplicationSupportSubdirectory;
+
+/// Name of the temporary directory that stores files for background uploading.
+extern NSString *const kGULNetworkTempDirectoryName;
+
+/// The period when the temporary uploading file can stay.
+extern const NSTimeInterval kGULNetworkTempFolderExpireTime;
+
+/// The default network request timeout interval.
+extern const NSTimeInterval kGULNetworkTimeOutInterval;
+
+/// The host to check the reachability of the network.
+extern NSString *const kGULNetworkReachabilityHost;
+
+/// The key to get the error context of the UserInfo.
+extern NSString *const kGULNetworkErrorContext;
+
+#pragma mark - Network Status Code
+
+extern const int kGULNetworkHTTPStatusOK;
+extern const int kGULNetworkHTTPStatusNoContent;
+extern const int kGULNetworkHTTPStatusCodeMultipleChoices;
+extern const int kGULNetworkHTTPStatusCodeMovedPermanently;
+extern const int kGULNetworkHTTPStatusCodeFound;
+extern const int kGULNetworkHTTPStatusCodeNotModified;
+extern const int kGULNetworkHTTPStatusCodeMovedTemporarily;
+extern const int kGULNetworkHTTPStatusCodeNotFound;
+extern const int kGULNetworkHTTPStatusCodeCannotAcceptTraffic;
+extern const int kGULNetworkHTTPStatusCodeUnavailable;

+ 49 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNetworkLoggerProtocol.h

@@ -0,0 +1,49 @@
+/*
+ * 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 "GULNetworkMessageCode.h"
+
+/// The log levels used by GULNetworkLogger.
+typedef NS_ENUM(NSInteger, GULNetworkLogLevel) {
+  kGULNetworkLogLevelError = 3,
+  kGULNetworkLogLevelWarning = 4,
+  kGULNetworkLogLevelInfo = 6,
+  kGULNetworkLogLevelDebug = 7,
+};
+
+@protocol GULNetworkLoggerDelegate <NSObject>
+
+@required
+/// Tells the delegate to log a message with an array of contexts and the log level.
+- (void)GULNetwork_logWithLevel:(GULNetworkLogLevel)logLevel
+                    messageCode:(GULNetworkMessageCode)messageCode
+                        message:(NSString *)message
+                       contexts:(NSArray *)contexts;
+
+/// Tells the delegate to log a message with a context and the log level.
+- (void)GULNetwork_logWithLevel:(GULNetworkLogLevel)logLevel
+                    messageCode:(GULNetworkMessageCode)messageCode
+                        message:(NSString *)message
+                        context:(id)context;
+
+/// Tells the delegate to log a message with the log level.
+- (void)GULNetwork_logWithLevel:(GULNetworkLogLevel)logLevel
+                    messageCode:(GULNetworkMessageCode)messageCode
+                        message:(NSString *)message;
+
+@end

+ 47 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNetworkMessageCode.h

@@ -0,0 +1,47 @@
+/*
+ * 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>
+
+// Make sure these codes do not overlap with any contained in the FIRAMessageCode enum.
+typedef NS_ENUM(NSInteger, GULNetworkMessageCode) {
+  // GULNetwork.m
+  kGULNetworkMessageCodeNetwork000 = 900000,  // I-NET900000
+  kGULNetworkMessageCodeNetwork001 = 900001,  // I-NET900001
+  kGULNetworkMessageCodeNetwork002 = 900002,  // I-NET900002
+  kGULNetworkMessageCodeNetwork003 = 900003,  // I-NET900003
+  // GULNetworkURLSession.m
+  kGULNetworkMessageCodeURLSession000 = 901000,  // I-NET901000
+  kGULNetworkMessageCodeURLSession001 = 901001,  // I-NET901001
+  kGULNetworkMessageCodeURLSession002 = 901002,  // I-NET901002
+  kGULNetworkMessageCodeURLSession003 = 901003,  // I-NET901003
+  kGULNetworkMessageCodeURLSession004 = 901004,  // I-NET901004
+  kGULNetworkMessageCodeURLSession005 = 901005,  // I-NET901005
+  kGULNetworkMessageCodeURLSession006 = 901006,  // I-NET901006
+  kGULNetworkMessageCodeURLSession007 = 901007,  // I-NET901007
+  kGULNetworkMessageCodeURLSession008 = 901008,  // I-NET901008
+  kGULNetworkMessageCodeURLSession009 = 901009,  // I-NET901009
+  kGULNetworkMessageCodeURLSession010 = 901010,  // I-NET901010
+  kGULNetworkMessageCodeURLSession011 = 901011,  // I-NET901011
+  kGULNetworkMessageCodeURLSession012 = 901012,  // I-NET901012
+  kGULNetworkMessageCodeURLSession013 = 901013,  // I-NET901013
+  kGULNetworkMessageCodeURLSession014 = 901014,  // I-NET901014
+  kGULNetworkMessageCodeURLSession015 = 901015,  // I-NET901015
+  kGULNetworkMessageCodeURLSession016 = 901016,  // I-NET901016
+  kGULNetworkMessageCodeURLSession017 = 901017,  // I-NET901017
+  kGULNetworkMessageCodeURLSession018 = 901018,  // I-NET901018
+  kGULNetworkMessageCodeURLSession019 = 901019,  // I-NET901019
+};

+ 62 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULNetworkURLSession.h

@@ -0,0 +1,62 @@
+/*
+ * 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 "GULNetworkLoggerProtocol.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef void (^GULNetworkCompletionHandler)(NSHTTPURLResponse *_Nullable response,
+                                            NSData *_Nullable data,
+                                            NSError *_Nullable error);
+typedef void (^GULNetworkURLSessionCompletionHandler)(NSHTTPURLResponse *_Nullable response,
+                                                      NSData *_Nullable data,
+                                                      NSString *sessionID,
+                                                      NSError *_Nullable error);
+typedef void (^GULNetworkSystemCompletionHandler)(void);
+
+/// The protocol that uses NSURLSession for iOS >= 7.0 to handle requests and responses.
+@interface GULNetworkURLSession : NSObject
+
+/// Indicates whether the background network is enabled. Default value is NO.
+@property(nonatomic, getter=isBackgroundNetworkEnabled) BOOL backgroundNetworkEnabled;
+
+/// The logger delegate to log message, errors or warnings that occur during the network operations.
+@property(nonatomic, weak, nullable) id<GULNetworkLoggerDelegate> loggerDelegate;
+
+/// Calls the system provided completion handler after the background session is finished.
++ (void)handleEventsForBackgroundURLSessionID:(NSString *)sessionID
+                            completionHandler:(GULNetworkSystemCompletionHandler)completionHandler;
+
+/// Initializes with logger delegate.
+- (instancetype)initWithNetworkLoggerDelegate:
+    (nullable id<GULNetworkLoggerDelegate>)networkLoggerDelegate NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Sends an asynchronous POST request and calls the provided completion handler when the request
+/// completes or when errors occur, and returns an ID of the session/connection.
+- (nullable NSString *)sessionIDFromAsyncPOSTRequest:(NSURLRequest *)request
+                                   completionHandler:(GULNetworkURLSessionCompletionHandler)handler;
+
+/// Sends an asynchronous GET request and calls the provided completion handler when the request
+/// completes or when errors occur, and returns an ID of the session.
+- (nullable NSString *)sessionIDFromAsyncGETRequest:(NSURLRequest *)request
+                                  completionHandler:(GULNetworkURLSessionCompletionHandler)handler;
+
+NS_ASSUME_NONNULL_END
+@end

+ 207 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULOriginalIMPConvenienceMacros.h

@@ -0,0 +1,207 @@
+/*
+ * 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.
+ */
+
+/**
+ * GULOriginalIMPConvenienceMacros.h
+ *
+ * This header contains convenience macros for invoking the original IMP of a swizzled method.
+ */
+
+/**
+ *  Invokes original IMP when the original selector takes no arguments.
+ *
+ *  @param __receivingObject The object on which the IMP is invoked.
+ *  @param __swizzledSEL The selector used for swizzling.
+ *  @param __returnType  The return type of the original implementation.
+ *  @param __originalIMP The original IMP.
+ */
+#define GUL_INVOKE_ORIGINAL_IMP0(__receivingObject, __swizzledSEL, __returnType, __originalIMP) \
+  ((__returnType(*)(id, SEL))__originalIMP)(__receivingObject, __swizzledSEL)
+
+/**
+ *  Invokes original IMP when the original selector takes 1 argument.
+ *
+ *  @param __receivingObject The object on which the IMP is invoked.
+ *  @param __swizzledSEL The selector used for swizzling.
+ *  @param __returnType  The return type of the original implementation.
+ *  @param __originalIMP The original IMP.
+ *  @param __arg1 The first argument.
+ */
+#define GUL_INVOKE_ORIGINAL_IMP1(__receivingObject, __swizzledSEL, __returnType, __originalIMP,   \
+                                 __arg1)                                                          \
+  ((__returnType(*)(id, SEL, __typeof__(__arg1)))__originalIMP)(__receivingObject, __swizzledSEL, \
+                                                                __arg1)
+
+/**
+ *  Invokes original IMP when the original selector takes 2 arguments.
+ *
+ *  @param __receivingObject The object on which the IMP is invoked.
+ *  @param __swizzledSEL The selector used for swizzling.
+ *  @param __returnType  The return type of the original implementation.
+ *  @param __originalIMP The original IMP.
+ *  @param __arg1 The first argument.
+ *  @param __arg2 The second argument.
+ */
+#define GUL_INVOKE_ORIGINAL_IMP2(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \
+                                 __arg1, __arg2)                                                \
+  ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2)))__originalIMP)(            \
+      __receivingObject, __swizzledSEL, __arg1, __arg2)
+
+/**
+ *  Invokes original IMP when the original selector takes 3 arguments.
+ *
+ *  @param __receivingObject The object on which the IMP is invoked.
+ *  @param __swizzledSEL The selector used for swizzling.
+ *  @param __returnType  The return type of the original implementation.
+ *  @param __originalIMP The original IMP.
+ *  @param __arg1 The first argument.
+ *  @param __arg2 The second argument.
+ *  @param __arg3 The third argument.
+ */
+#define GUL_INVOKE_ORIGINAL_IMP3(__receivingObject, __swizzledSEL, __returnType, __originalIMP,  \
+                                 __arg1, __arg2, __arg3)                                         \
+  ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2),                             \
+                    __typeof__(__arg3)))__originalIMP)(__receivingObject, __swizzledSEL, __arg1, \
+                                                       __arg2, __arg3)
+
+/**
+ *  Invokes original IMP when the original selector takes 4 arguments.
+ *
+ *  @param __receivingObject The object on which the IMP is invoked.
+ *  @param __swizzledSEL The selector used for swizzling.
+ *  @param __returnType  The return type of the original implementation.
+ *  @param __originalIMP The original IMP.
+ *  @param __arg1 The first argument.
+ *  @param __arg2 The second argument.
+ *  @param __arg3 The third argument.
+ *  @param __arg4 The fourth argument.
+ */
+#define GUL_INVOKE_ORIGINAL_IMP4(__receivingObject, __swizzledSEL, __returnType, __originalIMP,  \
+                                 __arg1, __arg2, __arg3, __arg4)                                 \
+  ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3),         \
+                    __typeof__(__arg4)))__originalIMP)(__receivingObject, __swizzledSEL, __arg1, \
+                                                       __arg2, __arg3, __arg4)
+
+/**
+ *  Invokes original IMP when the original selector takes 5 arguments.
+ *
+ *  @param __receivingObject The object on which the IMP is invoked.
+ *  @param __swizzledSEL The selector used for swizzling.
+ *  @param __returnType  The return type of the original implementation.
+ *  @param __originalIMP The original IMP.
+ *  @param __arg1 The first argument.
+ *  @param __arg2 The second argument.
+ *  @param __arg3 The third argument.
+ *  @param __arg4 The fourth argument.
+ *  @param __arg5 The fifth argument.
+ */
+#define GUL_INVOKE_ORIGINAL_IMP5(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \
+                                 __arg1, __arg2, __arg3, __arg4, __arg5)                        \
+  ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3),        \
+                    __typeof__(__arg4), __typeof__(__arg5)))__originalIMP)(                     \
+      __receivingObject, __swizzledSEL, __arg1, __arg2, __arg3, __arg4, __arg5)
+
+/**
+ *  Invokes original IMP when the original selector takes 6 arguments.
+ *
+ *  @param __receivingObject The object on which the IMP is invoked.
+ *  @param __swizzledSEL The selector used for swizzling.
+ *  @param __returnType  The return type of the original implementation.
+ *  @param __originalIMP The original IMP.
+ *  @param __arg1 The first argument.
+ *  @param __arg2 The second argument.
+ *  @param __arg3 The third argument.
+ *  @param __arg4 The fourth argument.
+ *  @param __arg5 The fifth argument.
+ *  @param __arg6 The sixth argument.
+ */
+#define GUL_INVOKE_ORIGINAL_IMP6(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \
+                                 __arg1, __arg2, __arg3, __arg4, __arg5, __arg6)                \
+  ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3),        \
+                    __typeof__(__arg4), __typeof__(__arg5), __typeof__(__arg6)))__originalIMP)( \
+      __receivingObject, __swizzledSEL, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6)
+
+/**
+ *  Invokes original IMP when the original selector takes 7 arguments.
+ *
+ *  @param __receivingObject The object on which the IMP is invoked.
+ *  @param __swizzledSEL The selector used for swizzling.
+ *  @param __returnType  The return type of the original implementation.
+ *  @param __originalIMP The original IMP.
+ *  @param __arg1 The first argument.
+ *  @param __arg2 The second argument.
+ *  @param __arg3 The third argument.
+ *  @param __arg4 The fourth argument.
+ *  @param __arg5 The fifth argument.
+ *  @param __arg6 The sixth argument.
+ *  @param __arg7 The seventh argument.
+ */
+#define GUL_INVOKE_ORIGINAL_IMP7(__receivingObject, __swizzledSEL, __returnType, __originalIMP, \
+                                 __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7)        \
+  ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3),        \
+                    __typeof__(__arg4), __typeof__(__arg5), __typeof__(__arg6),                 \
+                    __typeof__(__arg7)))__originalIMP)(                                         \
+      __receivingObject, __swizzledSEL, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7)
+
+/**
+ *  Invokes original IMP when the original selector takes 8 arguments.
+ *
+ *  @param __receivingObject The object on which the IMP is invoked.
+ *  @param __swizzledSEL The selector used for swizzling.
+ *  @param __returnType  The return type of the original implementation.
+ *  @param __originalIMP The original IMP.
+ *  @param __arg1 The first argument.
+ *  @param __arg2 The second argument.
+ *  @param __arg3 The third argument.
+ *  @param __arg4 The fourth argument.
+ *  @param __arg5 The fifth argument.
+ *  @param __arg6 The sixth argument.
+ *  @param __arg7 The seventh argument.
+ *  @param __arg8 The eighth argument.
+ */
+#define GUL_INVOKE_ORIGINAL_IMP8(__receivingObject, __swizzledSEL, __returnType, __originalIMP,  \
+                                 __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7, __arg8) \
+  ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3),         \
+                    __typeof__(__arg4), __typeof__(__arg5), __typeof__(__arg6),                  \
+                    __typeof__(__arg7), __typeof__(__arg8)))__originalIMP)(                      \
+      __receivingObject, __swizzledSEL, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7,  \
+      __arg8)
+
+/**
+ *  Invokes original IMP when the original selector takes 9 arguments.
+ *
+ *  @param __receivingObject The object on which the IMP is invoked.
+ *  @param __swizzledSEL The selector used for swizzling.
+ *  @param __returnType  The return type of the original implementation.
+ *  @param __originalIMP The original IMP.
+ *  @param __arg1 The first argument.
+ *  @param __arg2 The second argument.
+ *  @param __arg3 The third argument.
+ *  @param __arg4 The fourth argument.
+ *  @param __arg5 The fifth argument.
+ *  @param __arg6 The sixth argument.
+ *  @param __arg7 The seventh argument.
+ *  @param __arg8 The eighth argument.
+ *  @param __arg9 The ninth argument.
+ */
+#define GUL_INVOKE_ORIGINAL_IMP9(__receivingObject, __swizzledSEL, __returnType, __originalIMP,  \
+                                 __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7, __arg8, \
+                                 __arg9)                                                         \
+  ((__returnType(*)(id, SEL, __typeof__(__arg1), __typeof__(__arg2), __typeof__(__arg3),         \
+                    __typeof__(__arg4), __typeof__(__arg5), __typeof__(__arg6),                  \
+                    __typeof__(__arg7), __typeof__(__arg8), __typeof__(__arg9)))__originalIMP)(  \
+      __receivingObject, __swizzledSEL, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6, __arg7,  \
+      __arg8, __arg9)

+ 79 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULReachabilityChecker.h

@@ -0,0 +1,79 @@
+/*
+ * 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>
+#if !TARGET_OS_WATCH
+#import <SystemConfiguration/SystemConfiguration.h>
+#endif
+
+/// Reachability Status
+typedef enum {
+  kGULReachabilityUnknown,  ///< Have not yet checked or been notified whether host is reachable.
+  kGULReachabilityNotReachable,  ///< Host is not reachable.
+  kGULReachabilityViaWifi,       ///< Host is reachable via Wifi.
+  kGULReachabilityViaCellular,   ///< Host is reachable via cellular.
+} GULReachabilityStatus;
+
+const NSString *GULReachabilityStatusString(GULReachabilityStatus status);
+
+@class GULReachabilityChecker;
+
+/// Google Analytics iOS Reachability Checker.
+@protocol GULReachabilityDelegate
+@required
+/// Called when network status has changed.
+- (void)reachability:(GULReachabilityChecker *)reachability
+       statusChanged:(GULReachabilityStatus)status;
+@end
+
+/// Google Analytics iOS Network Status Checker.
+@interface GULReachabilityChecker : NSObject
+
+/// The last known reachability status, or GULReachabilityStatusUnknown if the
+/// checker is not active.
+@property(nonatomic, readonly) GULReachabilityStatus reachabilityStatus;
+/// The host to which reachability status is to be checked.
+@property(nonatomic, copy, readonly) NSString *host;
+/// The delegate to be notified of reachability status changes.
+@property(nonatomic, weak) id<GULReachabilityDelegate> reachabilityDelegate;
+/// `YES` if the reachability checker is active, `NO` otherwise.
+@property(nonatomic, readonly) BOOL isActive;
+
+/// Initialize the reachability checker. Note that you must call start to begin checking for and
+/// receiving notifications about network status changes.
+///
+/// @param reachabilityDelegate The delegate to be notified when reachability status to host
+/// changes.
+///
+/// @param host The name of the host.
+///
+- (instancetype)initWithReachabilityDelegate:(id<GULReachabilityDelegate>)reachabilityDelegate
+                                    withHost:(NSString *)host;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Start checking for reachability to the specified host. This has no effect if the status
+/// checker is already checking for connectivity.
+///
+/// @return `YES` if initiating status checking was successful or the status checking has already
+/// been initiated, `NO` otherwise.
+- (BOOL)start;
+
+/// Stop checking for reachability to the specified host. This has no effect if the status
+/// checker is not checking for connectivity.
+- (void)stop;
+
+@end

+ 76 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULSceneDelegateSwizzler.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2019 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 <TargetConditionals.h>
+
+#if !TARGET_OS_OSX
+#import <UIKit/UIKit.h>
+#endif  // !TARGET_OS_OSX
+
+#if ((TARGET_OS_IOS || TARGET_OS_TV) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= 130000))
+#define UISCENE_SUPPORTED 1
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NSString *const GULSceneDelegateInterceptorID;
+
+/** This class contains methods that isa swizzle the scene delegate. */
+@interface GULSceneDelegateSwizzler : NSProxy
+
+#if UISCENE_SUPPORTED
+
+/** Registers a scene delegate interceptor whose methods will be invoked as they're invoked on the
+ *  original scene delegate.
+ *
+ *  @param interceptor An instance of a class that conforms to the application delegate protocol.
+ *      The interceptor is NOT retained.
+ *  @return A unique GULSceneDelegateInterceptorID if interceptor was successfully registered; nil
+ *      if it fails.
+ */
++ (nullable GULSceneDelegateInterceptorID)registerSceneDelegateInterceptor:
+    (id<UISceneDelegate>)interceptor API_AVAILABLE(ios(13.0), tvos(13.0));
+
+/** Unregisters an interceptor with the given ID if it exists.
+ *
+ *  @param interceptorID The object that was generated when the interceptor was registered.
+ */
++ (void)unregisterSceneDelegateInterceptorWithID:(GULSceneDelegateInterceptorID)interceptorID
+    API_AVAILABLE(ios(13.0), tvos(13.0));
+
+/** Do not initialize this class. */
+- (instancetype)init NS_UNAVAILABLE;
+
+#endif  // UISCENE_SUPPORTED
+
+/** This method ensures that the original scene delegate has been proxied. Call this before
+ *  registering your interceptor. This method is safe to call multiple times (but it only proxies
+ *  the scene delegate once).
+ *
+ *  The method has no effect for extensions.
+ */
++ (void)proxyOriginalSceneDelegate;
+
+/** Indicates whether scene delegate proxy is explicitly disabled or enabled. Enabled by default.
+ *
+ *  @return YES if SceneDelegateProxy is Enabled, NO otherwise.
+ */
++ (BOOL)isSceneDelegateProxyEnabled;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 36 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULSecureCoding.h

@@ -0,0 +1,36 @@
+// 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
+
+/** The class wraps `NSKeyedArchiver` and `NSKeyedUnarchiver` API to provide a unified secure coding
+ *  methods for iOS versions before and after 11.
+ */
+@interface GULSecureCoding : NSObject
+
++ (nullable id)unarchivedObjectOfClasses:(NSSet<Class> *)classes
+                                fromData:(NSData *)data
+                                   error:(NSError **)outError;
+
++ (nullable id)unarchivedObjectOfClass:(Class)class
+                              fromData:(NSData *)data
+                                 error:(NSError **)outError;
+
++ (nullable NSData *)archivedDataWithRootObject:(id<NSCoding>)object error:(NSError **)outError;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 71 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULSwizzler.h

@@ -0,0 +1,71 @@
+/*
+ * 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>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** This class handles the runtime manipulation necessary to instrument selectors. It stores the
+ *  classes and selectors that have been swizzled, and runs all operations on its own queue.
+ */
+@interface GULSwizzler : NSObject
+
+/** Manipulates the Objective-C runtime to replace the original IMP with the supplied block.
+ *
+ *  @param aClass The class to swizzle.
+ *  @param selector The selector of the class to swizzle.
+ *  @param isClassSelector A BOOL specifying whether the selector is a class or instance selector.
+ *  @param block The block that replaces the original IMP.
+ */
++ (void)swizzleClass:(Class)aClass
+            selector:(SEL)selector
+     isClassSelector:(BOOL)isClassSelector
+           withBlock:(nullable id)block;
+
+/** Returns the current IMP for the given class and selector.
+ *
+ *  @param aClass The class to use.
+ *  @param selector The selector to find the implementation of.
+ *  @param isClassSelector A BOOL specifying whether the selector is a class or instance selector.
+ *  @return The implementation of the selector in the runtime.
+ */
++ (nullable IMP)currentImplementationForClass:(Class)aClass
+                                     selector:(SEL)selector
+                              isClassSelector:(BOOL)isClassSelector;
+
+/** Checks the runtime to see if a selector exists on a class. If a property is declared as
+ *  @dynamic, we have a reverse swizzling situation, where the implementation of a method exists
+ *  only in concrete subclasses, and NOT in the superclass. We can detect that situation using
+ *  this helper method. Similarly, we can detect situations where a class doesn't implement a
+ *  protocol method.
+ *
+ *  @param selector The selector to check for.
+ *  @param aClass The class to check.
+ *  @param isClassSelector A BOOL specifying whether the selector is a class or instance selector.
+ *  @return YES if the method was found in this selector/class combination, NO otherwise.
+ */
++ (BOOL)selector:(SEL)selector existsInClass:(Class)aClass isClassSelector:(BOOL)isClassSelector;
+
+/** Returns a list of all Objective-C (and not primitive) ivars contained by the given object.
+ *
+ *  @param object The object whose ivars will be iterated.
+ *  @return The list of ivar objects.
+ */
++ (NSArray<id> *)ivarObjectsForObject:(id)object;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 31 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULURLSessionDataResponse.h

@@ -0,0 +1,31 @@
+/*
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** The class represents HTTP response received from `NSURLSession`. */
+@interface GULURLSessionDataResponse : NSObject
+
+@property(nonatomic, readonly) NSHTTPURLResponse *HTTPResponse;
+@property(nonatomic, nullable, readonly) NSData *HTTPBody;
+
+- (instancetype)initWithResponse:(NSHTTPURLResponse *)response HTTPBody:(nullable NSData *)body;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 110 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GULUserDefaults.h

@@ -0,0 +1,110 @@
+// 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
+
+/// A thread-safe user defaults that uses C functions from CFPreferences.h instead of
+/// `NSUserDefaults`. This is to avoid sending an `NSNotification` when it's changed from a
+/// background thread to avoid crashing. // TODO: Insert radar number here.
+@interface GULUserDefaults : NSObject
+
+/// A shared user defaults similar to +[NSUserDefaults standardUserDefaults] and accesses the same
+/// data of the standardUserDefaults.
++ (GULUserDefaults *)standardUserDefaults;
+
+/// Initializes preferences with a suite name that is the same with the NSUserDefaults' suite name.
+/// Both of CFPreferences and NSUserDefaults share the same plist file so their data will exactly
+/// the same.
+///
+/// @param suiteName The name of the suite of the user defaults.
+- (instancetype)initWithSuiteName:(nullable NSString *)suiteName;
+
+#pragma mark - Getters
+
+/// Searches the receiver's search list for a default with the key 'defaultName' and return it. If
+/// another process has changed defaults in the search list, NSUserDefaults will automatically
+/// update to the latest values. If the key in question has been marked as ubiquitous via a Defaults
+/// Configuration File, the latest value may not be immediately available, and the registered value
+/// will be returned instead.
+- (nullable id)objectForKey:(NSString *)defaultName;
+
+/// Equivalent to -objectForKey:, except that it will return nil if the value is not an NSArray.
+- (nullable NSArray *)arrayForKey:(NSString *)defaultName;
+
+/// Equivalent to -objectForKey:, except that it will return nil if the value
+/// is not an NSDictionary.
+- (nullable NSDictionary<NSString *, id> *)dictionaryForKey:(NSString *)defaultName;
+
+/// Equivalent to -objectForKey:, except that it will convert NSNumber values to their NSString
+/// representation. If a non-string non-number value is found, nil will be returned.
+- (nullable NSString *)stringForKey:(NSString *)defaultName;
+
+/// Equivalent to -objectForKey:, except that it converts the returned value to an NSInteger. If the
+/// value is an NSNumber, the result of -integerValue will be returned. If the value is an NSString,
+/// it will be converted to NSInteger if possible. If the value is a boolean, it will be converted
+/// to either 1 for YES or 0 for NO. If the value is absent or can't be converted to an integer, 0
+/// will be returned.
+- (NSInteger)integerForKey:(NSString *)defaultName;
+
+/// Similar to -integerForKey:, except that it returns a float, and boolean values will not be
+/// converted.
+- (float)floatForKey:(NSString *)defaultName;
+
+/// Similar to -integerForKey:, except that it returns a double, and boolean values will not be
+/// converted.
+- (double)doubleForKey:(NSString *)defaultName;
+
+/// Equivalent to -objectForKey:, except that it converts the returned value to a BOOL. If the value
+/// is an NSNumber, NO will be returned if the value is 0, YES otherwise. If the value is an
+/// NSString, values of "YES" or "1" will return YES, and values of "NO", "0", or any other string
+/// will return NO. If the value is absent or can't be converted to a BOOL, NO will be returned.
+- (BOOL)boolForKey:(NSString *)defaultName;
+
+#pragma mark - Setters
+
+/// Immediately stores a value (or removes the value if `nil` is passed as the value) for the
+/// provided key in the search list entry for the receiver's suite name in the current user and any
+/// host, then asynchronously stores the value persistently, where it is made available to other
+/// processes.
+- (void)setObject:(nullable id)value forKey:(NSString *)defaultName;
+
+/// Equivalent to -setObject:forKey: except that the value is converted from a float to an NSNumber.
+- (void)setFloat:(float)value forKey:(NSString *)defaultName;
+
+/// Equivalent to -setObject:forKey: except that the value is converted from a double to an
+/// NSNumber.
+- (void)setDouble:(double)value forKey:(NSString *)defaultName;
+
+/// Equivalent to -setObject:forKey: except that the value is converted from an NSInteger to an
+/// NSNumber.
+- (void)setInteger:(NSInteger)value forKey:(NSString *)defaultName;
+
+/// Equivalent to -setObject:forKey: except that the value is converted from a BOOL to an NSNumber.
+- (void)setBool:(BOOL)value forKey:(NSString *)defaultName;
+
+#pragma mark - Removing Defaults
+
+/// Equivalent to -[... setObject:nil forKey:defaultName]
+- (void)removeObjectForKey:(NSString *)defaultName;
+
+#pragma mark - Save data
+
+/// Blocks the calling thread until all in-progress set operations have completed.
+- (void)synchronize;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 41 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/GoogleUtilities-umbrella.h

@@ -0,0 +1,41 @@
+#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 "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 "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[];
+

+ 37 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/GoogleUtilities.framework/Headers/NSURLSession+GULPromises.h

@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class FBLPromise<Value>;
+@class GULURLSessionDataResponse;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** Promise based API for `NSURLSession`. */
+@interface NSURLSession (GULPromises)
+
+/** Creates a promise wrapping `-[NSURLSession dataTaskWithRequest:completionHandler:]` method.
+ * @param URLRequest The request to create a data task with.
+ * @return A promise that is fulfilled when an HTTP response is received (with any response code),
+ * or is rejected with the error passed to the task completion.
+ */
+- (FBLPromise<GULURLSessionDataResponse *> *)gul_dataTaskPromiseWithRequest:
+    (NSURLRequest *)URLRequest;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 20 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/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.7.0</string>
+	<key>DTSDKName</key>
+	<string>iphonesimulator11.2</string>
+</dict>
+</plist>

+ 63 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+All.h

@@ -0,0 +1,63 @@
+/**
+ 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

+ 54 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Always.h

@@ -0,0 +1,54 @@
+/**
+ 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

+ 69 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Any.h

@@ -0,0 +1,69 @@
+/**
+ 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

+ 60 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Async.h

@@ -0,0 +1,60 @@
+/**
+ 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

+ 32 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Await.h

@@ -0,0 +1,32 @@
+/**
+ 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

+ 59 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Catch.h

@@ -0,0 +1,59 @@
+/**
+ 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

+ 59 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Delay.h

@@ -0,0 +1,59 @@
+/**
+ 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

+ 55 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Do.h

@@ -0,0 +1,55 @@
+/**
+ 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

+ 62 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Race.h

@@ -0,0 +1,62 @@
+/**
+ 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

+ 60 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Recover.h

@@ -0,0 +1,60 @@
+/**
+ 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

+ 71 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Reduce.h

@@ -0,0 +1,71 @@
+/**
+ 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

+ 165 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.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.
+ */
++ (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

+ 57 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Testing.h

@@ -0,0 +1,57 @@
+/**
+ 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

+ 63 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Then.h

@@ -0,0 +1,63 @@
+/**
+ 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

+ 57 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Timeout.h

@@ -0,0 +1,57 @@
+/**
+ 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

+ 60 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Validate.h

@@ -0,0 +1,60 @@
+/**
+ 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

+ 316 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise+Wrap.h

@@ -0,0 +1,316 @@
+/**
+ 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

+ 93 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromise.h

@@ -0,0 +1,93 @@
+/**
+ 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

+ 43 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromiseError.h

@@ -0,0 +1,43 @@
+/**
+ 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

+ 32 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/FBLPromises.h

@@ -0,0 +1,32 @@
+/**
+ 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"

+ 36 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/Headers/PromisesObjC-umbrella.h

@@ -0,0 +1,36 @@
+#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 "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[];
+

+ 20 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.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>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>

BIN
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/PromisesObjC.framework/PromisesObjC


+ 0 - 0
PDF Office/PDF Master/Third Pard Library/FirebaseAnalytics/nanopb.framework/Headers/nanopb-umbrella.h


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä