From fede6eca060a60c0232bf7f1328462a27728d823 Mon Sep 17 00:00:00 2001 From: ryanzhao Date: Tue, 24 Mar 2020 11:30:23 +1100 Subject: [PATCH] update pods for PN with preview --- Manifest.lock | 6 +- Mixpanel/LICENSE | 259 - Mixpanel/Mixpanel/AutomaticEvents.h | 24 - Mixpanel/Mixpanel/AutomaticEvents.m | 152 - Mixpanel/Mixpanel/AutomaticTracksConstants.h | 17 - Mixpanel/Mixpanel/Images/MPArrowLeft.png | Bin 1222 -> 0 bytes Mixpanel/Mixpanel/Images/MPArrowLeft@2x.png | Bin 1353 -> 0 bytes Mixpanel/Mixpanel/Images/MPArrowRight.png | Bin 1210 -> 0 bytes Mixpanel/Mixpanel/Images/MPArrowRight@2x.png | Bin 1342 -> 0 bytes Mixpanel/Mixpanel/Images/MPCheckmark.png | Bin 1106 -> 0 bytes Mixpanel/Mixpanel/Images/MPCheckmark@2x.png | Bin 1286 -> 0 bytes Mixpanel/Mixpanel/Images/MPCloseButton.png | Bin 381 -> 0 bytes Mixpanel/Mixpanel/Images/MPCloseButton@2x.png | Bin 1382 -> 0 bytes Mixpanel/Mixpanel/Images/MPCloseButton@3x.png | Bin 2289 -> 0 bytes .../Mixpanel/Images/MPDismissKeyboard.png | Bin 1228 -> 0 bytes .../Mixpanel/Images/MPDismissKeyboard@2x.png | Bin 1169 -> 0 bytes Mixpanel/Mixpanel/Images/MPLogo.png | Bin 1991 -> 0 bytes Mixpanel/Mixpanel/Images/MPLogo@2x.png | Bin 3070 -> 0 bytes .../Mixpanel/Images/placeholder-image.png | Bin 8806 -> 0 bytes .../MPABTestDesignerChangeRequestMessage.h | 11 - .../MPABTestDesignerChangeRequestMessage.m | 44 - .../MPABTestDesignerChangeResponseMessage.h | 13 - .../MPABTestDesignerChangeResponseMessage.m | 23 - .../MPABTestDesignerClearRequestMessage.h | 10 - .../MPABTestDesignerClearRequestMessage.m | 44 - .../MPABTestDesignerClearResponseMessage.h | 17 - .../MPABTestDesignerClearResponseMessage.m | 28 - .../Mixpanel/MPABTestDesignerConnection.h | 24 - .../Mixpanel/MPABTestDesignerConnection.m | 316 - ...MPABTestDesignerDeviceInfoRequestMessage.h | 11 - ...MPABTestDesignerDeviceInfoRequestMessage.m | 104 - ...PABTestDesignerDeviceInfoResponseMessage.h | 22 - ...PABTestDesignerDeviceInfoResponseMessage.m | 114 - .../MPABTestDesignerDisconnectMessage.h | 15 - .../MPABTestDesignerDisconnectMessage.m | 39 - Mixpanel/Mixpanel/MPABTestDesignerMessage.h | 19 - .../MPABTestDesignerSnapshotRequestMessage.h | 17 - .../MPABTestDesignerSnapshotRequestMessage.m | 86 - .../MPABTestDesignerSnapshotResponseMessage.h | 15 - .../MPABTestDesignerSnapshotResponseMessage.m | 61 - .../MPABTestDesignerTweakRequestMessage.h | 16 - .../MPABTestDesignerTweakRequestMessage.m | 49 - .../MPABTestDesignerTweakResponseMessage.h | 17 - .../MPABTestDesignerTweakResponseMessage.m | 28 - .../MPAbstractABTestDesignerMessage.h | 22 - .../MPAbstractABTestDesignerMessage.m | 79 - .../Mixpanel/MPApplicationStateSerializer.h | 17 - .../Mixpanel/MPApplicationStateSerializer.m | 66 - .../MPBOOLToNSNumberValueTransformer.m | 27 - ...ransform3DToNSDictionaryValueTransformer.m | 117 - ...eTransformToNSDictionaryValueTransformer.m | 74 - .../MPCGColorRefToNSStringValueTransformer.m | 30 - .../MPCGPointToNSDictionaryValueTransformer.m | 40 - .../MPCGRectToNSDictionaryValueTransformer.m | 42 - .../MPCGSizeToNSDictionaryValueTransformer.m | 40 - Mixpanel/Mixpanel/MPClassDescription.h | 25 - Mixpanel/Mixpanel/MPClassDescription.m | 77 - Mixpanel/Mixpanel/MPConnectIntegrations.h | 17 - Mixpanel/Mixpanel/MPConnectIntegrations.m | 98 - .../Mixpanel/MPDesignerEventBindingMessage.h | 44 - .../MPDesignerEventBindingRequestMesssage.m | 88 - .../MPDesignerEventBindingResponseMesssage.m | 28 - .../Mixpanel/MPDesignerSessionCollection.h | 15 - Mixpanel/Mixpanel/MPDesignerTrackMessage.m | 53 - Mixpanel/Mixpanel/MPDisplayTrigger.h | 13 - Mixpanel/Mixpanel/MPDisplayTrigger.m | 51 - Mixpanel/Mixpanel/MPEnumDescription.h | 14 - Mixpanel/Mixpanel/MPEnumDescription.m | 37 - Mixpanel/Mixpanel/MPEventBinding.h | 46 - Mixpanel/Mixpanel/MPEventBinding.m | 125 - Mixpanel/Mixpanel/MPFoundation.h | 10 - Mixpanel/Mixpanel/MPLogger.h | 107 - Mixpanel/Mixpanel/MPMiniNotification.h | 17 - Mixpanel/Mixpanel/MPMiniNotification.m | 60 - ...utedStringToNSDictionaryValueTransformer.m | 80 - .../MPNSNumberToCGFloatValueTransformer.m | 38 - Mixpanel/Mixpanel/MPNetwork.h | 39 - Mixpanel/Mixpanel/MPNetwork.m | 376 - Mixpanel/Mixpanel/MPNetworkPrivate.h | 40 - Mixpanel/Mixpanel/MPNotification.h | 24 - Mixpanel/Mixpanel/MPNotification.m | 141 - Mixpanel/Mixpanel/MPNotificationButton.h | 22 - Mixpanel/Mixpanel/MPNotificationButton.m | 69 - .../Mixpanel/MPNotificationViewController.h | 31 - .../Mixpanel/MPNotificationViewController.m | 600 - .../Mixpanel/MPObjectIdentifierProvider.h | 9 - Mixpanel/Mixpanel/MPObjectIdentityProvider.h | 10 - Mixpanel/Mixpanel/MPObjectIdentityProvider.m | 39 - Mixpanel/Mixpanel/MPObjectSelector.h | 28 - Mixpanel/Mixpanel/MPObjectSelector.m | 441 - Mixpanel/Mixpanel/MPObjectSerializer.h | 20 - Mixpanel/Mixpanel/MPObjectSerializer.m | 317 - Mixpanel/Mixpanel/MPObjectSerializerConfig.h | 22 - Mixpanel/Mixpanel/MPObjectSerializerConfig.m | 73 - Mixpanel/Mixpanel/MPObjectSerializerContext.h | 21 - Mixpanel/Mixpanel/MPObjectSerializerContext.m | 69 - .../Mixpanel/MPPassThroughValueTransformer.m | 31 - Mixpanel/Mixpanel/MPPropertyDescription.h | 43 - Mixpanel/Mixpanel/MPPropertyDescription.m | 158 - Mixpanel/Mixpanel/MPResources.h | 20 - Mixpanel/Mixpanel/MPResources.m | 49 - Mixpanel/Mixpanel/MPSequenceGenerator.h | 10 - Mixpanel/Mixpanel/MPSequenceGenerator.m | 34 - Mixpanel/Mixpanel/MPSwizzle.h | 20 - Mixpanel/Mixpanel/MPSwizzle.m | 134 - Mixpanel/Mixpanel/MPSwizzler.h | 26 - Mixpanel/Mixpanel/MPSwizzler.m | 270 - Mixpanel/Mixpanel/MPTakeoverNotification.h | 20 - Mixpanel/Mixpanel/MPTakeoverNotification.m | 69 - ...akeoverNotificationViewController~ipad.xib | 218 - ...ficationViewController~iphonelandscape.xib | 220 - ...ificationViewController~iphoneportrait.xib | 205 - Mixpanel/Mixpanel/MPTweak.h | 99 - Mixpanel/Mixpanel/MPTweak.m | 62 - Mixpanel/Mixpanel/MPTweakInline.h | 40 - Mixpanel/Mixpanel/MPTweakInline.m | 150 - Mixpanel/Mixpanel/MPTweakInlineInternal.h | 133 - Mixpanel/Mixpanel/MPTweakStore.h | 54 - Mixpanel/Mixpanel/MPTweakStore.m | 69 - Mixpanel/Mixpanel/MPTypeDescription.h | 12 - Mixpanel/Mixpanel/MPTypeDescription.m | 18 - .../MPUIColorToNSStringValueTransformer.m | 73 - Mixpanel/Mixpanel/MPUIControlBinding.h | 23 - Mixpanel/Mixpanel/MPUIControlBinding.m | 271 - ...EdgeInsetsToNSDictionaryValueTransformer.m | 54 - .../MPUIFontToNSDictionaryValueTransformer.m | 67 - .../MPUIImageToNSDictionaryValueTransformer.m | 144 - Mixpanel/Mixpanel/MPUITableViewBinding.h | 16 - Mixpanel/Mixpanel/MPUITableViewBinding.m | 129 - Mixpanel/Mixpanel/MPValueTransformers.h | 94 - Mixpanel/Mixpanel/MPVariant.h | 81 - Mixpanel/Mixpanel/MPVariant.m | 748 - Mixpanel/Mixpanel/MPWebSocket.h | 117 - Mixpanel/Mixpanel/MPWebSocket.m | 1782 -- Mixpanel/Mixpanel/Mixpanel+AutomaticTracks.h | 16 - Mixpanel/Mixpanel/Mixpanel+AutomaticTracks.m | 72 - Mixpanel/Mixpanel/Mixpanel.h | 884 - Mixpanel/Mixpanel/Mixpanel.m | 2449 -- Mixpanel/Mixpanel/MixpanelExceptionHandler.h | 17 - Mixpanel/Mixpanel/MixpanelExceptionHandler.m | 142 - Mixpanel/Mixpanel/MixpanelGroup.h | 73 - Mixpanel/Mixpanel/MixpanelGroup.m | 142 - Mixpanel/Mixpanel/MixpanelGroupPrivate.h | 20 - Mixpanel/Mixpanel/MixpanelPeople.h | 229 - Mixpanel/Mixpanel/MixpanelPeople.m | 300 - Mixpanel/Mixpanel/MixpanelPeoplePrivate.h | 22 - Mixpanel/Mixpanel/MixpanelPrivate.h | 162 - Mixpanel/Mixpanel/MixpanelType.h | 39 - Mixpanel/Mixpanel/MixpanelType.m | 102 - Mixpanel/Mixpanel/NSInvocation+MPHelpers.h | 11 - Mixpanel/Mixpanel/NSInvocation+MPHelpers.m | 188 - .../NSNotificationCenter+AutomaticTracks.h | 23 - .../NSNotificationCenter+AutomaticTracks.m | 47 - Mixpanel/Mixpanel/NSThread+MPHelpers.h | 15 - Mixpanel/Mixpanel/NSThread+MPHelpers.m | 21 - Mixpanel/Mixpanel/SelectorEvaluator.h | 96 - Mixpanel/Mixpanel/SelectorEvaluator.m | 795 - Mixpanel/Mixpanel/SessionMetadata.h | 22 - Mixpanel/Mixpanel/SessionMetadata.m | 53 - .../Mixpanel/UIApplication+AutomaticTracks.h | 22 - .../Mixpanel/UIApplication+AutomaticTracks.m | 20 - Mixpanel/Mixpanel/UIColor+MPColor.h | 14 - Mixpanel/Mixpanel/UIColor+MPColor.m | 82 - Mixpanel/Mixpanel/UIImage+MPAverageColor.h | 8 - Mixpanel/Mixpanel/UIImage+MPAverageColor.m | 84 - Mixpanel/Mixpanel/UIImage+MPImageEffects.h | 105 - Mixpanel/Mixpanel/UIImage+MPImageEffects.m | 276 - Mixpanel/Mixpanel/UIView+MPHelpers.h | 12 - Mixpanel/Mixpanel/UIView+MPHelpers.m | 208 - .../UIViewController+AutomaticTracks.h | 19 - .../UIViewController+AutomaticTracks.m | 40 - Mixpanel/Mixpanel/_MPTweakBindObserver.h | 40 - Mixpanel/Mixpanel/_MPTweakBindObserver.m | 57 - Mixpanel/README.md | 113 - Pods.xcodeproj/project.pbxproj | 23686 ++++++++-------- .../Mixpanel/Mixpanel-dummy.m | 5 - .../Mixpanel/Mixpanel-umbrella.h | 25 - .../Mixpanel/Mixpanel.modulemap | 6 - .../Mixpanel/Mixpanel.xcconfig | 9 - .../Info.plist | 2 +- ...ificationService-acknowledgements.markdown | 4122 +++ ...NotificationService-acknowledgements.plist | 4274 +++ .../Pods-LokiPushNotificationService-dummy.m | 5 + ...s-LokiPushNotificationService-resources.sh | 118 + ...ds-LokiPushNotificationService-umbrella.h} | 4 + ...ficationService.app store release.xcconfig | 11 + ...LokiPushNotificationService.debug.xcconfig | 11 + ...Pods-LokiPushNotificationService.modulemap | 6 + ...kiPushNotificationService.release.xcconfig | 11 + .../Pods-Signal-acknowledgements.markdown | 263 - .../Pods-Signal-acknowledgements.plist | 269 - .../Pods-Signal/Pods-Signal-frameworks.sh | 2 - .../Pods-Signal.app store release.xcconfig | 6 +- .../Pods-Signal/Pods-Signal.debug.xcconfig | 6 +- .../Pods-Signal/Pods-Signal.release.xcconfig | 6 +- ...ods-SignalTests.app store release.xcconfig | 6 +- .../Pods-SignalTests.debug.xcconfig | 6 +- .../Pods-SignalTests.release.xcconfig | 6 +- 198 files changed, 20203 insertions(+), 31054 deletions(-) delete mode 100644 Mixpanel/LICENSE delete mode 100644 Mixpanel/Mixpanel/AutomaticEvents.h delete mode 100644 Mixpanel/Mixpanel/AutomaticEvents.m delete mode 100644 Mixpanel/Mixpanel/AutomaticTracksConstants.h delete mode 100644 Mixpanel/Mixpanel/Images/MPArrowLeft.png delete mode 100644 Mixpanel/Mixpanel/Images/MPArrowLeft@2x.png delete mode 100644 Mixpanel/Mixpanel/Images/MPArrowRight.png delete mode 100644 Mixpanel/Mixpanel/Images/MPArrowRight@2x.png delete mode 100644 Mixpanel/Mixpanel/Images/MPCheckmark.png delete mode 100644 Mixpanel/Mixpanel/Images/MPCheckmark@2x.png delete mode 100644 Mixpanel/Mixpanel/Images/MPCloseButton.png delete mode 100644 Mixpanel/Mixpanel/Images/MPCloseButton@2x.png delete mode 100644 Mixpanel/Mixpanel/Images/MPCloseButton@3x.png delete mode 100644 Mixpanel/Mixpanel/Images/MPDismissKeyboard.png delete mode 100644 Mixpanel/Mixpanel/Images/MPDismissKeyboard@2x.png delete mode 100644 Mixpanel/Mixpanel/Images/MPLogo.png delete mode 100644 Mixpanel/Mixpanel/Images/MPLogo@2x.png delete mode 100644 Mixpanel/Mixpanel/Images/placeholder-image.png delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerChangeRequestMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerChangeRequestMessage.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerChangeResponseMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerChangeResponseMessage.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerClearRequestMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerClearRequestMessage.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerClearResponseMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerClearResponseMessage.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerConnection.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerConnection.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoRequestMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoRequestMessage.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoResponseMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoResponseMessage.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerDisconnectMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerDisconnectMessage.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerSnapshotRequestMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerSnapshotRequestMessage.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerSnapshotResponseMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerSnapshotResponseMessage.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerTweakRequestMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerTweakRequestMessage.m delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerTweakResponseMessage.h delete mode 100644 Mixpanel/Mixpanel/MPABTestDesignerTweakResponseMessage.m delete mode 100644 Mixpanel/Mixpanel/MPAbstractABTestDesignerMessage.h delete mode 100644 Mixpanel/Mixpanel/MPAbstractABTestDesignerMessage.m delete mode 100644 Mixpanel/Mixpanel/MPApplicationStateSerializer.h delete mode 100644 Mixpanel/Mixpanel/MPApplicationStateSerializer.m delete mode 100644 Mixpanel/Mixpanel/MPBOOLToNSNumberValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPCATransform3DToNSDictionaryValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPCGAffineTransformToNSDictionaryValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPCGColorRefToNSStringValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPCGPointToNSDictionaryValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPCGRectToNSDictionaryValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPCGSizeToNSDictionaryValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPClassDescription.h delete mode 100644 Mixpanel/Mixpanel/MPClassDescription.m delete mode 100644 Mixpanel/Mixpanel/MPConnectIntegrations.h delete mode 100644 Mixpanel/Mixpanel/MPConnectIntegrations.m delete mode 100644 Mixpanel/Mixpanel/MPDesignerEventBindingMessage.h delete mode 100644 Mixpanel/Mixpanel/MPDesignerEventBindingRequestMesssage.m delete mode 100644 Mixpanel/Mixpanel/MPDesignerEventBindingResponseMesssage.m delete mode 100644 Mixpanel/Mixpanel/MPDesignerSessionCollection.h delete mode 100644 Mixpanel/Mixpanel/MPDesignerTrackMessage.m delete mode 100644 Mixpanel/Mixpanel/MPDisplayTrigger.h delete mode 100644 Mixpanel/Mixpanel/MPDisplayTrigger.m delete mode 100644 Mixpanel/Mixpanel/MPEnumDescription.h delete mode 100644 Mixpanel/Mixpanel/MPEnumDescription.m delete mode 100644 Mixpanel/Mixpanel/MPEventBinding.h delete mode 100644 Mixpanel/Mixpanel/MPEventBinding.m delete mode 100644 Mixpanel/Mixpanel/MPFoundation.h delete mode 100644 Mixpanel/Mixpanel/MPLogger.h delete mode 100644 Mixpanel/Mixpanel/MPMiniNotification.h delete mode 100644 Mixpanel/Mixpanel/MPMiniNotification.m delete mode 100644 Mixpanel/Mixpanel/MPNSAttributedStringToNSDictionaryValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPNSNumberToCGFloatValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPNetwork.h delete mode 100644 Mixpanel/Mixpanel/MPNetwork.m delete mode 100644 Mixpanel/Mixpanel/MPNetworkPrivate.h delete mode 100644 Mixpanel/Mixpanel/MPNotification.h delete mode 100644 Mixpanel/Mixpanel/MPNotification.m delete mode 100644 Mixpanel/Mixpanel/MPNotificationButton.h delete mode 100644 Mixpanel/Mixpanel/MPNotificationButton.m delete mode 100644 Mixpanel/Mixpanel/MPNotificationViewController.h delete mode 100644 Mixpanel/Mixpanel/MPNotificationViewController.m delete mode 100644 Mixpanel/Mixpanel/MPObjectIdentifierProvider.h delete mode 100644 Mixpanel/Mixpanel/MPObjectIdentityProvider.h delete mode 100644 Mixpanel/Mixpanel/MPObjectIdentityProvider.m delete mode 100644 Mixpanel/Mixpanel/MPObjectSelector.h delete mode 100644 Mixpanel/Mixpanel/MPObjectSelector.m delete mode 100644 Mixpanel/Mixpanel/MPObjectSerializer.h delete mode 100644 Mixpanel/Mixpanel/MPObjectSerializer.m delete mode 100644 Mixpanel/Mixpanel/MPObjectSerializerConfig.h delete mode 100644 Mixpanel/Mixpanel/MPObjectSerializerConfig.m delete mode 100644 Mixpanel/Mixpanel/MPObjectSerializerContext.h delete mode 100644 Mixpanel/Mixpanel/MPObjectSerializerContext.m delete mode 100644 Mixpanel/Mixpanel/MPPassThroughValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPPropertyDescription.h delete mode 100644 Mixpanel/Mixpanel/MPPropertyDescription.m delete mode 100644 Mixpanel/Mixpanel/MPResources.h delete mode 100644 Mixpanel/Mixpanel/MPResources.m delete mode 100644 Mixpanel/Mixpanel/MPSequenceGenerator.h delete mode 100644 Mixpanel/Mixpanel/MPSequenceGenerator.m delete mode 100755 Mixpanel/Mixpanel/MPSwizzle.h delete mode 100755 Mixpanel/Mixpanel/MPSwizzle.m delete mode 100644 Mixpanel/Mixpanel/MPSwizzler.h delete mode 100644 Mixpanel/Mixpanel/MPSwizzler.m delete mode 100644 Mixpanel/Mixpanel/MPTakeoverNotification.h delete mode 100644 Mixpanel/Mixpanel/MPTakeoverNotification.m delete mode 100644 Mixpanel/Mixpanel/MPTakeoverNotificationViewController~ipad.xib delete mode 100644 Mixpanel/Mixpanel/MPTakeoverNotificationViewController~iphonelandscape.xib delete mode 100644 Mixpanel/Mixpanel/MPTakeoverNotificationViewController~iphoneportrait.xib delete mode 100644 Mixpanel/Mixpanel/MPTweak.h delete mode 100644 Mixpanel/Mixpanel/MPTweak.m delete mode 100644 Mixpanel/Mixpanel/MPTweakInline.h delete mode 100644 Mixpanel/Mixpanel/MPTweakInline.m delete mode 100644 Mixpanel/Mixpanel/MPTweakInlineInternal.h delete mode 100644 Mixpanel/Mixpanel/MPTweakStore.h delete mode 100644 Mixpanel/Mixpanel/MPTweakStore.m delete mode 100644 Mixpanel/Mixpanel/MPTypeDescription.h delete mode 100644 Mixpanel/Mixpanel/MPTypeDescription.m delete mode 100644 Mixpanel/Mixpanel/MPUIColorToNSStringValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPUIControlBinding.h delete mode 100644 Mixpanel/Mixpanel/MPUIControlBinding.m delete mode 100644 Mixpanel/Mixpanel/MPUIEdgeInsetsToNSDictionaryValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPUIFontToNSDictionaryValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPUIImageToNSDictionaryValueTransformer.m delete mode 100644 Mixpanel/Mixpanel/MPUITableViewBinding.h delete mode 100644 Mixpanel/Mixpanel/MPUITableViewBinding.m delete mode 100644 Mixpanel/Mixpanel/MPValueTransformers.h delete mode 100644 Mixpanel/Mixpanel/MPVariant.h delete mode 100644 Mixpanel/Mixpanel/MPVariant.m delete mode 100644 Mixpanel/Mixpanel/MPWebSocket.h delete mode 100644 Mixpanel/Mixpanel/MPWebSocket.m delete mode 100755 Mixpanel/Mixpanel/Mixpanel+AutomaticTracks.h delete mode 100644 Mixpanel/Mixpanel/Mixpanel+AutomaticTracks.m delete mode 100644 Mixpanel/Mixpanel/Mixpanel.h delete mode 100755 Mixpanel/Mixpanel/Mixpanel.m delete mode 100644 Mixpanel/Mixpanel/MixpanelExceptionHandler.h delete mode 100644 Mixpanel/Mixpanel/MixpanelExceptionHandler.m delete mode 100644 Mixpanel/Mixpanel/MixpanelGroup.h delete mode 100644 Mixpanel/Mixpanel/MixpanelGroup.m delete mode 100644 Mixpanel/Mixpanel/MixpanelGroupPrivate.h delete mode 100644 Mixpanel/Mixpanel/MixpanelPeople.h delete mode 100644 Mixpanel/Mixpanel/MixpanelPeople.m delete mode 100644 Mixpanel/Mixpanel/MixpanelPeoplePrivate.h delete mode 100644 Mixpanel/Mixpanel/MixpanelPrivate.h delete mode 100644 Mixpanel/Mixpanel/MixpanelType.h delete mode 100644 Mixpanel/Mixpanel/MixpanelType.m delete mode 100644 Mixpanel/Mixpanel/NSInvocation+MPHelpers.h delete mode 100644 Mixpanel/Mixpanel/NSInvocation+MPHelpers.m delete mode 100644 Mixpanel/Mixpanel/NSNotificationCenter+AutomaticTracks.h delete mode 100644 Mixpanel/Mixpanel/NSNotificationCenter+AutomaticTracks.m delete mode 100644 Mixpanel/Mixpanel/NSThread+MPHelpers.h delete mode 100644 Mixpanel/Mixpanel/NSThread+MPHelpers.m delete mode 100644 Mixpanel/Mixpanel/SelectorEvaluator.h delete mode 100644 Mixpanel/Mixpanel/SelectorEvaluator.m delete mode 100644 Mixpanel/Mixpanel/SessionMetadata.h delete mode 100644 Mixpanel/Mixpanel/SessionMetadata.m delete mode 100644 Mixpanel/Mixpanel/UIApplication+AutomaticTracks.h delete mode 100644 Mixpanel/Mixpanel/UIApplication+AutomaticTracks.m delete mode 100644 Mixpanel/Mixpanel/UIColor+MPColor.h delete mode 100644 Mixpanel/Mixpanel/UIColor+MPColor.m delete mode 100644 Mixpanel/Mixpanel/UIImage+MPAverageColor.h delete mode 100644 Mixpanel/Mixpanel/UIImage+MPAverageColor.m delete mode 100644 Mixpanel/Mixpanel/UIImage+MPImageEffects.h delete mode 100644 Mixpanel/Mixpanel/UIImage+MPImageEffects.m delete mode 100644 Mixpanel/Mixpanel/UIView+MPHelpers.h delete mode 100755 Mixpanel/Mixpanel/UIView+MPHelpers.m delete mode 100644 Mixpanel/Mixpanel/UIViewController+AutomaticTracks.h delete mode 100644 Mixpanel/Mixpanel/UIViewController+AutomaticTracks.m delete mode 100644 Mixpanel/Mixpanel/_MPTweakBindObserver.h delete mode 100644 Mixpanel/Mixpanel/_MPTweakBindObserver.m delete mode 100644 Mixpanel/README.md delete mode 100644 Target Support Files/Mixpanel/Mixpanel-dummy.m delete mode 100644 Target Support Files/Mixpanel/Mixpanel-umbrella.h delete mode 100644 Target Support Files/Mixpanel/Mixpanel.modulemap delete mode 100644 Target Support Files/Mixpanel/Mixpanel.xcconfig rename Target Support Files/{Mixpanel => Pods-LokiPushNotificationService}/Info.plist (96%) create mode 100644 Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-acknowledgements.markdown create mode 100644 Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-acknowledgements.plist create mode 100644 Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-dummy.m create mode 100755 Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-resources.sh rename Target Support Files/{Mixpanel/Mixpanel-prefix.pch => Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-umbrella.h} (54%) create mode 100644 Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.app store release.xcconfig create mode 100644 Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.debug.xcconfig create mode 100644 Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.modulemap create mode 100644 Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.release.xcconfig diff --git a/Manifest.lock b/Manifest.lock index 8074df56..f2d174e6 100644 --- a/Manifest.lock +++ b/Manifest.lock @@ -60,7 +60,6 @@ PODS: - Mantle (2.1.0): - Mantle/extobjc (= 2.1.0) - Mantle/extobjc (2.1.0) - - Mixpanel (3.4.7) - NVActivityIndicatorView (4.7.0): - NVActivityIndicatorView/Presenter (= 4.7.0) - NVActivityIndicatorView/Presenter (4.7.0) @@ -220,7 +219,6 @@ DEPENDENCIES: - HKDFKit (from `https://github.com/signalapp/HKDFKit.git`) - HKDFKit/Tests (from `https://github.com/signalapp/HKDFKit.git`) - Mantle (from `https://github.com/signalapp/Mantle`, branch `signal-master`) - - Mixpanel (~> 3.4) - NVActivityIndicatorView (~> 4.7) - PromiseKit (= 6.5.3) - PureLayout @@ -249,7 +247,6 @@ SPEC REPOS: - GCDWebServer - GoogleUtilities - libPhoneNumber-iOS - - Mixpanel - NVActivityIndicatorView - PromiseKit - PureLayout @@ -331,7 +328,6 @@ SPEC CHECKSUMS: HKDFKit: 3b6dbbb9d59c221cc6c52c3aa915700cbf24e376 libPhoneNumber-iOS: e444379ac18bbfbdefad571da735b2cd7e096caa Mantle: 2fa750afa478cd625a94230fbf1c13462f29395b - Mixpanel: 696e0a1c7f2685aa06bb23829b7a58ab7203d6c7 NVActivityIndicatorView: b19ddab2576f805cbe0fb2306cba3476e09a1dea PromiseKit: c609029bdd801f792551a504c695c7d3098b42cd PureLayout: f08c01b8dec00bb14a1fefa3de4c7d9c265df85e @@ -347,6 +343,6 @@ SPEC CHECKSUMS: YapDatabase: b418a4baa6906e8028748938f9159807fd039af4 YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54 -PODFILE CHECKSUM: 156b349e2791f53224143291e318592b9c1f7ade +PODFILE CHECKSUM: 472252f3a4801d0d14d9553ff33cf52ef0846dc3 COCOAPODS: 1.5.3 diff --git a/Mixpanel/LICENSE b/Mixpanel/LICENSE deleted file mode 100644 index b2aa8c22..00000000 --- a/Mixpanel/LICENSE +++ /dev/null @@ -1,259 +0,0 @@ -Copyright 2013 Mixpanel, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this work except in compliance with the License. -You may obtain a copy of the License below, or at: - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -================================================================================ - -_MPTweakBindObserver.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -_MPTweakBindObserver.m Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweak.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweak.m Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakInline.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakInline.m Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakInlineInternal.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakStore.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakStore.m Copyright (c) 2014, Facebook, Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - - -* Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation - -and/or other materials provided with the distribution. - -* Neither the name Facebook nor the names of its contributors may be used to - -endorse or promote products derived from this software without specific -prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Mixpanel/Mixpanel/AutomaticEvents.h b/Mixpanel/Mixpanel/AutomaticEvents.h deleted file mode 100644 index 7ee9e335..00000000 --- a/Mixpanel/Mixpanel/AutomaticEvents.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// AutomaticEvents.h -// Mixpanel -// -// Created by Yarden Eitan on 4/18/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import -#import "MixpanelPeople.h" - - -@protocol TrackDelegate -- (void)track:(NSString *)event properties:(NSDictionary *)properties; -@end - -@interface AutomaticEvents: NSObject -@property (atomic, weak) id delegate; -@property (atomic, assign) UInt64 minimumSessionDuration; -@property (atomic, assign) UInt64 maximumSessionDuration; -- (void)initializeEvents:(MixpanelPeople *)peopleInstance; - -@end - diff --git a/Mixpanel/Mixpanel/AutomaticEvents.m b/Mixpanel/Mixpanel/AutomaticEvents.m deleted file mode 100644 index e31e80b4..00000000 --- a/Mixpanel/Mixpanel/AutomaticEvents.m +++ /dev/null @@ -1,152 +0,0 @@ -// -// AutomaticEvents.m -// Mixpanel -// -// Created by Yarden Eitan on 4/18/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import "AutomaticEvents.h" -#import "MPSwizzler.h" -#import -#import - -@interface AutomaticEvents() - -@end - -@implementation AutomaticEvents { - NSMutableDictionary *awaitingTransactions; - NSUserDefaults *defaults; - NSTimeInterval sessionLength; - NSTimeInterval sessionStartTime; - MixpanelPeople *people; -} - -- (instancetype)init -{ - self = [super init]; - if (self) { - awaitingTransactions = [[NSMutableDictionary alloc] init]; - defaults = [[NSUserDefaults alloc] initWithSuiteName:@"Mixpanel"]; - sessionLength = 0; - sessionStartTime = [[NSDate date] timeIntervalSince1970]; - self.minimumSessionDuration = 10000; - self.maximumSessionDuration = UINT64_MAX; - } - return self; -} - -- (void)initializeEvents:(MixpanelPeople *)peopleInstance { - people = peopleInstance; - NSString *firstOpenKey = @"MPFirstOpen"; - if (defaults != nil && ![defaults boolForKey:firstOpenKey]) { - if (![self isExistingUser]) { - [self.delegate track:@"$ae_first_open" properties:nil]; - [people setOnce:@{@"$ae_first_app_open_date": [NSDate date]}]; - } - [defaults setBool:TRUE forKey:firstOpenKey]; - [defaults synchronize]; - } - - NSDictionary* infoDict = [NSBundle mainBundle].infoDictionary; - if (defaults != nil && infoDict != nil) { - NSString* appVersionKey = @"MPAppVersion"; - NSString* appVersionValue = infoDict[@"CFBundleShortVersionString"]; - NSString* savedVersionValue = [defaults stringForKey:appVersionKey]; - if (appVersionValue != nil && savedVersionValue != nil && - [appVersionValue compare:savedVersionValue options:NSNumericSearch] == NSOrderedDescending) { - [self.delegate track:@"$ae_updated" properties:@{@"$ae_updated_version": appVersionValue}]; - [defaults setObject:appVersionValue forKey:appVersionKey]; - [defaults synchronize]; - } else if (savedVersionValue == nil) { - [defaults setObject:appVersionValue forKey:appVersionKey]; - [defaults synchronize]; - } - } - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(appWillResignActive:) - name:UIApplicationWillResignActiveNotification - object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(appDidBecomeActive:) - name:UIApplicationDidBecomeActiveNotification - object:nil]; - - [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; - -} - -- (void)appWillResignActive:(NSNotification *)notification { - sessionLength = [self roundOneDigit:[[NSDate date] timeIntervalSince1970] - sessionStartTime]; - if (sessionLength >= (double)(self.minimumSessionDuration / 1000) && - sessionLength <= (double)(self.maximumSessionDuration / 1000)) { - NSMutableDictionary *properties = [[NSMutableDictionary alloc] - initWithObjectsAndKeys:[NSNumber numberWithDouble:sessionLength], @"$ae_session_length", nil]; - [self.delegate track:@"$ae_session" properties:properties]; - [people increment:@"$ae_total_app_sessions" by:[NSNumber numberWithInt:1]]; - [people increment:@"$ae_total_app_session_length" by:[NSNumber numberWithInt:(int)sessionLength]]; - } -} - -- (void)appDidBecomeActive:(NSNotification *)notification { - NSTimeInterval nowTime = [[NSDate date] timeIntervalSince1970]; - sessionStartTime = nowTime; -} - -- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { - NSMutableSet *productIdentifiers = [[NSMutableSet alloc] init]; - @synchronized (awaitingTransactions) { - for (SKPaymentTransaction *transaction in transactions) { - if (transaction != nil) { - switch (transaction.transactionState) { - case SKPaymentTransactionStatePurchased: - [productIdentifiers addObject:transaction.payment.productIdentifier]; - [awaitingTransactions setObject:transaction forKey:transaction.payment.productIdentifier]; - break; - case SKPaymentTransactionStateFailed: - case SKPaymentTransactionStateRestored: - default: - break; - } - } - } - } - if ([productIdentifiers count] > 0) { - SKProductsRequest *productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers]; - productsRequest.delegate = self; - [productsRequest start]; - } -} - -- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { - @synchronized (awaitingTransactions) { - for (SKProduct *product in response.products) { - SKPaymentTransaction *transaction = [awaitingTransactions objectForKey:product.productIdentifier]; - if (transaction != nil) { - [self.delegate track:@"$ae_iap" properties:@{@"$ae_iap_price": product.price, - @"$ae_iap_quantity": [NSNumber numberWithInteger:transaction.payment.quantity], - @"$ae_iap_name": product.productIdentifier}]; - } - } - } -} - -- (NSTimeInterval)roundOneDigit:(NSTimeInterval) num { - return round(num * 10.0) / 10.0; -} - -- (BOOL)isExistingUser { - NSString *searchPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject]; - NSArray *pathContents = [NSFileManager.defaultManager contentsOfDirectoryAtPath:searchPath error:nil]; - for (NSString *path in pathContents) { - if ([path hasPrefix:@"mixpanel-"]) { - return true; - } - } - return false; -} - -@end diff --git a/Mixpanel/Mixpanel/AutomaticTracksConstants.h b/Mixpanel/Mixpanel/AutomaticTracksConstants.h deleted file mode 100644 index 9e7907cb..00000000 --- a/Mixpanel/Mixpanel/AutomaticTracksConstants.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// AutomaticTracksConstants.h -// Mixpanel -// -// Created by Sam Green on 3/22/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import - -typedef NS_ENUM(NSUInteger, AutomaticTrackMode) { - AutomaticTrackModeNone, - AutomaticTrackModeCount, -}; - -#pragma mark - Strings -static NSString *const kAutomaticTrackName = @"$ios_event"; diff --git a/Mixpanel/Mixpanel/Images/MPArrowLeft.png b/Mixpanel/Mixpanel/Images/MPArrowLeft.png deleted file mode 100644 index caee8af329e4262bdef352e8ab8827bf76023d28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmeAS@N?(olHy`uVBq!ia0vp^58U}fi7AzZCsS=07??9MLn2Bde0{8v^Kf6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M( zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}t-3#_`hBq$Z(46Le)Ln;eW^@CE2 z^Gl18f$@>14ATq@JNy=b6armid%nQ&$&53s)yYBbXW3^a9m5xtbVR8d#W`85+78I~p08x;PnI zx|tffS-6>#D)eE!^k6tV1qSVBa{GyQj{2W*c2*}7U$uG{x zFHmp}HdD~>O-#}1{rLaio>?x3?TCEC zj#&*>b7pihng=jHy6JF+|A-OK6DAq6Z03)5{|gidbhw`U%4p_jt5C;aS|cyOJu%zD zjGL$NhvAhEu?{*8oey7#&0zW%yyD^Q#u@X24o}o&SUPQbz~SkPhU}(1?1^p)57~NN zM>^>6_kN%3@JF!YrekJ9V-3Tl{oSk{77QC@Cbd{He`R1l!G6ZU&0gTS6RYDJRfjX& zM|wmg_>8{W>8x=O^KCtLuv+2Uk}#PC+&(Q)pM*OOXC^Xoe0R|O$$I4CmJJLo)(fWn yVSL0A6~S;w_rIXRG%>M;0@f={l24)-1QHl77WCMpMjrqbObni`elF{r5}E*+`HY(Y diff --git a/Mixpanel/Mixpanel/Images/MPArrowLeft@2x.png b/Mixpanel/Mixpanel/Images/MPArrowLeft@2x.png deleted file mode 100644 index 88a78573a80cf3f6a15b8e29f8745026a6330aba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1353 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!3HEluKbn(Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07??9MLn2Bde0{8v^Kf6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M( zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}t-3#_`hBq$Z(46Le)Ln;eW^@CE2 z^Gl18f$@>14ATq@JNy=b6armid%nQ&$&53s)yYBbXW3^a9m5xtbWc7+9E^85+78I~p08x;PnI zx|tffS-6>#D)$5E`ua$FAYGO%#QAmD%4lD%(WaO9R7iZ)b zC^!e3DQNg6CTHe>1T;Yr1o5v+YEfocYKmJ?ey##Igsn2MxPY+FA$n8D2{nD7WAs7E z11Y({gn(%f#Dph)AP1g(QuBa$rU;lhifRp!0PL@3*6WA*Nn z=T6&KuDkI>@4UXb_3zoDL0%IZRVx~;CC>kdUU}lvQ_+ga`-9u&?O_&i-4)qd`JyA{ zcT@hv?@K)PvW5OEpO<*4U3E+1g!)aY_j4L_E3QA0PdqcN#+Y#%?;bd6#3|3DKYbnchf0$xpbTS{dBn^tkia!jtg_8?rxD zH7LnQKG9!z-}PrkLzzXRzwbYpUolg|w|uzhx!9sbNTfwRxSe@MXlkC6o9(3V%WS~~ ztCnORdK~EOvDETg0q4|2wRdWE&2iK7AF14a(aL{2Lx6wN4z0qs&Qm+Ii?{EavQyzz zi2(a7g}y0{GOwB|);@aDz1HMzI-}V_sh!tYi!aPA*Yt|MCzcq?eKBh(Pud^u=?}MV hTH&0hTmvv4FO#n-k*bM*x diff --git a/Mixpanel/Mixpanel/Images/MPArrowRight.png b/Mixpanel/Mixpanel/Images/MPArrowRight.png deleted file mode 100644 index 1fc5c8b835c84d5e32b76dea94b0271dca37f2ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1210 zcmeAS@N?(olHy`uVBq!ia0vp^58U}fi7AzZCsS=07??9MLn2Bde0{8v^Kf6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M( zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}t-3#_`hBq$Z(46Le)Ln;eW^@CE2 z^Gl18f$@>14ATq@JNy=b6armid%nQ&$&53s)yYBbXW3^g0_l8n~Fbxf)oQni(3p8ao;pnYuU` zTe_JVx>>lGyTJ5%<`tJD<|U`X?9Bw)3)Sm_SFe?GQEFmIeo;t%ehw@J1Z3ow)eNyv)d8P=MIc)mf&43x}g{O;SNX4x!SJrnqIf@+r7|7FA z;HqQSpwqD?A!5SYEQ1I$39}hK`7H^lb9Vv)fnftYK%Z$^6W_N-us>&(rAH o>jOT1oIUSj^YZ`SVp$~^=Js4ET^V%e5U4cqboFyt=akR{0RHNiyZ`_I diff --git a/Mixpanel/Mixpanel/Images/MPArrowRight@2x.png b/Mixpanel/Mixpanel/Images/MPArrowRight@2x.png deleted file mode 100644 index baf91712776d725ea5bf85aa10db3c5c550229ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1342 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!3HEluKbn(Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07??9MLn2Bde0{8v^Kf6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M( zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}t-3#_`hBq$Z(46Le)Ln;eW^@CE2 z^Gl18f$@>14ATq@JNy=b6armid%nQ&$&53s)yYBbXW3^a9m5xtbW68d#W`85+78I~p08x;PnI zx|tffS-6>#D)oX%Rua$FAYGO%#QAmD%4lD%(WaO9R7iZ)b zC^!e3DQNg6CTHe>1T;Yr1o5v+YEfocYKmJ?ey##Igsn2MxPY+FA$n8D2{nD7WAs7E z11Y({gn(%f#Dph)AP1g(QuBa$rU;lhxb7WW%)r2y0>Vj=stu9{V+9^buGV5aW005Zv}PrXf%6Vdr#%VI zstumu_jnUKbf+?;F-&*t5GvAQ^szse?3A;b#h})L*J)1@`$Q*(%iWV_2<-OIWHGR{ z;BuO>u|4d!zp(t<5|P(49J()Syk7pzFpqKB&rK~;F0V3LrnEd(m3u?y9$60GJ9-P5 zpGf^xdw1-izj@(ed$;~j`Nfy?jj~nGg+y~^Khq1Dy|cteUF)(R|D&i(G z&R_lK=CLrLvoY#w7X!aW3u@2!`!>OoWkazU`{eCqb$*%oCc!t^tJaiP|8;I)WZ3g` V(bJle14f_{&C}J-Wt~$(69BXy&#nLf diff --git a/Mixpanel/Mixpanel/Images/MPCheckmark.png b/Mixpanel/Mixpanel/Images/MPCheckmark.png deleted file mode 100644 index c8dc06ff71810b44d8fcca7066d94094f691cc58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1106 zcmaJ=O=#0l98c|#`LS6ier?De@dHJhG_6UO*silp-HK+GuHp_NrpenDw|tnq*=(21 zI&|X2fqK`2h=}4u5d~$kgTg$xgNi5FLA;3~cu=e_bKN{xLz4I2pWpBI|9ls+o$Yli z8&?tpQJ3iubKZ)-`r76A|83;zEM7LFbT{fUdr(ofA+cXI3lL;jK2 z*frdlSBCo)UL_N)Am$2KK!->Mu0CKmf*U92bp^cl%rpt+A*er2{t2pE%7T<>L%>pz zpb}yjz;P6_m*qHS4+w{tFdf1#7i9JdEGLAcVBsOLH(Tuya^isnU-%R!`w+4Onl2WL zR53!Cb}!BFJnw0Q!$FJ)IztAM-Js!Yttg1lQEbgZnrQ$}Q7)K+C{E%?|D>Q>i?W8Z zP$pb3+LbMup+a6t6`&;jAFAt%Xb0usQoR2ZcJf0Oq;t?Q2W>}9#cZF6OsCJZK&p!aJ0)4s49~D@o*_v>#&D2qC@>?&NvuI>nkt0ZWRzi}Vn__J z43m!Vk#MSoPx8?;n`W6PSK*4LGN?lXRk-RBH(izM4TElB&my$7(@;HNn>v_JTF|P; zlB}w?z*VcqlB&w3aWJ&k+P_*|G2!{~wu^&{4~wG@4Lt8Q9_&j!BggQin9hj%^X~h? z&vH58pBQZ#KRfEK@pr77c=RJtGt*1XZfFA3*krju@vjOrpMU?gVSN4g>&xGpeUnpi zTie-K;92QpOYMX8w=ZlQzc||Bzjz~^txJr)+q9#eEL^(X{^nEt^vJcjEicZUsfFNa zNxi-$5LxzR`^|TQ;A8vSn&%JOey+Opi3=P)KUwzOqaWX&;IEXKsfGdH*o?e2vOic>)39|SF?#&5&N+ES7WW<-SSMjQ@oQrQTh#+ Ci)6e2 diff --git a/Mixpanel/Mixpanel/Images/MPCheckmark@2x.png b/Mixpanel/Mixpanel/Images/MPCheckmark@2x.png deleted file mode 100644 index cc6ec9f5222dcb510f6c020ef89162bcd4e3ac97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1286 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)j!3HGjh1XvOQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07?@QuLn2Bde0{8v^Kf6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M( zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}+T7#d8#0MoBXEYLU9GXQxBrqI_HztY@Xxa#7Ppj3o=u^L<)Qdy9y zACy|0Us{w5jJPyqkW~d%&PAz-CHX}m`T04pPz=b(FUc>?$S+WE4mMNJ@J&q4%mWE% zf_3=%T6yLbmn7yTr+T{BDgn*V%gju%GBR~CH#9Z3G;lF6H8gZJwlp?!wy<=vGP^Az77Ltu^?{Dj2SqJXRKtXT=?BDwCtM&0p7c}mfa$#mn6Oix=B6+(FjjcFIEGZ* zO8WEvzddtrgM`3-#z*xDawn9uk~J0VzREM*W7x=k!`Ng)#^L&q4_qCQ5-Vj&>>Tz; zcJELztv$qgW!Q<81j27ViJT?B|@Cr{r`?EKC)(WAOTS zY{?Xr9V#siKNRJ<)h0xxJe<6R?a}=Rol2e~HdnTAv}m6=Y5XMO2*=vK{|>d+{qi#X ubBetgI{q_!6fe4+*kh6-w3wlRftexZ3t!6g%9BcP000>X1^@s6#OZ}&0003*Nkl!Z;kdftLLMjwD1h~d2v~JMxxgUaRJHtE z=*R>7Msgt+P>1{nss&QWG*A+-5D#Pmfaa9WlcXDCJ?25u#N3h4b6(SG%+4?ipb?rC zU_xG?pzKF3$O{bcwV-dL? diff --git a/Mixpanel/Mixpanel/Images/MPCloseButton@2x.png b/Mixpanel/Mixpanel/Images/MPCloseButton@2x.png deleted file mode 100644 index e710710e733f5ba93c40ba5d7e928c05b9a29db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1382 zcmV-s1)2JZP)2DQP7zXfP+kuvrMV1zkDneOY2^2MoiEGsF{;3M6!7ZQ>a7hp~8o;P5vMGBvTCN}7 zGxj=`c4qFhPjYjow=-wX^FHUC_dU-{SF6?P!3u20DE46+`Z0!!IEmx<88=6RJxBdnpI{9&*2@sf}QF9?dVINm5JCm&SNYSb7GfZ zJ0JS7CmpZQtTMS0Z{syFoQfpcF@W9p14nT!6GLVTmX)~SDnXp)lqo8)4a-aRWmwFq zm09{>!2A(tN0Z7FmDs8ri5$JD4}FBm$p^fZZZis+(f6A22&4MpYkX^C{D$5+CCb zPKY^z*(G-zKZtDECnCC6ePyO`H?=pJI{qeJ)tM4U6NzKE+LpmOC>ak)>3kh|0=5h)7dPOs0->iAa~R zWph+gW-cOwcwXne)9*MdlI8}HCl)fwizuy3kw~5=ns7S~i<0B2Aki}GGgm<=WpX0j zg2X<}_)bUhVfwxyD%%yQy-wU2W_`1>>G)qF-9q~PcuRA>({cQrem{eQ!gTJ$oynEy zOZPY>NXdlfy9KWc-)Tg(Ny)-HyGi_{^POg{%#1J=$At+$nLn}GDW2KYAwjvFT}!jR zS?-V?#^p?`Q2Eo-Mf05!n(_eF3IVPNNB&kOo*#~=x6`Y;$8N$m%bzx{Lw_b#tF>a+ zR~EJ1j)W$Z=@BO20D9|gQQKFiT6^q-#@v}qB&^k9$G6aqv8cpX3a)rXbfQeYa^2PT zpr>W_QSW>xD$xmvc2rfSB?9^@{*qo8I3W_(kVrTy=eTe}yj;_i5_7fRuFN!^5%YI0 zTo4KOc(WlGCLwHn-dL_Xvb;1FUp!5A~g&b&N(jvc@STUsWFwM zf7~|vHqbfo(n`0G@R}$Ej)*n;s>MUD%vAbZ5miS%%*KTWb}W%NoBF7$)oSI9tPxL^ zhSG5+%H~_C!HX9EU9B9MDET*v)X*maJ0+&UMKLPw002t}1^@s6I8J)%000QMNklvTF($j$(lfhFJ*do2QUz%;N2Yy-amE5Kvm5%3eR z4!i?8OpZ+fv%muIG4f~0zMltLKpkikeEJdj^aJn=*Z~ePzv@|={|C1MIBlO7ft$cB zLR4J=&H@c!A0ho3m1srZ4Pz#pMl%R zw?)+MCIVv`sG;HI4Du@mYZ?W?3i68r@fhGU1k@LH(JA}CTiw3TAaLeUFP)<|@}Bbk z#;+;l_!4jj_zL-T9Rbm>GPUS8GYFU_^2MX7j(plekw<|BKTw!16C$n5YWBMVh4mD0 zfO@E7e_tU#C7pVUz+Zqb?R^<_YEk~vu1_uCD)M6&`LJrQ9D2oSMbsVS+Z;y&)o)D{1Z~6;Uky;8o&ceLYJ^4>h>~>#RE@lp97Mf4D55Sh98hk) zjG9N(oWU-1$qID;IAVk6?ejkQC|O3m>x>SR+ZnVH@Cku}5KS{kSta#i^S1BWI|cBo z{c{5?$W9OZ>2OvhC99;KTL*XpY@)VySMdL}0=^Asl4j4CnvyxF=k^+{t)8Jxb{nhU zp%pl9m0o1DCBz_0Maf*$1MLNW0UiKPfETEPDNsrR6y6Ic!WI~BppPvDC38>@G-j^> z-vRefAiW?Ovwn&i58{k`n&4#zFKxqh2$TbO@ z;u{>lry9n}DA_=i{H?EiPU>wTpdJBtf%^y#Pilfy*tX9r*7yT+riLP6p6V%Cw+8P- zWzQq3-6kLP?%L}C0^{eQywYuS!aGP?WXN40MRVxQ524zY?+sRZ-6) z>TBS8Gz)IgH(SRQ9};%j)6xI-sE(2y)IlCmm(ZZ!K+$&xMOGC+^;7RI0%{e_h`+Nz zm2V-yoQ```OUY%_QB5>ux2>)vl;XZ_<*KCKzc~gdDDSBa!uAKMqhtd`(-fM8ucMW7 z&FZ;k@1tfz2H8>6D+LP5!RnBYk}U*U3jyQnt|nT}e2}Of7=e1R9p`WkO4bMm1hd%T z00J=8P69@xUTi0cj$D+iqbPEKQjLu;2K8b)30OHP328xsF{u~ZFiz&0B~#ki)QfG{ zh{#3B6qbZ~u?-7WZc2`7$*33GsE$oCC6iJwwsE4MjFKI~!DcR%PKThySSKO%VjBmn zL6q#E+|)AKqBO}fj_spV@UKW)m5h3^r5ImgO70N^V08py4zPAmM)Ltm+xufCh;G`EEStCEf$;j1XS`40rt8i@~fQ_fsFhyrI(cJmsV9UZW$2K{{$J)a$#ugsED@}yu* zI`zsdDJ4(hQlD^;{g{8}K$^3v&*w&L=|S zTIO(WA=xStg?O@V8r?thF#;{s#&|4BmO1@CG@SR*{e5qcy!@t>X)z%h*M6}4&eoh7 z&PV73=4+I=dxJWwjXI{qglJr2=Vz>uSIMv8yoaLeXKVB(0>%gU1Kz*JwWng&aOR|5 zd00H&?iO1=}U^78dt2&w**P|IvN%z5J;fe=LQp`;WT?68dsN@`!KKt0_#&Nd;`sb z7nl$YXJon5JAP;H4Z@i95_L2MA$RQ=&WX`*MwVOSdIiyN#oF7wNBTo6G>^77sjLb$ zOD>J8-%x(hK6k;IvqEP`H%=uNl0}w-l64eeEwtV0-XlG01x_WZD5l=ONUvteMadb$ z(?kjqT{JeQ-hUA7?jjl{RkN677u3afg>75KqefRh_5Mi(vY$Syl9JnY?OkkVQ4sb( zzJVR3f->r@Q0*gDs-ol}>R`{Wb?;?n=v1^a%SIZ*zXzNbif*#*n*zHbtqyRyLX z&v)2BK=o@ltEOI=4WgvqL%ECw{o{OkgEF??A*tm#!L`$EB z4-xvS2%P%}tS5-$xv5uX8_0)u^v-H+!ejSp_UaI1mQPS3@*Y8#x=VETeJuX+JMUj3 zlwFYKrz?l32cDzHR6ayBd`@(i`UF@9`Q=YTIY59sMN0~ooX23TBep!U*BX63)jFN- z>5m_M&DjO#?0dYjKR~^+fw;Vm!gP{=>bDl^^m)SbNnOTSC*;jG2|m3<4C=8MEbPZq zh>re>7kc|BEVt40yhlg{PqM|&!SYuOmh1Q3FV}YU*#95uI)wcXH$H-q@%_A100000 LNkvXXu0mjfo;^KJ diff --git a/Mixpanel/Mixpanel/Images/MPDismissKeyboard.png b/Mixpanel/Mixpanel/Images/MPDismissKeyboard.png deleted file mode 100644 index eb30cf411fc815a45cf1f705ac7ad26a99344a55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1228 zcmeAS@N?(olHy`uVBq!ia0vp^azM<-!3HEPo~^M2Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07?@QuLn2Bde0{8v^Kf6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M( zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}+T7#d8#0MoBXEYLU9GXQxBrqI_HztY@Xxa#7Ppj3o=u^L<)Qdy9y zACy|0Us{w5jJPyqkW~d%&PAz-CHX}m`T04pPz=b(FUc>?$S+WE4mMNJ@J&q4%mWE% zf_3=%T6yLbmn7yTr+T{BDgn*V%gju%GBt6ubhWTBGcs{BG&FQIb~G?Hcd@WEF?BU| z1tK$;UYGpj(%jU%5}4i;gkE!;dO?XHw*Y9fOKMSOS!#+~QGTuh*wa>-xZPrc(>$o& z6x?nx#i>^x=oo!a)FMSSObD2MKumbT1#;j?KQ#}S-iv?<`^wT#CI$vZJ5LwKkcwMJ zE}zwA4U{*i&(- z%gNt|qCLxwf4^c}c_y~^+}?S=OwOOlUuIlS_13C;k3$ zuBI`*`|S-opGodt6Z?DSr z1<%~X^wgl##FWaylc_)*%qp275hW46K32*3xq68pHF_1f1wh?E1MMpc5|gu2OB9k) z(=+pImEP~(ucVNfVyhHx>TBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFffGH?<^D zp&~aYuh^=>Rtapb6_5=Q)>l#hD=EpgRf0Gw!Z$#{Ilm}X!Bo#!H`&0@P{GVh&(Orw z%*;?n!N|bSNZ$a6%ybP+tW3?UjLa3FKnZADQA(Oskc%7CE+EfVDWjyMz)D}gyu4hm z+*mKaC|%#s($W%ShLMpjP=#)BWnM{Qg>GK4GRy>*)Z*l#%z~24{5%DaiHS-1r6smX zK$k+ikXryZHm?{OOuzusuShJ=H`Fr#c?qV_*B8Ii++4Wo;*y|LgnO|XTpUtakg6Y) zTAW{6lnjixG-Z%g1y;^Qsfi`|MIrh5Ij~R+$jC3rFV4s>P;d@5Q_%2DOwP;$321_K z`1)FT<`tJD<|U_ky4WfK&CtutOtCUGakO-`urM+*aWphEbTxJ~FgACwurx7sHFgCe zGnihN{N&Qy)Vvay-V}shW1MfK#tN&@uX;s6~oum=G}ifSB-v3*^9)erg^ty%zx!_Jdzn zLKqkrnLS+`Ln>~)nd!@Q$UvZV`8}unkb}Js4sDe?xOBTl+>vMz+m?=PP11!IV=qQD!|? zd4#L>sn)uwQoG_`<$m3hV$@oB!`!VYJI5zc?jL7_eH7Q41BB4p+|eO mpN1a4@K;a#NwfBM!32g!Rf*@4S=MNR3JFhFKbLh*2~7ZGY?Vy_ diff --git a/Mixpanel/Mixpanel/Images/MPLogo.png b/Mixpanel/Mixpanel/Images/MPLogo.png deleted file mode 100644 index e07640b9b6ad30e34bc420a6f25d07b70fd00888..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1991 zcmaJ?Yg7|w8V(Wy)dpf|3(^W>yh6zp$W0Omxk$tahODGoT0%0CD9MD$gakw}K@he` zFM4W3E36_%w1}09D6Ph_TwEh6q7`s~Ba~y&Dk_2$i#xGm_s6nxX6F08ci!iDZ_hbX zl(2Rcer~{A3@6y`ni$0cA}t)0KnEg9z@kgn8#xv(@f9xz-Mh>b zBJj!u*}^6MnUq4B005YqL z7=)lv1#1n67SaPQMrA5wLbyaU(?3hl8Q#$9jj!8;HjH9X8Yna})m74rqg49;U3I!Q z-bO?Q{*~|lBsR*k3?M}Y8X*&`LI<~Lu`85;BY;6A0>N?!N}uUsf(Ak$qXsenfIAZxX14n17JXNjmxI$ubq(L`Y^fj}%438;b? zKKdnwHG>sGDw7V>BQsd_Us%?xSeF=d1~jq|gteKVS`0%v;8oEa?d-Wk%*yu~tDZd< z#;jNhnheD?+W#8$j0x3`Yx_pH=;4j@K|QK>7!~%)UlA?_gJnyEe7U7($gWK<=KHrb z?MgnHoc8_6Th%gr(BH9(D!k?={d2)mTSdmsLdruz(ZJ_BeNLA&O7a`O07422Orkpd zqB{A_b*8TK(>^bi#pZn)V)C-d`bSgFu(m0uGk4Q1<;UxtxrfBILmlw?PA{it)w&N0 zr&Bap?$_sqVvZbP5dsI`eYIbQCSW^OWdP?jdDz2b&D@TR<7O-f90&@o;>O~jiyx2f z&CJTh9CD}JbCl;?3)qZ#F)*k1vGsB}JJ$VZdXwW``GIEU88^ads$Pd-b-q|C++Xx9P`MvcS5g~xcPK4 z4w{bckl`}kzK6@amgcdo=kZ|Phh5?a2Od5p5t{bXZWNBM>j}ee^|ttI&f|^k|0$BW zD)|Ysw`;4t;q4xd;h@VF|3U0iVU)(HJU33WQ8{xGX0fiSotleS@7;0MaR z<9&JYrB~8_zWh?Z-Tv(J>3l_hCa#CyCmRT=I?q~+y&Er6o$~wv~FhHj}c_dYPa{zif9<9@0swMm z^uQ2q2+_-)!eSsut3C)GBTkA2034lpaU@C%jSD8zqUcNXSg;_L)=SbnHbpwPNa$*)ID0&sM&h#Afh<<+_b&QIv$!lyG%F5_ z55Ryeh$IS~xoX(>6+tB0doVd%5|cvnAmAWU4g{S}wYRdtyI|c=)>bYAD>T~88jHuf zySw30cvlzc7gy|eEP+LdXV943?^x=;Seu_>SH-}HlSU@c*z|ogsymy-0Dmpop8oS( z&_Ct-hNb>I7ptFQk_ zItGvxxO!A(DjXgFyJ2NhVf?Q3H5S1eG~31&_g9^Y%p0!l?lXUPDST!4%+r$LlTS-d zmUtXUzB%4+F_5Wn6cpY*ZZT%O!FW#Y?8Pfc$nE2aI?ei6ef`R1m|1h~1#SGasiADJ z(3A@z?|wS4q8&;&Gz4xAjxH6QqZ-{d6ua!0l3P0?QN+30QHy0UplcweLgZ_S#V|;K zl?y8ql`RVE|8=Jc}+UnLh=W+?DOy)V9qo!nkhh zDAH$cqA9-?|3P86|E0WB1TjKw(-!mXIM`laFTmlx-`llaW-7gI-19$pl$SIz_ugDq zL#7sBPA*l}S16WqoVsZ!;shl(rK(u?v3%eoWO{U5eDMmunQ%&h0POhOFze9j@tPz2r2OA0;(`U!UtlGmQt5;CFI#1jG| z)C+F8XOTW!hqL4pwFok{^K7xb*v(IGre(Oi1+6#7m2H+O0y)MAo$p`NX6eRn5%$e& zRI}}M^|4gJ-4rUE28AIV@5n^B)q(^=O0jA==MP`tPt|3KVw!C)&B#cDI{@S~C{_?A~yr%=e-YP?fS9GXTajjdjieK+KBb?C2X8B~4 zC-uXb^b)3e{EdRg(`yogX=$%!O7$J4kLCNY^J~rSEL}HN?O5;{?pSiqo=O@yW~o-5 z)l(F1z!P-$om+m8UecrkOUyo0C}w`dktXWZlh$-;dZ|(qV+f+=#~ahTHLhAKR$*_4 z9(GegWDN@P`fU-@ZJc~(wNWBzFK6eBeDgw*aTIVzXlpMSt&|e@kIs@UXS;8@z zO(hlMCtM|z^m!+RePuQoQ>TAp-d^v87^Be-0-6yCvT~>K6GaE=JMg>TnG02! z(U*<9cRB7lNhZL4%M2$Qcao9Nq4~i|YgLk_{E@!1!N){hgBRdAOR@PcJCE>#>fWpz z*6^$}>3GKXvO%Snr><+9_Vfzw7nX(u*=hxCX)VpV^r$HKbH#jWr$=^fhl%dlR@G0i zVl^^`!9U3#33L-i1!1M!o{_lkJk7OyXmXrs@^oy)K}j(1=^ zq$tfixx0<8efZXbZG!dPyY#Q5dZ0)1#JLo0_pBS_MSfMqhht9LKN7{jgu2`k?0o3) zBc%r;>xd%dc6oAnx4@`SrIKmHf6(y&ERjW!7M}oTd*7+~|W%3XgbubM+e)`SX#P%Pl@uZ$01mLB#^0hG1FegkU9l-p0)|Ul*^7 z*=^~pn&u~(5;)5hHZBwSIDREU7?5`7wJFu6ac9(IL-(YaSaHXT`gh)e?slijDr5>9 zE?hJ^HE`g(Y3sOi`yP7HayE6wPee{jfx(*PDw7+B!n!W6%tvR|?b_Hm*q^?+Ar#)V z&Hc?f; zkf7(p*_?KRjMjy0&yMq`15M@vmcGFEo&VV5z2YA4*p~W?#blgvZh5IEs{L||s`j>l zQ_h}S4!*@Gsy0;b6S}$N6jmg`<oltUQ0#cDS1eB|YloUJv) z^Y64)mn7*Vn$?zoTJOt@#ivJU@|=)&eVs?rD>4GVNHnKR9x&#;3lP5`1&4#2ZDpT~ zHc!0~NZLA11_oKToOxF@>2j?GZ!B@So!Gy)CQ-rUf~|5lnC_rWXwb2a_DUs*S%Bj^qat}9eLXB%g>VE)H CBOqP? diff --git a/Mixpanel/Mixpanel/Images/placeholder-image.png b/Mixpanel/Mixpanel/Images/placeholder-image.png deleted file mode 100644 index b8c902e98cd753bf25db5cecff4fd00edf57f89b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8806 zcmch52{@E%`}oWlnX-+8BFZFE)*1T}21Smgl8P)bj3vupCX6gY%1)(FcBRFVea*g2 zGL}+=L}VmnnPlhpj#JLp|LdIVyZ*oP{aml>y`THJ@B6v;=bkt0l%WpmuD!cJAP}qW ziDO0}5CZ}Pf|$T|fI#4B_d+VL!Am%9LO6r7BY0VRU_lzTI1Cn{>tbz>HNslk65U&| zM*%J&M`II$iGjYd4bDZ?cxS-gFr{sz1^&BoUjB025ax=swz11tX2@=XsarC zUd{k%;HHIja6IATfj#46Xl&!-WTRv&sIG=M>a7e2aKRF+5#BD&u6Si{RlzN}$^cA9 zO9>*jNC-}+4vLS9}HB`YT{j}k{nBT>>)NZ^r|K*=i0 z$tz1MAinItAQ0S?rKG&Pyd=G3Byk@0QYa-QCAti0X$gQr z0#9@$SbIyj;t&3ia14vL@o;n_IO1Fpbcxm&++~8QAfV|VCb+n5i*?0+cN5?+DQ{~x zDU>9VZqg4z1B1UOb#d9I#uJRNf9m^7!FXe$8&=8)i^pB|umJ*RcaVORo3fS%)|!Cx zFvj7We|Yhf1CD^hJK)?9T4&@DhYhT499`*%BU>B>2Fkjwc!IU74OaJ28B8 zr6+@n8*uV5tcRl~)>hjC=YrTWTG{chby4_BdEa?$|5_KtzvPtyl#!x`_FqE%0|n#{ z9o$Y_V6mP0SXUt5J%Gf9y%8G*f%d=EJ*Hvo-9PnC<+mUt7y5Jt)1m+GBTezl6gAGQxXgZg9Q<2C^VD=;`k+OmmT%h+UR%UlSRo) z7IaEk)3w&qHB}OAEWCc>b_jQ5gUgXpakDs5mAXrm5;3{==#`AT8`ce|rDAGdQHjJP zZym=8{z#oY2%48kTkKLCdOpJ1Zym!3Hl0m(Xa5*LOHXv`9U`saOcvGsRS^QOJ0n>> z8d#h$by_YdyLYxQo9m$X?|fXg4x+ia-j{>Lml}2xfc%p29+=}~p?1_Ml3WsakQUQPb z61L69($2lQZF62rJFjNO9JdHvmGe2f$yA8*ui!*XFvE+eG>#J~XteZah>%NOSz3(G zvl4RyYcnESSjelf*SodzEpu-WB=pL^-G&xQez=~-bpyxbw@au)gMFZ?ahD<}tPJA0 z5BEEzAonekOA@330SaaI|P&i-QvgECH=+0oMWAkIaEw(^)_Dke#Z zzXxHED7S-gQGog`?%eDJBPULo6K9;8c;bAgJUmCZZLXa%@toXA3k`$lXg!I+W`&KGF{Dv~mi*xMN$@pRe-BJs7 zwmkHq65Jkw*@&6Ahv$plvU^jWZryo9NpJ`_g7A|k5%9nDBqUI2P7Tkj6xGYrj5IVgV@w!aE4Xe;JF#rxk-pzq8Gc<2k}5G&)9@qmjKC!Bj{vi2N5 z?G1<7=G^g6(I*T^y_hZwAqn>=X78L?b!x=zxZC6?xT=JFZMT(SNmmJW?fz$6)%X1- z12ZkPz-vDHD0CiZ-~(>wG!U)JpW(3J%|tv53W0sp^;d*W%sIWMy4v$}%}Rj`S+DU5 zoqKbYmPMT&;)8MtMpq6bXk^T1H_yoN&^%?rc!eBiQkVUqubj*}ebpfoxf;VUT8P%> z1HT0d+2@XRY9W&63+S(EiwmZgO6rC*8U_xRC8rMr4QWO*gI8GS%@cB|+s+X}p z^i5@Bi9lltQ~>_ZyZX9onkKTWIZjOJWh;}%zDc}Vy^ap@d2x;3^7wuvWG6;xvf~=R zJZn6<-}80)>Po%a&Zfdd`sq;b7TQao}@SHd9Z1ayNgBRCd%*MQk$Z+Gj&VIsjUBu_x(|1(P zck41SOo1ff-TzYMK*U3}{tWDoyxr~se`dtLp?;RK)jGbT>T(8wZe3kvVj2SG4`BD^ z#iK0i_7+FokAO4>o6DA-)>r6jkY!W}csJaj7sO=>9n*B?9ue#}7UOup92tF*Zu6L4Pl1mP9C2u8kNJ6oJebY)fyMBW}8dHMUJ9FPdS#rg>Krkw1HByI#k zzackapr`Awg;<(EO)w*g1VSp+1UEm(+gH=8ErD(Rsud7n8-w7mj zxej2WS>cJYwM}cb*G{=S4Mei3FolwTpK0MQ)P}?R$A@8-WHu)#UAMH`>banMoyQ3+ z9}*KfF+J>a%DbJG{A&eh9pM)P1n}fRFgS3-Jk*pA|FCnwB5FC?Zf3F#Lo8pKv!)1p z?Sw*KTqzt8x`~;${_1?c-bbgjmw zeD(z-J$U=T9$EA03!1Y$lx^Mge9|Gi9aZc4?yHy2g>k})$#V$?2YoCa6^)HUR$pCk zhXmSfs!l{B_p2s`_fF0nFhq2rb!^`A(*_jz@CsCw$(Ehad+92H-e0TkEJu?R1JTo& zk5W@pF~$B7%P&I!8(zNUr_E&zt;$nlP-_foF3-YEzgp{{t=#f_@-1hMjN-`VeDl*& zVZ=Pl%$4xI_Jq_y*2jXq=*NX;Oe=JJYE?hBrkmA!f1TTS_>R&{l8!3RG;5o@2tyF#8AS zoZFPznW?^+^o+$2aRV!WZHu|eQ{vbBRn2De=)>+C$@{{HyYU@^OyKm~N>(CY_t6qR z?xK%RgGpVxCoqeWPCQ{>mlDXR@!TNYfE^6oikCyl4ht!E{#VZqLp3=wBl=f!taA)o zj)qn^b1MdRJvbBMt>4mu8FI>nh`>LKt1h|J?|nF;PZ>g8G-EVGyq$&w-= z2LeuKqe^!U8Ou$ekRiEXaQcf^UcD+9);q-(Z#m#u4)V11>PbPrBsLR&1@)*~HJ*6Dl}yg@CQ zuCI?N?8Rti?2t~e!Np#%RgSr0|D|G_rW<{;SVk+LVivo9F~zWKK#mb~l;Qu-YS@3& zgn;h!mksJa-}~2o3I_kLSN+5C2dz|+4edt*ylzK$uBvQ28koKZg)}_(3@LGDF%kndMF*p{1A_E=mv~PeU}8teJ?%yxOy%hyejL> z9<1z#99B2NID78pgTaVqeDj`rBH5t9z7oN2ct3p8(}qDbQ=+51SN-Uae^$TDy2gDd z_<&T1Xl1HS8ZWEXXgf`+gc(-?(D|OV!qnt!^6BV7HVF8jlhSykF8eyxI%?>@XP1u#rjX;&QdS`i&UQHQvs% zUsVBHn@?K%@$|$ux8t6AHC7t=uX_Zk4?L6elM<>={1n;7K6WYMQTReGakV77s+~Io zk`jonab=%;4lh$NdcPYAmA>q+S;hzs46Yu$u?hm-O?s4>C&T{VxFpZVkkIlYOooQW z-T@-J1TY$C1ao%SI}sR6_Icm289pfV&?mGBP44}s?=lZ?F$gB-?AkonnQ zu&=nT_}kZ&LIi69Jj4S{`PrRb90(-UeTxgJ8cZ8Ml_Mk@yU4#Ap!?=v@=T}PuXg-Y z)y-jNOD}H(Vs>+6nZ5Izo4`P|_~pYn)jK=vC3Beg4*^lyoU&G#i<-N;pS(uf+4dN^Xp&=V)d)H6q>3{f?s0znX+UCUdbvo> z>IK=d_2%|?FEIFk*yY*>#qMm)ViHM%w;Gwi2hNK`%uTKIQt^kY1cFF6lD&JDG;DbK zfS*?}YF9}&xKw7&ilq1|IkCWCO8KLf3mv>*h~_|ZQPXs=Df?;&0#ST!&15;tD4jIa?`qkvcD&_yIr_lF9#ENQA-J;}f+T|$yCQ=%23 zNTTIA@@Mzyr1EMRjokelz{3D(cwoUksbE8@^4`e|>O}KouSTVveF!uYYjaC!$n(Vb z{H^{OY`5GGE5x_M-Wt+-5Tu&@R!41o={<>_PRzsgr`H#XYWaYv^3n%k@qe8w{}?oX zOqu`q>K|y?f8X3Aflsyn{9Q%zSwD!rvN&RkHDz*JQ_?CgCxv^M+M!^)niaRL55^r2 zhH4rHdNXh6NgX+H>5ResK9g7jxzC3$o#JH3cy&0wduGC~v-m;Xmz04k%f5F0GAwLU zed8AKw88PJ@d?5+i)`T2aAa_*6&U#53ff0MpZw6J2r8Z~4gdU_y+I;iD1rTeb1EOhBYbla<1D zI+WM^8~Tsd@I?8JrFCXhUUQYbDHw1Og(Z{;BhRullN{M+y0KzT2}?LBp#ZR@Rm+o| z1?tJIQe!@{)KnB1^VGx#^eHv5E3oqUq6a_!X=7Pq|Uu+$$*+Z-jyA3?kc0Xx`tsHy)UiVO{3TV&A-7 zJ#^_g*nYVN6EmKq2ifBBGAij9_8$1o(wxvMI&Wgg3fwmypzyX2i3ND%^g|`g`q{8(N z9+ZOl*3W*Z#Ot%D`Pjbm7`1|TT6gk3)Fh1gZK!x6s28!~mIXP00aiToobBh^TJ5jB zIe!TE3S|NE=DKZM~Pt6imT}K3G*u0_4K5aweAHoo46M7 zdvmKqrZHdMy{TrEHzyyAjGb%r*=Z4dZ_O1;Zp()P{)#;I{(zDh+nao4YPz)M^&@11 z_pC$|_e>HaP1@j$81a-5Tw4CQ2`%H^FDE5*Paq1pC!vuwG$v(@c=VjVC5YwbJ~)Vq z5#&~IKPmr}_Dq3$G34VFEj4@vct1q+W=JuR>hl>ObqhH$#H?#`FY$WI%Xy2LAS4e!zXO-$+u(CW)RSGZ zIVp;$Ky6HLWmOAVW61JDwOMp*`XITbT73>s!^h~=I9gijd#iGI@1~z=<;tT^%R*ny zi>=stD%+LmtuTsVqMNFC@Gm^*1?XsbJTBT6`Z*-bVO_@+kO1#=Gv_Uk!JF97tvn7 zf=tko0HE?k-@=rOZ2@N(1qPnVE&`T4b8>MvB_9gdr@EI$PEY{O+XpAzEhY13Irx61 zd|L}^O&~YxV4cPC$n9|u2Ngg@bL>LZWWnP@F=bvGO-!iTrCXada#YLs5|8=bUK>;% zxyn(AR9eUYDYo!0^e@+*L!I$2%e*^&QXi-;wUPV%^M(WU#?#62r1S!S=&b*|7sAf5 zT|MUgGN=8Sxu+JdwKgi-6drFXQ(fA?Kz!}mM52a<@;h~XUw3=i$dixm!MA#VT!w{B z(23%a%Z?1ASACvIQ0-9{i@4ByK;`sf{6yInu4b)Rin1m9sx1V35<+A90Q{`q7t&JN zp}0pQE^)mkyV9Nj?cX5oB-;>{_i?&FOH#B_iXEL;0uXZVaB6J9dEZm`<^0wvzQR{V zAOj3=7mUP~s$zrDoEV>rl-7iJ38pTnCz^DqFFBmEp_$2m_J**K9t$eL0;EA}52ijC z^S@v+c%wp?&rKLIVWYPb9ku7vl5OY+=TOryh;*f&R{k3;2MZ$E0onh@9F#_^f->`DTEu}s{p~<20U^+&3lkS0 zvzsbFZflR(QiR(;xwCP?pp};sp6dvPPc%N=N8PJqr5 -#import "MPAbstractABTestDesignerMessage.h" - -extern NSString *const MPABTestDesignerChangeRequestMessageType; - -@interface MPABTestDesignerChangeRequestMessage : MPAbstractABTestDesignerMessage - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerChangeRequestMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerChangeRequestMessage.m deleted file mode 100644 index 079a344c..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerChangeRequestMessage.m +++ /dev/null @@ -1,44 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPABTestDesignerChangeRequestMessage.h" -#import "MPABTestDesignerChangeResponseMessage.h" -#import "MPABTestDesignerConnection.h" -#import "MPABTestDesignerSnapshotResponseMessage.h" -#import "MPVariant.h" - -NSString *const MPABTestDesignerChangeRequestMessageType = @"change_request"; - -@implementation MPABTestDesignerChangeRequestMessage - -+ (instancetype)message -{ - return [(MPABTestDesignerChangeRequestMessage *)[self alloc] initWithType:MPABTestDesignerChangeRequestMessageType]; -} - -- (NSOperation *)responseCommandWithConnection:(MPABTestDesignerConnection *)connection -{ - __weak MPABTestDesignerConnection *weak_connection = connection; - NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ - MPABTestDesignerConnection *conn = weak_connection; - - MPVariant *variant = [connection sessionObjectForKey:kSessionVariantKey]; - if (!variant) { - variant = [[MPVariant alloc] init]; - [connection setSessionObject:variant forKey:kSessionVariantKey]; - } - - id actions = [self payload][@"actions"]; - if ([actions isKindOfClass:[NSArray class]]) { - [variant addActionsFromJSONObject:actions andExecute:YES]; - } - - MPABTestDesignerChangeResponseMessage *changeResponseMessage = [MPABTestDesignerChangeResponseMessage message]; - changeResponseMessage.status = @"OK"; - [conn sendMessage:changeResponseMessage]; - }]; - - return operation; -} - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerChangeResponseMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerChangeResponseMessage.h deleted file mode 100644 index 7ce93d9a..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerChangeResponseMessage.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPAbstractABTestDesignerMessage.h" - -@interface MPABTestDesignerChangeResponseMessage : MPAbstractABTestDesignerMessage - -+ (instancetype)message; - -@property (nonatomic, copy) NSString *status; - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerChangeResponseMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerChangeResponseMessage.m deleted file mode 100644 index 78410da6..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerChangeResponseMessage.m +++ /dev/null @@ -1,23 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPABTestDesignerChangeResponseMessage.h" - -@implementation MPABTestDesignerChangeResponseMessage - -+ (instancetype)message -{ - return [(MPABTestDesignerChangeResponseMessage *)[self alloc] initWithType:@"change_response"]; -} - -- (void)setStatus:(NSString *)status -{ - [self setPayloadObject:status forKey:@"status"]; -} - -- (NSString *)status -{ - return [self payloadObjectForKey:@"status"]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerClearRequestMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerClearRequestMessage.h deleted file mode 100644 index 57670180..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerClearRequestMessage.h +++ /dev/null @@ -1,10 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPAbstractABTestDesignerMessage.h" - -extern NSString *const MPABTestDesignerClearRequestMessageType; - -@interface MPABTestDesignerClearRequestMessage : MPAbstractABTestDesignerMessage - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerClearRequestMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerClearRequestMessage.m deleted file mode 100644 index 78bd9792..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerClearRequestMessage.m +++ /dev/null @@ -1,44 +0,0 @@ -// -// MPABTestDesignerClearRequestMessage.m -// HelloMixpanel -// -// Created by Alex Hofsteede on 3/7/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPABTestDesignerClearRequestMessage.h" -#import "MPABTestDesignerClearResponseMessage.h" -#import "MPABTestDesignerConnection.h" -#import "MPVariant.h" - -NSString *const MPABTestDesignerClearRequestMessageType = @"clear_request"; - -@implementation MPABTestDesignerClearRequestMessage - -+ (instancetype)message -{ - return [(MPABTestDesignerClearRequestMessage *)[self alloc] initWithType:MPABTestDesignerClearRequestMessageType]; -} - -- (NSOperation *)responseCommandWithConnection:(MPABTestDesignerConnection *)connection -{ - __weak MPABTestDesignerConnection *weak_connection = connection; - NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ - MPABTestDesignerConnection *conn = weak_connection; - - MPVariant *variant = [conn sessionObjectForKey:kSessionVariantKey]; - if (variant) { - NSArray *actions = [self payload][@"actions"]; - for (NSString *name in actions) { - [variant removeActionWithName:name]; - } - } - - MPABTestDesignerClearResponseMessage *clearResponseMessage = [MPABTestDesignerClearResponseMessage message]; - clearResponseMessage.status = @"OK"; - [conn sendMessage:clearResponseMessage]; - }]; - return operation; -} - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerClearResponseMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerClearResponseMessage.h deleted file mode 100644 index 78d9a79a..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerClearResponseMessage.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MPABTestDesignerClearResponseMessage.h -// HelloMixpanel -// -// Created by Alex Hofsteede on 3/7/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPAbstractABTestDesignerMessage.h" - -@interface MPABTestDesignerClearResponseMessage : MPAbstractABTestDesignerMessage - -+ (instancetype)message; - -@property (nonatomic, copy) NSString *status; - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerClearResponseMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerClearResponseMessage.m deleted file mode 100644 index 31feba6d..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerClearResponseMessage.m +++ /dev/null @@ -1,28 +0,0 @@ -// -// MPABTestDesignerClearResponseMessage.m -// HelloMixpanel -// -// Created by Alex Hofsteede on 3/7/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPABTestDesignerClearResponseMessage.h" - -@implementation MPABTestDesignerClearResponseMessage - -+ (instancetype)message -{ - return [(MPABTestDesignerClearResponseMessage *)[self alloc] initWithType:@"clear_response"]; -} - -- (void)setStatus:(NSString *)status -{ - [self setPayloadObject:status forKey:@"status"]; -} - -- (NSString *)status -{ - return [self payloadObjectForKey:@"status"]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerConnection.h b/Mixpanel/Mixpanel/MPABTestDesignerConnection.h deleted file mode 100644 index 82862fb1..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerConnection.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPWebSocket.h" - -@protocol MPABTestDesignerMessage; - -extern NSString *const kSessionVariantKey; - -@interface MPABTestDesignerConnection : NSObject - -@property (nonatomic, readonly) BOOL connected; -@property (nonatomic, assign) BOOL sessionEnded; - -- (instancetype)initWithURL:(NSURL *)url; -- (instancetype)initWithURL:(NSURL *)url keepTrying:(BOOL)keepTrying connectCallback:(void (^)(void))connectCallback disconnectCallback:(void (^)(void))disconnectCallback; - -- (void)setSessionObject:(id)object forKey:(NSString *)key; -- (id)sessionObjectForKey:(NSString *)key; -- (void)sendMessage:(id)message; -- (void)close; - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerConnection.m b/Mixpanel/Mixpanel/MPABTestDesignerConnection.m deleted file mode 100644 index ef1eba0f..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerConnection.m +++ /dev/null @@ -1,316 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "Mixpanel.h" -#import "MixpanelPrivate.h" -#import "MPABTestDesignerChangeRequestMessage.h" -#import "MPABTestDesignerClearRequestMessage.h" -#import "MPABTestDesignerConnection.h" -#import "MPABTestDesignerDeviceInfoRequestMessage.h" -#import "MPABTestDesignerDisconnectMessage.h" -#import "MPABTestDesignerMessage.h" -#import "MPABTestDesignerSnapshotRequestMessage.h" -#import "MPABTestDesignerSnapshotResponseMessage.h" -#import "MPABTestDesignerTweakRequestMessage.h" -#import "MPDesignerEventBindingMessage.h" -#import "MPDesignerSessionCollection.h" -#import "MPLogger.h" -#import "MPSwizzler.h" - -NSString * const kSessionVariantKey = @"session_variant"; -static NSString * const kStartLoadingAnimationKey = @"MPConnectivityBarLoadingAnimation"; -static NSString * const kFinishLoadingAnimationKey = @"MPConnectivityBarFinishLoadingAnimation"; - -@interface MPABTestDesignerConnection () -@property (strong, nonatomic) UIWindow *connectivityIndicatorWindow; -@end - -@implementation MPABTestDesignerConnection -{ - /* The difference between _open and _connected is that open - is set when the socket is open, and _connected is set when - we actually have started sending/receiving messages from - the server. A connection can become _open/not _open in quick - succession if the websocket proxy rejects the request, but - we will only try and reconnect if we were actually _connected. - */ - BOOL _open; - BOOL _connected; - - NSURL *_url; - NSMutableDictionary *_session; - NSDictionary *_typeToMessageClassMap; - MPWebSocket *_webSocket; - NSOperationQueue *_commandQueue; - UIView *_recordingView; - CALayer *_indeterminateLayer; - void (^_connectCallback)(void); - void (^_disconnectCallback)(void); -} - -- (instancetype)initWithURL:(NSURL *)url keepTrying:(BOOL)keepTrying connectCallback:(void (^)(void))connectCallback disconnectCallback:(void (^)(void))disconnectCallback -{ - self = [super init]; - if (self) { - _typeToMessageClassMap = @{ - MPABTestDesignerSnapshotRequestMessageType : [MPABTestDesignerSnapshotRequestMessage class], - MPABTestDesignerChangeRequestMessageType : [MPABTestDesignerChangeRequestMessage class], - MPABTestDesignerDeviceInfoRequestMessageType : [MPABTestDesignerDeviceInfoRequestMessage class], - MPABTestDesignerTweakRequestMessageType : [MPABTestDesignerTweakRequestMessage class], - MPABTestDesignerClearRequestMessageType : [MPABTestDesignerClearRequestMessage class], - MPABTestDesignerDisconnectMessageType : [MPABTestDesignerDisconnectMessage class], - MPDesignerEventBindingRequestMessageType : [MPDesignerEventBindingRequestMessage class], - }; - - _open = NO; - _connected = NO; - _sessionEnded = NO; - _session = [NSMutableDictionary dictionary]; - _url = url; - _connectCallback = connectCallback; - _disconnectCallback = disconnectCallback; - - _commandQueue = [[NSOperationQueue alloc] init]; - _commandQueue.maxConcurrentOperationCount = 1; - _commandQueue.suspended = YES; - - if (keepTrying) { - [self open:YES maxInterval:30 maxRetries:40]; - } else { - [self open:YES maxInterval:0 maxRetries:0]; - } - } - - return self; -} - -- (instancetype)initWithURL:(NSURL *)url -{ - return [self initWithURL:url keepTrying:NO connectCallback:nil disconnectCallback:nil]; -} - - -- (void)open:(BOOL)initiate maxInterval:(int)maxInterval maxRetries:(int)maxRetries -{ - static int retries = 0; - BOOL inRetryLoop = retries > 0; - - MPLogDebug(@"In open. initiate = %d, retries = %d, maxRetries = %d, maxInterval = %d, connected = %d", initiate, retries, maxRetries, maxInterval, _connected); - - if (self.sessionEnded || _connected || (inRetryLoop && retries >= maxRetries) ) { - // break out of retry loop if any of the success conditions are met. - retries = 0; - } else if (initiate ^ inRetryLoop) { - // If we are initiating a new connection, or we are already in a - // retry loop (but not both). Then open a socket. - if (!_open) { - MPLogDebug(@"Attempting to open WebSocket to: %@, try %d/%d ", _url, retries, maxRetries); - _open = YES; - _webSocket = [[MPWebSocket alloc] initWithURL:_url]; - _webSocket.delegate = self; - [_webSocket open]; - } - if (retries < maxRetries) { - __weak MPABTestDesignerConnection *weakSelf = self; - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(MIN(pow(1.4, retries), maxInterval) * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - MPABTestDesignerConnection *strongSelf = weakSelf; - [strongSelf open:NO maxInterval:maxInterval maxRetries:maxRetries]; - }); - retries++; - } - } -} - -- (void)close -{ - [_webSocket close]; - for (id value in _session.allValues) { - if ([value conformsToProtocol:@protocol(MPDesignerSessionCollection)]) { - [value cleanup]; - } - } - _session = nil; -} - -- (void)dealloc -{ - _webSocket.delegate = nil; - [self close]; -} - -- (void)setSessionObject:(id)object forKey:(NSString *)key -{ - NSParameterAssert(key != nil); - - @synchronized (_session) - { - _session[key] = object ?: [NSNull null]; - } -} - -- (id)sessionObjectForKey:(NSString *)key -{ - NSParameterAssert(key != nil); - - @synchronized (_session) - { - id object = _session[key]; - return [object isEqual:[NSNull null]] ? nil : object; - } -} - -- (void)sendMessage:(id)message -{ - if (_connected) { - MPLogDebug(@"Sending message: %@", [message debugDescription]); - NSString *jsonString = [[NSString alloc] initWithData:[message JSONData] encoding:NSUTF8StringEncoding]; - [_webSocket send:jsonString]; - } else { - MPLogDebug(@"Not sending message as we are not connected: %@", [message debugDescription]); - } -} - -- (id )designerMessageForMessage:(id)message -{ - MPLogInfo(@"raw message: %@", message); - - NSParameterAssert([message isKindOfClass:[NSString class]] || [message isKindOfClass:[NSData class]]); - - id designerMessage = nil; - - NSData *jsonData = [message isKindOfClass:[NSString class]] ? [(NSString *)message dataUsingEncoding:NSUTF8StringEncoding] : message; - - NSError *error = nil; - id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:(NSJSONReadingOptions)0 error:&error]; - if ([jsonObject isKindOfClass:[NSDictionary class]]) { - NSDictionary *messageDictionary = (NSDictionary *)jsonObject; - NSString *type = messageDictionary[@"type"]; - NSDictionary *payload = messageDictionary[@"payload"]; - - designerMessage = [_typeToMessageClassMap[type] messageWithType:type payload:payload]; - } else { - MPLogWarning(@"Badly formed socket message expected JSON dictionary: %@", error); - } - - return designerMessage; -} - -#pragma mark - MPWebSocketDelegate Methods - -- (void)webSocket:(MPWebSocket *)webSocket didReceiveMessage:(id)message -{ - if (!_connected) { - _connected = YES; - [self showConnectedViewWithLoading:NO]; - if (_connectCallback) { - _connectCallback(); - } - } - id designerMessage = [self designerMessageForMessage:message]; - MPLogInfo(@"WebSocket received message: %@", [designerMessage debugDescription]); - NSOperation *commandOperation = [designerMessage responseCommandWithConnection:self]; - - if (commandOperation) { - [_commandQueue addOperation:commandOperation]; - } -} - -- (void)webSocketDidOpen:(MPWebSocket *)webSocket -{ - MPLogInfo(@"WebSocket %@ did open.", webSocket); - _commandQueue.suspended = NO; - [self showConnectedViewWithLoading:YES]; -} - -- (void)webSocket:(MPWebSocket *)webSocket didFailWithError:(NSError *)error -{ - MPLogError(@"WebSocket did fail with error: %@", error); - _commandQueue.suspended = YES; - [_commandQueue cancelAllOperations]; - [self hideConnectedView]; - _open = NO; - if (_connected) { - _connected = NO; - [self open:YES maxInterval:10 maxRetries:10]; - if (_disconnectCallback) { - _disconnectCallback(); - } - } -} - -- (void)webSocket:(MPWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean -{ - MPLogDebug(@"WebSocket did close with code '%d' reason '%@'.", (int)code, reason); - - _commandQueue.suspended = YES; - [_commandQueue cancelAllOperations]; - [self hideConnectedView]; - _open = NO; - if (_connected) { - _connected = NO; - [self open:YES maxInterval:10 maxRetries:10]; - if (_disconnectCallback) { - _disconnectCallback(); - } - } -} - -- (void)showConnectedViewWithLoading:(BOOL)isLoading { - if (!self.connectivityIndicatorWindow) { - UIWindow *mainWindow = [[Mixpanel sharedUIApplication] delegate].window; - self.connectivityIndicatorWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, mainWindow.frame.size.width, 4.f)]; - self.connectivityIndicatorWindow.backgroundColor = [UIColor clearColor]; - self.connectivityIndicatorWindow.windowLevel = UIWindowLevelAlert; - self.connectivityIndicatorWindow.alpha = 0; - self.connectivityIndicatorWindow.hidden = NO; - - _recordingView = [[UIView alloc] initWithFrame:self.connectivityIndicatorWindow.frame]; - _recordingView.backgroundColor = [UIColor clearColor]; - _indeterminateLayer = [CALayer layer]; - _indeterminateLayer.backgroundColor = [UIColor colorWithRed:1/255.0 green:179/255.0 blue:109/255.0 alpha:1.0].CGColor; - _indeterminateLayer.frame = CGRectMake(0, 0, 0, 4.0f); - [_recordingView.layer addSublayer:_indeterminateLayer]; - [self.connectivityIndicatorWindow addSubview:_recordingView]; - [self.connectivityIndicatorWindow bringSubviewToFront:_recordingView]; - - [UIView animateWithDuration:0.3 animations:^{ - self.connectivityIndicatorWindow.alpha = 1; - }]; - } - [self animateConnecting:isLoading]; -} - -- (void)animateConnecting:(BOOL)isLoading { - if (isLoading) { - CABasicAnimation* myAnimation = [CABasicAnimation animationWithKeyPath:@"bounds.size.width"]; - myAnimation.duration = 10.f; - myAnimation.fromValue = @0; - myAnimation.toValue = @(_connectivityIndicatorWindow.bounds.size.width * 1.9f); - myAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; - myAnimation.fillMode = kCAFillModeForwards; - myAnimation.removedOnCompletion = NO; - [_indeterminateLayer addAnimation:myAnimation forKey:kStartLoadingAnimationKey]; - } else { - [_indeterminateLayer removeAnimationForKey:kStartLoadingAnimationKey]; - CABasicAnimation* myAnimation = [CABasicAnimation animationWithKeyPath:@"bounds.size.width"]; - myAnimation.duration = 0.4f; - myAnimation.fromValue = @([[_indeterminateLayer.presentationLayer valueForKeyPath: @"bounds.size.width"] floatValue]); - myAnimation.toValue = @(_connectivityIndicatorWindow.bounds.size.width * 2.f); - myAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; - myAnimation.fillMode = kCAFillModeForwards; - myAnimation.removedOnCompletion = NO; - [_indeterminateLayer addAnimation:myAnimation forKey:kFinishLoadingAnimationKey]; - } -} - -- (void)hideConnectedView { - if (self.connectivityIndicatorWindow) { - [_indeterminateLayer removeFromSuperlayer]; - [_recordingView removeFromSuperview]; - self.connectivityIndicatorWindow.hidden = YES; - } - self.connectivityIndicatorWindow = nil; -} - -@end - diff --git a/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoRequestMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoRequestMessage.h deleted file mode 100644 index b4f32bd1..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoRequestMessage.h +++ /dev/null @@ -1,11 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPAbstractABTestDesignerMessage.h" - -extern NSString *const MPABTestDesignerDeviceInfoRequestMessageType; - -@interface MPABTestDesignerDeviceInfoRequestMessage : MPAbstractABTestDesignerMessage - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoRequestMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoRequestMessage.m deleted file mode 100644 index cc6acdb1..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoRequestMessage.m +++ /dev/null @@ -1,104 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "Mixpanel.h" -#import "MPABTestDesignerConnection.h" -#import "MPABTestDesignerDeviceInfoRequestMessage.h" -#import "MPABTestDesignerDeviceInfoResponseMessage.h" -#import "MPTweak.h" -#import "MPTweakStore.h" - -NSString *const MPABTestDesignerDeviceInfoRequestMessageType = @"device_info_request"; - -@implementation MPABTestDesignerDeviceInfoRequestMessage - -+ (instancetype)message -{ - return [(MPABTestDesignerDeviceInfoRequestMessage *)[self alloc] initWithType:MPABTestDesignerDeviceInfoRequestMessageType]; -} - -- (NSOperation *)responseCommandWithConnection:(MPABTestDesignerConnection *)connection -{ - __weak MPABTestDesignerConnection *weak_connection = connection; - NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ - __strong MPABTestDesignerConnection *conn = weak_connection; - - MPABTestDesignerDeviceInfoResponseMessage *deviceInfoResponseMessage = [MPABTestDesignerDeviceInfoResponseMessage message]; - - dispatch_sync(dispatch_get_main_queue(), ^{ - UIDevice *currentDevice = [UIDevice currentDevice]; - - deviceInfoResponseMessage.systemName = currentDevice.systemName; - deviceInfoResponseMessage.systemVersion = currentDevice.systemVersion; - deviceInfoResponseMessage.deviceName = currentDevice.name; - deviceInfoResponseMessage.deviceModel = currentDevice.model; - deviceInfoResponseMessage.appVersion = [[NSBundle mainBundle] infoDictionary][@"CFBundleVersion"]; - deviceInfoResponseMessage.appRelease = [[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"]; - deviceInfoResponseMessage.libVersion = [[Mixpanel sharedInstance] libVersion]; - deviceInfoResponseMessage.mainBundleIdentifier = [[NSBundle mainBundle] bundleIdentifier]; - deviceInfoResponseMessage.availableFontFamilies = [self availableFontFamilies]; - deviceInfoResponseMessage.tweaks = [self getTweaks]; - }); - - [conn sendMessage:deviceInfoResponseMessage]; - }]; - - return operation; -} - -- (NSArray *)availableFontFamilies -{ - NSMutableDictionary *fontFamilies = [NSMutableDictionary dictionary]; - - // Get all the font families and font names. - for (NSString *familyName in [UIFont familyNames]) { - fontFamilies[familyName] = [self fontDictionaryForFontFamilyName:familyName fontNames:[UIFont fontNamesForFamilyName:familyName]]; - } - - // For the system fonts update the font families. - NSArray *systemFonts = @[[UIFont systemFontOfSize:17.0f], - [UIFont boldSystemFontOfSize:17.0f], - [UIFont italicSystemFontOfSize:17.0f]]; - - for (UIFont *systemFont in systemFonts) { - NSString *familyName = systemFont.familyName; - NSString *fontName = systemFont.fontName; - - NSMutableDictionary *font = fontFamilies[familyName]; - if (font) { - NSMutableArray *fontNames = font[@"font_names"]; - if ([fontNames containsObject:fontName] == NO) { - [fontNames addObject:fontName]; - } - } else { - fontFamilies[familyName] = [self fontDictionaryForFontFamilyName:familyName fontNames:@[fontName]]; - } - } - - return fontFamilies.allValues; -} - -- (NSMutableDictionary *)fontDictionaryForFontFamilyName:(NSString *)familyName fontNames:(NSArray *)fontNames -{ - return [@{ - @"family": familyName, - @"font_names": [fontNames mutableCopy] - } mutableCopy]; -} - -- (NSArray *)getTweaks -{ - NSMutableArray *tweaks = [NSMutableArray array]; - for (MPTweak *t in [MPTweakStore sharedInstance].tweaks) { - [tweaks addObject:@{@"name": t.name, - @"encoding": t.encoding, - @"value": t.currentValue ?: [NSNull null], - @"default": t.defaultValue ?: [NSNull null], - @"minimum": t.minimumValue ?: [NSNull null], - @"maximum": t.maximumValue ?: [NSNull null] - }]; - } - return [tweaks copy]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoResponseMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoResponseMessage.h deleted file mode 100644 index 733d90bc..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoResponseMessage.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPAbstractABTestDesignerMessage.h" - -@interface MPABTestDesignerDeviceInfoResponseMessage : MPAbstractABTestDesignerMessage - -+ (instancetype)message; - -@property (nonatomic, copy) NSString *systemName; -@property (nonatomic, copy) NSString *systemVersion; -@property (nonatomic, copy) NSString *appVersion; -@property (nonatomic, copy) NSString *appRelease; -@property (nonatomic, copy) NSString *deviceName; -@property (nonatomic, copy) NSString *deviceModel; -@property (nonatomic, copy) NSString *libVersion; -@property (nonatomic, copy) NSArray *availableFontFamilies; -@property (nonatomic, copy) NSString *mainBundleIdentifier; -@property (nonatomic, copy) NSArray *tweaks; - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoResponseMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoResponseMessage.m deleted file mode 100644 index d776e91f..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerDeviceInfoResponseMessage.m +++ /dev/null @@ -1,114 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPABTestDesignerDeviceInfoResponseMessage.h" - -@implementation MPABTestDesignerDeviceInfoResponseMessage - -+ (instancetype)message -{ - // TODO: provide a payload - return [(MPABTestDesignerDeviceInfoResponseMessage *)[self alloc] initWithType:@"device_info_response"]; -} - -- (NSString *)systemName -{ - return [self payloadObjectForKey:@"system_name"]; -} - -- (void)setSystemName:(NSString *)systemName -{ - [self setPayloadObject:systemName forKey:@"system_name"]; -} - -- (NSString *)systemVersion -{ - return [self payloadObjectForKey:@"system_version"]; -} - -- (void)setSystemVersion:(NSString *)systemVersion -{ - [self setPayloadObject:systemVersion forKey:@"system_version"]; -} - -- (NSString *)appVersion -{ - return [self payloadObjectForKey:@"app_version"]; -} - -- (void)setAppVersion:(NSString *)appVersion -{ - [self setPayloadObject:appVersion forKey:@"app_version"]; -} - -- (NSString *)appRelease -{ - return [self payloadObjectForKey:@"app_release"]; -} - -- (void)setAppRelease:(NSString *)appRelease -{ - [self setPayloadObject:appRelease forKey:@"app_release"]; -} - -- (NSString *)deviceName -{ - return [self payloadObjectForKey:@"device_name"]; -} - -- (void)setDeviceName:(NSString *)deviceName -{ - [self setPayloadObject:deviceName forKey:@"device_name"]; -} - -- (NSString *)libVersion -{ - return [self payloadObjectForKey:@"lib_version"]; -} - -- (void)setLibVersion:(NSString *)libVersion -{ - [self setPayloadObject:libVersion forKey:@"lib_version"]; -} - -- (NSString *)deviceModel -{ - return [self payloadObjectForKey:@"device_model"]; -} - -- (void)setDeviceModel:(NSString *)deviceModel -{ - [self setPayloadObject:deviceModel forKey:@"device_model"]; -} - -- (NSArray *)availableFontFamilies -{ - return [self payloadObjectForKey:@"available_font_families"]; -} - -- (void)setAvailableFontFamilies:(NSArray *)availableFontFamilies -{ - [self setPayloadObject:availableFontFamilies forKey:@"available_font_families"]; -} - -- (NSString *)mainBundleIdentifier -{ - return [self payloadObjectForKey:@"main_bundle_identifier"]; -} - -- (void)setMainBundleIdentifier:(NSString *)mainBundleIdentifier -{ - [self setPayloadObject:mainBundleIdentifier forKey:@"main_bundle_identifier"]; -} - -- (void)setTweaks:(NSArray *)tweaks -{ - [self setPayloadObject:tweaks forKey:@"tweaks"]; -} - -- (NSArray *)tweaks -{ - return [self payloadObjectForKey:@"tweaks"]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerDisconnectMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerDisconnectMessage.h deleted file mode 100644 index 8ef14853..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerDisconnectMessage.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// MPABTestDesignerDisconnectMessage.h -// HelloMixpanel -// -// Created by Alex Hofsteede on 29/7/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPAbstractABTestDesignerMessage.h" - -extern NSString *const MPABTestDesignerDisconnectMessageType; - -@interface MPABTestDesignerDisconnectMessage : MPAbstractABTestDesignerMessage - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerDisconnectMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerDisconnectMessage.m deleted file mode 100644 index 671a4480..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerDisconnectMessage.m +++ /dev/null @@ -1,39 +0,0 @@ -// -// MPABTestDesignerDisconnectMessage.m -// HelloMixpanel -// -// Created by Alex Hofsteede on 29/7/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPABTestDesignerConnection.h" -#import "MPABTestDesignerDisconnectMessage.h" -#import "MPVariant.h" - -NSString *const MPABTestDesignerDisconnectMessageType = @"disconnect"; - -@implementation MPABTestDesignerDisconnectMessage - -+ (instancetype)message -{ - return [(MPABTestDesignerDisconnectMessage *)[self alloc] initWithType:MPABTestDesignerDisconnectMessageType]; -} - -- (NSOperation *)responseCommandWithConnection:(MPABTestDesignerConnection *)connection -{ - __weak MPABTestDesignerConnection *weak_connection = connection; - NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ - MPABTestDesignerConnection *conn = weak_connection; - - MPVariant *variant = [connection sessionObjectForKey:kSessionVariantKey]; - if (variant) { - [variant stop]; - } - - conn.sessionEnded = YES; - [conn close]; - }]; - return operation; -} - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerMessage.h deleted file mode 100644 index a89b0a04..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerMessage.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@class MPABTestDesignerConnection; - -@protocol MPABTestDesignerMessage - -@property (nonatomic, copy, readonly) NSString *type; - -- (void)setPayloadObject:(id)object forKey:(NSString *)key; -- (id)payloadObjectForKey:(NSString *)key; - -- (NSData *)JSONData; - -- (NSOperation *)responseCommandWithConnection:(MPABTestDesignerConnection *)connection; - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerSnapshotRequestMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerSnapshotRequestMessage.h deleted file mode 100644 index 51250127..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerSnapshotRequestMessage.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPAbstractABTestDesignerMessage.h" - -@class MPObjectSerializerConfig; - -extern NSString *const MPABTestDesignerSnapshotRequestMessageType; - -@interface MPABTestDesignerSnapshotRequestMessage : MPAbstractABTestDesignerMessage - -+ (instancetype)message; - -@property (nonatomic, readonly) MPObjectSerializerConfig *configuration; - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerSnapshotRequestMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerSnapshotRequestMessage.m deleted file mode 100644 index c3d92f0b..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerSnapshotRequestMessage.m +++ /dev/null @@ -1,86 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MixpanelPrivate.h" -#import "MPABTestDesignerConnection.h" -#import "MPABTestDesignerSnapshotRequestMessage.h" -#import "MPABTestDesignerSnapshotResponseMessage.h" -#import "MPApplicationStateSerializer.h" -#import "MPObjectIdentityProvider.h" -#import "MPObjectSerializerConfig.h" - -NSString * const MPABTestDesignerSnapshotRequestMessageType = @"snapshot_request"; - -static NSString * const kSnapshotSerializerConfigKey = @"snapshot_class_descriptions"; -static NSString * const kObjectIdentityProviderKey = @"object_identity_provider"; - -@implementation MPABTestDesignerSnapshotRequestMessage - -+ (instancetype)message -{ - return [(MPABTestDesignerSnapshotRequestMessage *)[self alloc] initWithType:MPABTestDesignerSnapshotRequestMessageType]; -} - -- (MPObjectSerializerConfig *)configuration -{ - NSDictionary *config = [self payloadObjectForKey:@"config"]; - return config ? [[MPObjectSerializerConfig alloc] initWithDictionary:config] : nil; -} - -- (NSOperation *)responseCommandWithConnection:(MPABTestDesignerConnection *)connection -{ - __block MPObjectSerializerConfig *serializerConfig = self.configuration; - __block NSString *imageHash = [self payloadObjectForKey:@"image_hash"]; - - __weak MPABTestDesignerConnection *weak_connection = connection; - NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ - __strong MPABTestDesignerConnection *conn = weak_connection; - - // Update the class descriptions in the connection session if provided as part of the message. - if (serializerConfig) { - [connection setSessionObject:serializerConfig forKey:kSnapshotSerializerConfigKey]; - } else if ([connection sessionObjectForKey:kSnapshotSerializerConfigKey]) { - // Get the class descriptions from the connection session store. - serializerConfig = [connection sessionObjectForKey:kSnapshotSerializerConfigKey]; - } else { - // If neither place has a config, this is probably a stale message and we can't create a snapshot. - return; - } - - // Get the object identity provider from the connection's session store or create one if there is none already. - MPObjectIdentityProvider *objectIdentityProvider = [connection sessionObjectForKey:kObjectIdentityProviderKey]; - if (objectIdentityProvider == nil) { - objectIdentityProvider = [[MPObjectIdentityProvider alloc] init]; - [connection setSessionObject:objectIdentityProvider forKey:kObjectIdentityProviderKey]; - } - - MPApplicationStateSerializer *serializer = [[MPApplicationStateSerializer alloc] initWithApplication:[Mixpanel sharedUIApplication] - configuration:serializerConfig - objectIdentityProvider:objectIdentityProvider]; - - MPABTestDesignerSnapshotResponseMessage *snapshotMessage = [MPABTestDesignerSnapshotResponseMessage message]; - __block UIImage *screenshot = nil; - __block NSDictionary *serializedObjects = nil; - - dispatch_sync(dispatch_get_main_queue(), ^{ - screenshot = [serializer screenshotImageForWindowAtIndex:0]; - }); - snapshotMessage.screenshot = screenshot; - - if ([imageHash isEqualToString:snapshotMessage.imageHash]) { - serializedObjects = [connection sessionObjectForKey:@"snapshot_hierarchy"]; - } else { - dispatch_sync(dispatch_get_main_queue(), ^{ - serializedObjects = [serializer objectHierarchyForWindowAtIndex:0]; - }); - [connection setSessionObject:serializedObjects forKey:@"snapshot_hierarchy"]; - } - - snapshotMessage.serializedObjects = serializedObjects; - [conn sendMessage:snapshotMessage]; - }]; - - return operation; -} - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerSnapshotResponseMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerSnapshotResponseMessage.h deleted file mode 100644 index 1e9ff3f4..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerSnapshotResponseMessage.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPAbstractABTestDesignerMessage.h" - -@interface MPABTestDesignerSnapshotResponseMessage : MPAbstractABTestDesignerMessage - -+ (instancetype)message; - -@property (nonatomic, strong) UIImage *screenshot; -@property (nonatomic, copy) NSDictionary *serializedObjects; -@property (nonatomic, strong, readonly) NSString *imageHash; - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerSnapshotResponseMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerSnapshotResponseMessage.m deleted file mode 100644 index bb7b88bd..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerSnapshotResponseMessage.m +++ /dev/null @@ -1,61 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPABTestDesignerSnapshotResponseMessage.h" - -@implementation MPABTestDesignerSnapshotResponseMessage - -+ (instancetype)message -{ - return [(MPABTestDesignerSnapshotResponseMessage *)[self alloc] initWithType:@"snapshot_response"]; -} - -- (void)setScreenshot:(UIImage *)screenshot -{ - id payloadObject = nil; - id imageHash = nil; - if (screenshot) { - NSData *jpegSnapshotImageData = UIImageJPEGRepresentation(screenshot, 0.5); - if (jpegSnapshotImageData) { - payloadObject = [jpegSnapshotImageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; - imageHash = [self getImageHash:jpegSnapshotImageData]; - } - } - - _imageHash = imageHash; - [self setPayloadObject:(payloadObject ?: [NSNull null]) forKey:@"screenshot"]; - [self setPayloadObject:(imageHash ?: [NSNull null]) forKey:@"image_hash"]; -} - -- (UIImage *)screenshot -{ - NSString *base64Image = [self payloadObjectForKey:@"screenshot"]; - NSData *imageData = [[NSData alloc] initWithBase64EncodedString:base64Image - options:NSDataBase64DecodingIgnoreUnknownCharacters]; - return imageData ? [UIImage imageWithData:imageData] : nil; -} - -- (void)setSerializedObjects:(NSDictionary *)serializedObjects -{ - [self setPayloadObject:serializedObjects forKey:@"serialized_objects"]; -} - -- (NSDictionary *)serializedObjects -{ - return [self payloadObjectForKey:@"serialized_objects"]; -} - -- (NSString *)getImageHash:(NSData *)imageData -{ - unsigned char result[CC_MD5_DIGEST_LENGTH]; - CC_MD5(imageData.bytes, (uint)imageData.length, result); - NSString *imageHash = [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X", - result[0], result[1], result[2], result[3], - result[4], result[5], result[6], result[7], - result[8], result[9], result[10], result[11], - result[12], result[13], result[14], result[15]]; - return imageHash; -} - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerTweakRequestMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerTweakRequestMessage.h deleted file mode 100644 index 38bb726d..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerTweakRequestMessage.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// MPABTestDesignerTweakRequestMessage.h -// HelloMixpanel -// -// Created by Alex Hofsteede on 7/5/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import -#import "MPAbstractABTestDesignerMessage.h" - -extern NSString *const MPABTestDesignerTweakRequestMessageType; - -@interface MPABTestDesignerTweakRequestMessage : MPAbstractABTestDesignerMessage - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerTweakRequestMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerTweakRequestMessage.m deleted file mode 100644 index 12d8fceb..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerTweakRequestMessage.m +++ /dev/null @@ -1,49 +0,0 @@ -// -// MPABTestDesignerTweakRequestMessage.h -// HelloMixpanel -// -// Created by Alex Hofsteede on 7/5/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPABTestDesignerConnection.h" -#import "MPABTestDesignerTweakRequestMessage.h" -#import "MPABTestDesignerTweakResponseMessage.h" -#import "MPLogger.h" -#import "MPVariant.h" - -NSString *const MPABTestDesignerTweakRequestMessageType = @"tweak_request"; - -@implementation MPABTestDesignerTweakRequestMessage - -+ (instancetype)message -{ - return [(MPABTestDesignerTweakRequestMessage *)[self alloc] initWithType:MPABTestDesignerTweakRequestMessageType]; -} - -- (NSOperation *)responseCommandWithConnection:(MPABTestDesignerConnection *)connection -{ - __weak MPABTestDesignerConnection *weak_connection = connection; - NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ - MPABTestDesignerConnection *conn = weak_connection; - - MPVariant *variant = [conn sessionObjectForKey:kSessionVariantKey]; - if (!variant) { - variant = [[MPVariant alloc] init]; - [conn setSessionObject:variant forKey:kSessionVariantKey]; - } - - id tweaks = [self payload][@"tweaks"]; - if ([tweaks isKindOfClass:[NSArray class]]) { - [variant addTweaksFromJSONObject:tweaks andExecute:YES]; - } - - MPABTestDesignerTweakResponseMessage *changeResponseMessage = [MPABTestDesignerTweakResponseMessage message]; - changeResponseMessage.status = @"OK"; - [conn sendMessage:changeResponseMessage]; - }]; - - return operation; -} - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerTweakResponseMessage.h b/Mixpanel/Mixpanel/MPABTestDesignerTweakResponseMessage.h deleted file mode 100644 index 68d2ac8d..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerTweakResponseMessage.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MPABTestDesignerTweakResponseMessage.h -// HelloMixpanel -// -// Created by Alex Hofsteede on 7/5/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPAbstractABTestDesignerMessage.h" - -@interface MPABTestDesignerTweakResponseMessage : MPAbstractABTestDesignerMessage - -+ (instancetype)message; - -@property (nonatomic, copy) NSString *status; - -@end diff --git a/Mixpanel/Mixpanel/MPABTestDesignerTweakResponseMessage.m b/Mixpanel/Mixpanel/MPABTestDesignerTweakResponseMessage.m deleted file mode 100644 index 8ce4db5c..00000000 --- a/Mixpanel/Mixpanel/MPABTestDesignerTweakResponseMessage.m +++ /dev/null @@ -1,28 +0,0 @@ -// -// MPABTestDesignerTweakResponseMessage.m -// HelloMixpanel -// -// Created by Alex Hofsteede on 7/5/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPABTestDesignerTweakResponseMessage.h" - -@implementation MPABTestDesignerTweakResponseMessage - -+ (instancetype)message -{ - return [(MPABTestDesignerTweakResponseMessage *)[self alloc] initWithType:@"tweak_response"]; -} - -- (void)setStatus:(NSString *)status -{ - [self setPayloadObject:status forKey:@"status"]; -} - -- (NSString *)status -{ - return [self payloadObjectForKey:@"status"]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPAbstractABTestDesignerMessage.h b/Mixpanel/Mixpanel/MPAbstractABTestDesignerMessage.h deleted file mode 100644 index d1f55c11..00000000 --- a/Mixpanel/Mixpanel/MPAbstractABTestDesignerMessage.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPABTestDesignerMessage.h" - -@interface MPAbstractABTestDesignerMessage : NSObject - -@property (nonatomic, copy, readonly) NSString *type; - -+ (instancetype)messageWithType:(NSString *)type payload:(NSDictionary *)payload; - -- (instancetype)initWithType:(NSString *)type; -- (instancetype)initWithType:(NSString *)type payload:(NSDictionary *)payload; - -- (void)setPayloadObject:(id)object forKey:(NSString *)key; -- (id)payloadObjectForKey:(NSString *)key; -- (NSDictionary *)payload; - -- (NSData *)JSONData; - -@end diff --git a/Mixpanel/Mixpanel/MPAbstractABTestDesignerMessage.m b/Mixpanel/Mixpanel/MPAbstractABTestDesignerMessage.m deleted file mode 100644 index bec4473e..00000000 --- a/Mixpanel/Mixpanel/MPAbstractABTestDesignerMessage.m +++ /dev/null @@ -1,79 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPAbstractABTestDesignerMessage.h" -#import "MPLogger.h" - -@interface MPAbstractABTestDesignerMessage () - -@property (nonatomic, copy, readwrite) NSString *type; - -@end - -@implementation MPAbstractABTestDesignerMessage - -{ - NSMutableDictionary *_payload; -} - -+ (instancetype)messageWithType:(NSString *)type payload:(NSDictionary *)payload -{ - return [(MPAbstractABTestDesignerMessage *)[self alloc] initWithType:type payload:payload]; -} - -- (instancetype)initWithType:(NSString *)type -{ - return [self initWithType:type payload:@{}]; -} - -- (instancetype)initWithType:(NSString *)type payload:(NSDictionary *)payload -{ - self = [super init]; - if (self) { - _type = type; - _payload = [payload mutableCopy]; - } - - return self; -} - -- (void)setPayloadObject:(id)object forKey:(NSString *)key -{ - _payload[key] = object ?: [NSNull null]; -} - -- (id)payloadObjectForKey:(NSString *)key -{ - id object = _payload[key]; - return [object isEqual:[NSNull null]] ? nil : object; -} - -- (NSDictionary *)payload -{ - return [_payload copy]; -} - -- (NSData *)JSONData -{ - NSDictionary *jsonObject = @{ @"type": _type, @"payload": [_payload copy] }; - - NSError *error = nil; - NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonObject options:(NSJSONWritingOptions)0 error:&error]; - if (error) { - MPLogError(@"Failed to serialize test designer message: %@", error); - } - - return jsonData; -} - -- (NSOperation *)responseCommandWithConnection:(MPABTestDesignerConnection *)connection -{ - return nil; -} - -- (NSString *)debugDescription -{ - return [NSString stringWithFormat:@"<%@:%p type='%@'>", NSStringFromClass([self class]), (__bridge void *)self, self.type]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPApplicationStateSerializer.h b/Mixpanel/Mixpanel/MPApplicationStateSerializer.h deleted file mode 100644 index eddc5a21..00000000 --- a/Mixpanel/Mixpanel/MPApplicationStateSerializer.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@class MPObjectSerializerConfig; -@class MPObjectIdentityProvider; - -@interface MPApplicationStateSerializer : NSObject - -- (instancetype)initWithApplication:(UIApplication *)application configuration:(MPObjectSerializerConfig *)configuration objectIdentityProvider:(MPObjectIdentityProvider *)objectIdentityProvider; - -- (UIImage *)screenshotImageForWindowAtIndex:(NSUInteger)index; - -- (NSDictionary *)objectHierarchyForWindowAtIndex:(NSUInteger)index; - -@end diff --git a/Mixpanel/Mixpanel/MPApplicationStateSerializer.m b/Mixpanel/Mixpanel/MPApplicationStateSerializer.m deleted file mode 100644 index f2fee830..00000000 --- a/Mixpanel/Mixpanel/MPApplicationStateSerializer.m +++ /dev/null @@ -1,66 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPApplicationStateSerializer.h" -#import "MPClassDescription.h" -#import "MPLogger.h" -#import "MPObjectIdentityProvider.h" -#import "MPObjectSerializer.h" -#import "MPObjectSerializerConfig.h" - -@implementation MPApplicationStateSerializer - -{ - MPObjectSerializer *_serializer; - UIApplication *_application; -} - -- (instancetype)initWithApplication:(UIApplication *)application configuration:(MPObjectSerializerConfig *)configuration objectIdentityProvider:(MPObjectIdentityProvider *)objectIdentityProvider -{ - NSParameterAssert(application != nil); - NSParameterAssert(configuration != nil); - - self = [super init]; - if (self) { - _application = application; - _serializer = [[MPObjectSerializer alloc] initWithConfiguration:configuration objectIdentityProvider:objectIdentityProvider]; - } - - return self; -} - -- (UIImage *)screenshotImageForWindowAtIndex:(NSUInteger)index -{ - UIImage *image = nil; - - UIWindow *window = [self windowAtIndex:index]; - if (window && !CGRectEqualToRect(window.frame, CGRectZero)) { - UIGraphicsBeginImageContextWithOptions(window.bounds.size, YES, window.screen.scale); - if ([window drawViewHierarchyInRect:window.bounds afterScreenUpdates:NO] == NO) { - MPLogError(@"Unable to get complete screenshot for window at index: %d.", (int)index); - } - image = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - } - - return image; -} - -- (UIWindow *)windowAtIndex:(NSUInteger)index -{ - NSParameterAssert(index < _application.windows.count); - return _application.windows[index]; -} - -- (NSDictionary *)objectHierarchyForWindowAtIndex:(NSUInteger)index -{ - UIWindow *window = [self windowAtIndex:index]; - if (window) { - return [_serializer serializedObjectsWithRootObject:window]; - } - - return @{}; -} - -@end diff --git a/Mixpanel/Mixpanel/MPBOOLToNSNumberValueTransformer.m b/Mixpanel/Mixpanel/MPBOOLToNSNumberValueTransformer.m deleted file mode 100644 index 3c8a61bc..00000000 --- a/Mixpanel/Mixpanel/MPBOOLToNSNumberValueTransformer.m +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -@implementation MPBOOLToNSNumberValueTransformer - -+ (Class)transformedValueClass -{ - return [@YES class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return NO; -} - -- (id)transformedValue:(id)value -{ - if ([value respondsToSelector:@selector(boolValue)]) { - return @([value boolValue]); - } - - return nil; -} - -@end diff --git a/Mixpanel/Mixpanel/MPCATransform3DToNSDictionaryValueTransformer.m b/Mixpanel/Mixpanel/MPCATransform3DToNSDictionaryValueTransformer.m deleted file mode 100644 index a5244220..00000000 --- a/Mixpanel/Mixpanel/MPCATransform3DToNSDictionaryValueTransformer.m +++ /dev/null @@ -1,117 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -static NSDictionary *MPCATransform3DCreateDictionaryRepresentation(CATransform3D transform) -{ - return @{ - @"m11": @(transform.m11), - @"m12": @(transform.m12), - @"m13": @(transform.m13), - @"m14": @(transform.m14), - - @"m21": @(transform.m21), - @"m22": @(transform.m22), - @"m23": @(transform.m23), - @"m24": @(transform.m24), - - @"m31": @(transform.m31), - @"m32": @(transform.m32), - @"m33": @(transform.m33), - @"m34": @(transform.m34), - - @"m41": @(transform.m41), - @"m42": @(transform.m42), - @"m43": @(transform.m43), - @"m44": @(transform.m44), - }; -} - -static BOOL MPCATransform3DMakeWithDictionaryRepresentation(NSDictionary *dictionary, CATransform3D *transform) -{ - if (transform) { - id m11 = dictionary[@"m11"]; - id m12 = dictionary[@"m12"]; - id m13 = dictionary[@"m13"]; - id m14 = dictionary[@"m14"]; - - id m21 = dictionary[@"m21"]; - id m22 = dictionary[@"m22"]; - id m23 = dictionary[@"m23"]; - id m24 = dictionary[@"m24"]; - - id m31 = dictionary[@"m31"]; - id m32 = dictionary[@"m32"]; - id m33 = dictionary[@"m33"]; - id m34 = dictionary[@"m34"]; - - id m41 = dictionary[@"m41"]; - id m42 = dictionary[@"m42"]; - id m43 = dictionary[@"m43"]; - id m44 = dictionary[@"m44"]; - - if (m11 && m12 && m13 && m14 && - m21 && m22 && m23 && m24 && - m31 && m32 && m33 && m34 && - m41 && m42 && m43 && m44) - { - transform->m11 = (CGFloat)[m11 doubleValue]; - transform->m12 = (CGFloat)[m12 doubleValue]; - transform->m13 = (CGFloat)[m13 doubleValue]; - transform->m14 = (CGFloat)[m14 doubleValue]; - - transform->m21 = (CGFloat)[m21 doubleValue]; - transform->m22 = (CGFloat)[m22 doubleValue]; - transform->m23 = (CGFloat)[m23 doubleValue]; - transform->m24 = (CGFloat)[m24 doubleValue]; - - transform->m31 = (CGFloat)[m31 doubleValue]; - transform->m32 = (CGFloat)[m32 doubleValue]; - transform->m33 = (CGFloat)[m33 doubleValue]; - transform->m34 = (CGFloat)[m34 doubleValue]; - - transform->m41 = (CGFloat)[m41 doubleValue]; - transform->m42 = (CGFloat)[m42 doubleValue]; - transform->m43 = (CGFloat)[m43 doubleValue]; - transform->m44 = (CGFloat)[m44 doubleValue]; - - return YES; - } - } - - return NO; -} - -@implementation MPCATransform3DToNSDictionaryValueTransformer - -+ (Class)transformedValueClass -{ - return [NSDictionary class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return YES; -} - -- (id)transformedValue:(id)value -{ - if ([value respondsToSelector:@selector(CATransform3DValue)]) { - return MPCATransform3DCreateDictionaryRepresentation([value CATransform3DValue]); - } - - return @{}; -} - -- (id)reverseTransformedValue:(id)value -{ - CATransform3D transform = CATransform3DIdentity; - if ([value isKindOfClass:[NSDictionary class]] && MPCATransform3DMakeWithDictionaryRepresentation(value, &transform)) { - return [NSValue valueWithCATransform3D:transform]; - } - - return [NSValue valueWithCATransform3D:CATransform3DIdentity]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPCGAffineTransformToNSDictionaryValueTransformer.m b/Mixpanel/Mixpanel/MPCGAffineTransformToNSDictionaryValueTransformer.m deleted file mode 100644 index 7c2c1a26..00000000 --- a/Mixpanel/Mixpanel/MPCGAffineTransformToNSDictionaryValueTransformer.m +++ /dev/null @@ -1,74 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -static NSDictionary *MPCGAffineTransformCreateDictionaryRepresentation(CGAffineTransform transform) -{ - return @{ - @"a": @(transform.a), - @"b": @(transform.b), - @"c": @(transform.c), - @"d": @(transform.d), - @"tx": @(transform.tx), - @"ty": @(transform.ty) - }; -} - -static BOOL MPCGAffineTransformMakeWithDictionaryRepresentation(NSDictionary *dictionary, CGAffineTransform *transform) -{ - if (transform) { - id a = dictionary[@"a"]; - id b = dictionary[@"b"]; - id c = dictionary[@"c"]; - id d = dictionary[@"d"]; - id tx = dictionary[@"tx"]; - id ty = dictionary[@"ty"]; - - if (a && b && c && d && tx && ty) { - transform->a = (CGFloat)[a doubleValue]; - transform->b = (CGFloat)[b doubleValue]; - transform->c = (CGFloat)[c doubleValue]; - transform->d = (CGFloat)[d doubleValue]; - transform->tx = (CGFloat)[tx doubleValue]; - transform->ty = (CGFloat)[ty doubleValue]; - - return YES; - } - } - - return NO; -} - -@implementation MPCGAffineTransformToNSDictionaryValueTransformer - -+ (Class)transformedValueClass -{ - return [NSDictionary class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return YES; -} - -- (id)transformedValue:(id)value -{ - if ([value respondsToSelector:@selector(CGAffineTransformValue)]) { - return MPCGAffineTransformCreateDictionaryRepresentation([value CGAffineTransformValue]); - } - - return @{}; -} - -- (id)reverseTransformedValue:(id)value -{ - CGAffineTransform transform = CGAffineTransformIdentity; - if ([value isKindOfClass:[NSDictionary class]] && MPCGAffineTransformMakeWithDictionaryRepresentation(value, &transform)) { - return [NSValue valueWithCGAffineTransform:transform]; - } - - return [NSValue valueWithCGAffineTransform:CGAffineTransformIdentity]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPCGColorRefToNSStringValueTransformer.m b/Mixpanel/Mixpanel/MPCGColorRefToNSStringValueTransformer.m deleted file mode 100644 index b08ae435..00000000 --- a/Mixpanel/Mixpanel/MPCGColorRefToNSStringValueTransformer.m +++ /dev/null @@ -1,30 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -@implementation MPCGColorRefToNSStringValueTransformer - -+ (Class)transformedValueClass -{ - return [NSString class]; -} - -- (id)transformedValue:(id)value -{ - if (value && CFGetTypeID((__bridge CFTypeRef)value) == CGColorGetTypeID()) { - NSValueTransformer *transformer = [NSValueTransformer valueTransformerForName:@"MPUIColorToNSStringValueTransformer"]; - return [transformer transformedValue:[[UIColor alloc] initWithCGColor:(__bridge CGColorRef)value]]; - } - - return nil; -} - -- (id)reverseTransformedValue:(id)value -{ - NSValueTransformer *transformer = [NSValueTransformer valueTransformerForName:@"MPUIColorToNSStringValueTransformer"]; - UIColor *uiColor = [transformer reverseTransformedValue:value]; - return CFBridgingRelease(CGColorCreateCopy([uiColor CGColor])); -} - -@end diff --git a/Mixpanel/Mixpanel/MPCGPointToNSDictionaryValueTransformer.m b/Mixpanel/Mixpanel/MPCGPointToNSDictionaryValueTransformer.m deleted file mode 100644 index dae17389..00000000 --- a/Mixpanel/Mixpanel/MPCGPointToNSDictionaryValueTransformer.m +++ /dev/null @@ -1,40 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -@implementation MPCGPointToNSDictionaryValueTransformer - -+ (Class)transformedValueClass -{ - return [NSDictionary class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return YES; -} - -- (id)transformedValue:(id)value -{ - if ([value respondsToSelector:@selector(CGPointValue)]) { - CGPoint point = [value CGPointValue]; - point.x = isnormal(point.x) ? point.x : 0.0f; - point.y = isnormal(point.y) ? point.y : 0.0f; - return CFBridgingRelease(CGPointCreateDictionaryRepresentation(point)); - } - - return nil; -} - -- (id)reverseTransformedValue:(id)value -{ - CGPoint point = CGPointZero; - if ([value isKindOfClass:[NSDictionary class]] && CGPointMakeWithDictionaryRepresentation((__bridge CFDictionaryRef)value, &point)) { - return [NSValue valueWithCGPoint:point]; - } - - return [NSValue valueWithCGPoint:CGPointZero]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPCGRectToNSDictionaryValueTransformer.m b/Mixpanel/Mixpanel/MPCGRectToNSDictionaryValueTransformer.m deleted file mode 100644 index 65a96bcc..00000000 --- a/Mixpanel/Mixpanel/MPCGRectToNSDictionaryValueTransformer.m +++ /dev/null @@ -1,42 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -@implementation MPCGRectToNSDictionaryValueTransformer - -+ (Class)transformedValueClass -{ - return [NSDictionary class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return YES; -} - -- (id)transformedValue:(id)value -{ - if ([value respondsToSelector:@selector(CGRectValue)]) { - CGRect rect = [value CGRectValue]; - rect.origin.x = isnormal(rect.origin.x) ? rect.origin.x : 0.0f; - rect.origin.y = isnormal(rect.origin.y) ? rect.origin.y : 0.0f; - rect.size.width = isnormal(rect.size.width) ? rect.size.width : 0.0f; - rect.size.height = isnormal(rect.size.height) ? rect.size.height : 0.0f; - return CFBridgingRelease(CGRectCreateDictionaryRepresentation(rect)); - } - - return nil; -} - -- (id)reverseTransformedValue:(id)value -{ - CGRect rect = CGRectZero; - if ([value isKindOfClass:[NSDictionary class]] && CGRectMakeWithDictionaryRepresentation((__bridge CFDictionaryRef)value, &rect)) { - return [NSValue valueWithCGRect:rect]; - } - - return [NSValue valueWithCGRect:CGRectZero]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPCGSizeToNSDictionaryValueTransformer.m b/Mixpanel/Mixpanel/MPCGSizeToNSDictionaryValueTransformer.m deleted file mode 100644 index cdc38215..00000000 --- a/Mixpanel/Mixpanel/MPCGSizeToNSDictionaryValueTransformer.m +++ /dev/null @@ -1,40 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -@implementation MPCGSizeToNSDictionaryValueTransformer - -+ (Class)transformedValueClass -{ - return [NSDictionary class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return YES; -} - -- (id)transformedValue:(id)value -{ - if ([value respondsToSelector:@selector(CGSizeValue)]) { - CGSize size = [value CGSizeValue]; - size.width = isnormal(size.width) ? size.width : 0.0f; - size.height = isnormal(size.height) ? size.height : 0.0f; - return CFBridgingRelease(CGSizeCreateDictionaryRepresentation(size)); - } - - return nil; -} - -- (id)reverseTransformedValue:(id)value -{ - CGSize size = CGSizeZero; - if ([value isKindOfClass:[NSDictionary class]] && CGSizeMakeWithDictionaryRepresentation((__bridge CFDictionaryRef)value, &size)) { - return [NSValue valueWithCGSize:size]; - } - - return [NSValue valueWithCGSize:CGSizeZero]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPClassDescription.h b/Mixpanel/Mixpanel/MPClassDescription.h deleted file mode 100644 index 1dd40da7..00000000 --- a/Mixpanel/Mixpanel/MPClassDescription.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPTypeDescription.h" - -@interface MPClassDescription : MPTypeDescription - -@property (nonatomic, readonly) MPClassDescription *superclassDescription; -@property (nonatomic, readonly) NSArray *propertyDescriptions; -@property (nonatomic, readonly) NSArray *delegateInfos; - -- (instancetype)initWithSuperclassDescription:(MPClassDescription *)superclassDescription dictionary:(NSDictionary *)dictionary; - -- (BOOL)isDescriptionForKindOfClass:(Class)aClass; - -@end - -@interface MPDelegateInfo : NSObject - -@property (nonatomic, readonly) NSString *selectorName; - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary; - -@end diff --git a/Mixpanel/Mixpanel/MPClassDescription.m b/Mixpanel/Mixpanel/MPClassDescription.m deleted file mode 100644 index 638dfa5d..00000000 --- a/Mixpanel/Mixpanel/MPClassDescription.m +++ /dev/null @@ -1,77 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPClassDescription.h" -#import "MPPropertyDescription.h" - -@implementation MPDelegateInfo - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary -{ - if (self = [super init]) { - _selectorName = dictionary[@"selector"]; - } - return self; -} - -@end - -@implementation MPClassDescription - -{ - NSArray *_propertyDescriptions; - NSArray *_delegateInfos; -} - -- (instancetype)initWithSuperclassDescription:(MPClassDescription *)superclassDescription dictionary:(NSDictionary *)dictionary -{ - self = [super initWithDictionary:dictionary]; - if (self) { - _superclassDescription = superclassDescription; - - NSMutableArray *propertyDescriptions = [NSMutableArray array]; - for (NSDictionary *propertyDictionary in dictionary[@"properties"]) { - [propertyDescriptions addObject:[[MPPropertyDescription alloc] initWithDictionary:propertyDictionary]]; - } - - _propertyDescriptions = [propertyDescriptions copy]; - - NSMutableArray *delegateInfos = [NSMutableArray array]; - for (NSDictionary *delegateInfoDictionary in dictionary[@"delegateImplements"]) { - [delegateInfos addObject:[[MPDelegateInfo alloc] initWithDictionary:delegateInfoDictionary]]; - } - _delegateInfos = [delegateInfos copy]; - } - - return self; -} - -- (NSArray *)propertyDescriptions -{ - NSMutableDictionary *allPropertyDescriptions = [NSMutableDictionary dictionary]; - - MPClassDescription *description = self; - while (description) - { - for (MPPropertyDescription *propertyDescription in description->_propertyDescriptions) { - if (!allPropertyDescriptions[propertyDescription.name]) { - allPropertyDescriptions[propertyDescription.name] = propertyDescription; - } - } - description = description.superclassDescription; - } - - return allPropertyDescriptions.allValues; -} - -- (BOOL)isDescriptionForKindOfClass:(Class)aClass -{ - return [self.name isEqualToString:NSStringFromClass(aClass)] && [self.superclassDescription isDescriptionForKindOfClass:[aClass superclass]]; -} - -- (NSString *)debugDescription -{ - return [NSString stringWithFormat:@"<%@:%p name='%@' superclass='%@'>", NSStringFromClass([self class]), (__bridge void *)self, self.name, self.superclassDescription ? self.superclassDescription.name : @""]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPConnectIntegrations.h b/Mixpanel/Mixpanel/MPConnectIntegrations.h deleted file mode 100644 index 32117d2c..00000000 --- a/Mixpanel/Mixpanel/MPConnectIntegrations.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MPConnectIntegrations.h -// Mixpanel -// -// Created by Peter Chien on 10/9/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import "Mixpanel.h" - -@interface MPConnectIntegrations : NSObject - -- (instancetype)initWithMixpanel:(Mixpanel *)mixpanel; -- (void)reset; -- (void)setupIntegrations:(NSArray *)integrations; - -@end diff --git a/Mixpanel/Mixpanel/MPConnectIntegrations.m b/Mixpanel/Mixpanel/MPConnectIntegrations.m deleted file mode 100644 index 59fac23d..00000000 --- a/Mixpanel/Mixpanel/MPConnectIntegrations.m +++ /dev/null @@ -1,98 +0,0 @@ -// -// MPConnectIntegrations.m -// Mixpanel -// -// Created by Peter Chien on 10/9/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import "MPConnectIntegrations.h" - -static const NSInteger UA_MAX_RETRIES = 3; - -@interface MPConnectIntegrations () - -@property (nonatomic, weak) Mixpanel *mixpanel; -@property (nonatomic, strong) NSString *savedUrbanAirshipChannelID; -@property (nonatomic, strong) NSString *savedBrazeUserID; -@property (nonatomic, strong) NSString *savedDeviceId; -@property (nonatomic, assign) NSInteger urbanAirshipRetries; - -@end - -@implementation MPConnectIntegrations - -- (instancetype)initWithMixpanel:(Mixpanel *)mixpanel { - if (self = [super init]) { - _mixpanel = mixpanel; - } - return self; -} - -- (void)reset { - self.savedUrbanAirshipChannelID = nil; - self.savedBrazeUserID = nil; - self.savedDeviceId = nil; - self.urbanAirshipRetries = 0; -} - -- (void)setupIntegrations:(NSArray *)integrations { - if ([integrations containsObject:@"urbanairship"]) { - [self setUrbanAirshipPeopleProp]; - } - if ([integrations containsObject:@"braze"]) { - [self setBrazePeopleProp]; - } -} - -- (void)setUrbanAirshipPeopleProp { - Class urbanAirship = NSClassFromString(@"UAirship"); - if (urbanAirship) { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-performSelector-leaks" - NSString *channelID = [[urbanAirship performSelector:NSSelectorFromString(@"push")] performSelector:NSSelectorFromString(@"channelID")]; -#pragma clang diagnostic pop - if (!channelID.length) { - self.urbanAirshipRetries++; - if (self.urbanAirshipRetries <= UA_MAX_RETRIES) { - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self setUrbanAirshipPeopleProp]; - }); - } - } else { - self.urbanAirshipRetries = 0; - if (![channelID isEqualToString:self.savedUrbanAirshipChannelID]) { - [self.mixpanel.people set:@"$ios_urban_airship_channel_id" to:channelID]; - self.savedUrbanAirshipChannelID = channelID; - } - } - } -} - -- (void)setBrazePeopleProp { - Class brazeClass = NSClassFromString(@"Appboy"); - if (brazeClass) { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-performSelector-leaks" - NSString *externalUserId = [[[brazeClass performSelector:NSSelectorFromString(@"sharedInstance")] performSelector:NSSelectorFromString(@"user")] performSelector:NSSelectorFromString(@"userID")]; - NSString *deviceId = [[brazeClass performSelector:NSSelectorFromString(@"sharedInstance")] performSelector:NSSelectorFromString(@"getDeviceId")]; -#pragma clang diagnostic pop - if (deviceId.length) { - if (![deviceId isEqualToString:self.savedDeviceId]) { - [self.mixpanel createAlias:deviceId forDistinctID:self.mixpanel.distinctId]; - [self.mixpanel.people set:@"$braze_device_id" to:deviceId]; - self.savedDeviceId = deviceId; - } - } - - if (externalUserId.length) { - if (![externalUserId isEqualToString:self.savedBrazeUserID]) { - [self.mixpanel createAlias:externalUserId forDistinctID:self.mixpanel.distinctId]; - [self.mixpanel.people set:@"$braze_external_id" to:externalUserId]; - self.savedBrazeUserID = externalUserId; - } - } - } -} - -@end diff --git a/Mixpanel/Mixpanel/MPDesignerEventBindingMessage.h b/Mixpanel/Mixpanel/MPDesignerEventBindingMessage.h deleted file mode 100644 index 3c1f293f..00000000 --- a/Mixpanel/Mixpanel/MPDesignerEventBindingMessage.h +++ /dev/null @@ -1,44 +0,0 @@ -// -// MPDesignerEventBindingMessage.h -// HelloMixpanel -// -// Created by Amanda Canyon on 11/18/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPAbstractABTestDesignerMessage.h" - -extern NSString *const MPDesignerEventBindingRequestMessageType; - -@interface MPDesignerEventBindingRequestMessage : MPAbstractABTestDesignerMessage - -@end - -__deprecated -@interface MPDesignerEventBindingRequestMesssage : MPDesignerEventBindingRequestMessage - -@end - - -@interface MPDesignerEventBindingResponseMessage : MPAbstractABTestDesignerMessage - -+ (instancetype)message; - -@property (nonatomic, copy) NSString *status; - -@end - -__deprecated -@interface MPDesignerEventBindingResponseMesssage : MPDesignerEventBindingResponseMessage - -@end - - -@interface MPDesignerTrackMessage : MPAbstractABTestDesignerMessage - -+ (instancetype)message; -+ (instancetype)messageWithPayload:(NSDictionary *)payload; - -@end - - diff --git a/Mixpanel/Mixpanel/MPDesignerEventBindingRequestMesssage.m b/Mixpanel/Mixpanel/MPDesignerEventBindingRequestMesssage.m deleted file mode 100644 index f4c16318..00000000 --- a/Mixpanel/Mixpanel/MPDesignerEventBindingRequestMesssage.m +++ /dev/null @@ -1,88 +0,0 @@ -// -// MPDesignerEventBindingRequestMesssage.m -// HelloMixpanel -// -// Created by Amanda Canyon on 7/15/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "Mixpanel.h" -#import "MPABTestDesignerConnection.h" -#import "MPDesignerEventBindingMessage.h" -#import "MPDesignerSessionCollection.h" -#import "MPEventBinding.h" -#import "MPObjectSelector.h" -#import "MPSwizzler.h" - -NSString *const MPDesignerEventBindingRequestMessageType = @"event_binding_request"; - -@interface MPEventBindingCollection : NSObject - -@property (nonatomic) NSMutableArray *bindings; - -@end - -@implementation MPEventBindingCollection - -- (void)updateBindings:(NSArray *)bindingPayload -{ - NSMutableArray *newBindings = [NSMutableArray array]; - for (NSDictionary *bindingInfo in bindingPayload) { - MPEventBinding *binding = [MPEventBinding bindingWithJSONObject:bindingInfo]; - if (binding) { - [newBindings addObject:binding]; - } - } - - for (MPEventBinding *oldBinding in self.bindings) { - [oldBinding stop]; - } - self.bindings = newBindings; - for (MPEventBinding *newBinding in self.bindings) { - [newBinding execute]; - } -} - -- (void)cleanup -{ - for (MPEventBinding *oldBinding in self.bindings) { - [oldBinding stop]; - } - self.bindings = nil; -} - -@end - -@implementation MPDesignerEventBindingRequestMessage - -+ (instancetype)message -{ - return [(MPDesignerEventBindingRequestMessage *)[self alloc] initWithType:@"event_binding_request"]; -} - -- (NSOperation *)responseCommandWithConnection:(MPABTestDesignerConnection *)connection -{ - __weak MPABTestDesignerConnection *weak_connection = connection; - NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ - MPABTestDesignerConnection *conn = weak_connection; - - dispatch_sync(dispatch_get_main_queue(), ^{ - NSArray *payload = [self payload][@"events"]; - NSLog(@"Loading event bindings:\n%@", payload); - MPEventBindingCollection *bindingCollection = [conn sessionObjectForKey:@"event_bindings"]; - if (!bindingCollection) { - bindingCollection = [[MPEventBindingCollection alloc] init]; - [conn setSessionObject:bindingCollection forKey:@"event_bindings"]; - } - [bindingCollection updateBindings:payload]; - }); - - MPDesignerEventBindingResponseMessage *changeResponseMessage = [MPDesignerEventBindingResponseMessage message]; - changeResponseMessage.status = @"OK"; - [conn sendMessage:changeResponseMessage]; - }]; - - return operation; -} - -@end diff --git a/Mixpanel/Mixpanel/MPDesignerEventBindingResponseMesssage.m b/Mixpanel/Mixpanel/MPDesignerEventBindingResponseMesssage.m deleted file mode 100644 index 0087b01f..00000000 --- a/Mixpanel/Mixpanel/MPDesignerEventBindingResponseMesssage.m +++ /dev/null @@ -1,28 +0,0 @@ -// -// MPDesignerEventBindingResponseMesssage.m -// HelloMixpanel -// -// Created by Amanda Canyon on 7/15/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPDesignerEventBindingMessage.h" - -@implementation MPDesignerEventBindingResponseMessage - -+ (instancetype)message -{ - return [(MPDesignerEventBindingResponseMessage *)[self alloc] initWithType:@"event_binding_response"]; -} - -- (void)setStatus:(NSString *)status -{ - [self setPayloadObject:status forKey:@"status"]; -} - -- (NSString *)status -{ - return [self payloadObjectForKey:@"status"]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPDesignerSessionCollection.h b/Mixpanel/Mixpanel/MPDesignerSessionCollection.h deleted file mode 100644 index 590e47fb..00000000 --- a/Mixpanel/Mixpanel/MPDesignerSessionCollection.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// MPDesignerSessionCollection.h -// HelloMixpanel -// -// Created by Amanda Canyon on 8/22/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import - -@protocol MPDesignerSessionCollection - -- (void)cleanup; - -@end diff --git a/Mixpanel/Mixpanel/MPDesignerTrackMessage.m b/Mixpanel/Mixpanel/MPDesignerTrackMessage.m deleted file mode 100644 index b698f220..00000000 --- a/Mixpanel/Mixpanel/MPDesignerTrackMessage.m +++ /dev/null @@ -1,53 +0,0 @@ -// -// MPDesignerTrackMessage.m -// HelloMixpanel -// -// Created by Amanda Canyon on 9/3/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPDesignerEventBindingMessage.h" - -@implementation MPDesignerTrackMessage - -{ - NSDictionary *_payload; -} - -+ (instancetype)message -{ - return [(MPDesignerTrackMessage *)[self alloc] initWithType:@"track_message"]; -} - -+ (instancetype)messageWithPayload:(NSDictionary *)payload -{ - return [(MPDesignerTrackMessage *)[self alloc] initWithType:@"track_message" andPayload:payload]; -} - -- (instancetype)initWithType:(NSString *)type -{ - return [self initWithType:type andPayload:@{}]; -} - -- (instancetype)initWithType:(NSString *)type andPayload:(NSDictionary *)payload -{ - if (self = [super initWithType:type]) { - _payload = payload; - } - return self; -} - -- (NSData *)JSONData -{ - NSDictionary *jsonObject = @{ @"type": self.type, @"payload": [_payload copy] }; - - NSError *error = nil; - NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonObject options:(NSJSONWritingOptions)0 error:&error]; - if (error) { - NSLog(@"Failed to serialize test designer message: %@", error); - } - - return jsonData; -} - -@end diff --git a/Mixpanel/Mixpanel/MPDisplayTrigger.h b/Mixpanel/Mixpanel/MPDisplayTrigger.h deleted file mode 100644 index 6f559321..00000000 --- a/Mixpanel/Mixpanel/MPDisplayTrigger.h +++ /dev/null @@ -1,13 +0,0 @@ -#import - -@interface MPDisplayTrigger : NSObject - -@property (nonatomic, readonly) NSDictionary *rawJSON; -@property (nonatomic, readonly) NSString *event; -@property (nonatomic, readonly) NSDictionary *selector; - -- (instancetype)init __unavailable; -- (instancetype)initWithJSONObject:(NSDictionary *)jsonObject; -- (BOOL)matchesEvent:(NSDictionary *)event; - -@end diff --git a/Mixpanel/Mixpanel/MPDisplayTrigger.m b/Mixpanel/Mixpanel/MPDisplayTrigger.m deleted file mode 100644 index 140de711..00000000 --- a/Mixpanel/Mixpanel/MPDisplayTrigger.m +++ /dev/null @@ -1,51 +0,0 @@ -#import "MPLogger.h" -#import "MPDisplayTrigger.h" -#import "SelectorEvaluator.h" -#import "Mixpanel.h" - -static NSString * const ANY_EVENT = @"$any_event"; - -@implementation MPDisplayTrigger - -- (instancetype)initWithJSONObject:(NSDictionary *)object { - if (self = [super init]) { - if (object == nil) { - MPLogError(@"display trigger json object should not be nil"); - return nil; - } - - NSString *event = object[@"event"]; - if ([event isEqual:[NSNull null]]) { - event = @""; - } - - _rawJSON = object; - _event = event; - _selector = object[@"selector"]; - } - - return self; -} - -- (BOOL)matchesEvent:(NSDictionary *)event { - if (event == nil) { - return NO; - } - - NSString *eventName = event[@"event"]; - NSError *error = nil; - if ([eventName isEqualToString:ANY_EVENT] || [eventName isEqualToString:_event]) { - if ([_selector count] > 0) { - NSNumber *result = [SelectorEvaluator evaluate:_selector properties:event[@"properties"] withError:&error]; - if (error) { - MPLogError(@"error evaluating selector %@", error); - return NO; - } - return [result boolValue]; - } - return YES; - } - return NO; -} - -@end diff --git a/Mixpanel/Mixpanel/MPEnumDescription.h b/Mixpanel/Mixpanel/MPEnumDescription.h deleted file mode 100644 index 283be76d..00000000 --- a/Mixpanel/Mixpanel/MPEnumDescription.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPTypeDescription.h" - -@interface MPEnumDescription : MPTypeDescription - -@property (nonatomic, assign, getter=isFlagsSet, readonly) BOOL flagSet; -@property (nonatomic, copy, readonly) NSString *baseType; - -- (NSArray *)allValues; // array of NSNumber instances - -@end diff --git a/Mixpanel/Mixpanel/MPEnumDescription.m b/Mixpanel/Mixpanel/MPEnumDescription.m deleted file mode 100644 index cd1bde0e..00000000 --- a/Mixpanel/Mixpanel/MPEnumDescription.m +++ /dev/null @@ -1,37 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPEnumDescription.h" - -@implementation MPEnumDescription - -{ - NSMutableDictionary *_values; -} - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary -{ - NSParameterAssert(dictionary[@"flag_set"] != nil); - NSParameterAssert(dictionary[@"base_type"] != nil); - NSParameterAssert(dictionary[@"values"] != nil); - - self = [super initWithDictionary:dictionary]; - if (self) { - _flagSet = [dictionary[@"flag_set"] boolValue]; - _baseType = [dictionary[@"base_type"] copy]; - _values = [NSMutableDictionary dictionary]; - - for (NSDictionary *value in dictionary[@"values"]) { - _values[value[@"value"]] = value[@"display_name"]; - } - } - - return self; -} - -- (NSArray *)allValues -{ - return _values.allKeys; -} - -@end diff --git a/Mixpanel/Mixpanel/MPEventBinding.h b/Mixpanel/Mixpanel/MPEventBinding.h deleted file mode 100644 index 00a4cd6e..00000000 --- a/Mixpanel/Mixpanel/MPEventBinding.h +++ /dev/null @@ -1,46 +0,0 @@ -// -// MPEventBinding.h -// HelloMixpanel -// -// Created by Amanda Canyon on 7/22/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import -#import "MPObjectSelector.h" - -@interface MPEventBinding : NSObject - -@property (nonatomic) NSUInteger ID; -@property (nonatomic, copy) NSString *name; -@property (nonatomic, strong) MPObjectSelector *path; -@property (nonatomic, copy) NSString *eventName; - -@property (nonatomic, assign) Class swizzleClass; - -/*! - Whether this specific binding is currently running on the device. - - This property will not be restored on unarchive, as the binding will need - to be run again once the app is restarted. - */ -@property (nonatomic) BOOL running; - -+ (id)bindingWithJSONObject:(id)object; - -- (instancetype)init __unavailable; -- (instancetype)initWithEventName:(NSString *)eventName onPath:(NSString *)path; - -/*! - Intercepts track calls and adds a property indicating the track event - was from a binding - */ -+ (void)track:(NSString *)event properties:(NSDictionary *)properties; -/*! - Method stubs. Implement them in subclasses - */ -+ (NSString *)typeName; -- (void)execute; -- (void)stop; - -@end diff --git a/Mixpanel/Mixpanel/MPEventBinding.m b/Mixpanel/Mixpanel/MPEventBinding.m deleted file mode 100644 index 2554548a..00000000 --- a/Mixpanel/Mixpanel/MPEventBinding.m +++ /dev/null @@ -1,125 +0,0 @@ -// -// MPEventBinding.m -// HelloMixpanel -// -// Created by Amanda Canyon on 7/22/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "Mixpanel.h" -#import "MPEventBinding.h" -#import "MPUIControlBinding.h" -#import "MPUITableViewBinding.h" - -@implementation MPEventBinding - -+ (MPEventBinding *)bindingWithJSONObject:(NSDictionary *)object -{ - if (object == nil) { - NSLog(@"must supply an JSON object to initialize from"); - return nil; - } - - NSString *bindingType = object[@"event_type"]; - Class klass = [self subclassFromString:bindingType]; - return [klass bindingWithJSONObject:object]; -} - -+ (MPEventBinding *)bindngWithJSONObject:(NSDictionary *)object -{ - return [self bindingWithJSONObject:object]; -} - -+ (Class)subclassFromString:(NSString *)bindingType -{ - NSDictionary *classTypeMap = @{ - [MPUIControlBinding typeName]: [MPUIControlBinding class], - [MPUITableViewBinding typeName]: [MPUITableViewBinding class] - }; - return[classTypeMap valueForKey:bindingType] ?: [MPUIControlBinding class]; -} - -+ (void)track:(NSString *)event properties:(NSDictionary *)properties -{ - NSMutableDictionary *bindingProperties = [NSMutableDictionary dictionaryWithObjectsAndKeys: @YES, @"$from_binding", nil]; - [bindingProperties addEntriesFromDictionary:properties]; - [[Mixpanel sharedInstance] track:event properties:bindingProperties]; -} - -- (instancetype)initWithEventName:(NSString *)eventName onPath:(NSString *)path -{ - if (self = [super init]) { - self.eventName = eventName; - self.path = [[MPObjectSelector alloc] initWithString:path]; - self.name = [[NSUUID UUID] UUIDString]; - self.running = NO; - } - return self; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"Event Binding base class: '%@' for '%@'", [self eventName], [self path]]; -} - -#pragma mark -- Method stubs - -+ (NSString *)typeName -{ - @throw [NSException exceptionWithName:NSInternalInconsistencyException - reason:[NSString stringWithFormat:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)] - userInfo:nil]; -} - -- (void)execute -{ - @throw [NSException exceptionWithName:NSInternalInconsistencyException - reason:[NSString stringWithFormat:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)] - userInfo:nil]; -} - -- (void)stop -{ - @throw [NSException exceptionWithName:NSInternalInconsistencyException - reason:[NSString stringWithFormat:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)] - userInfo:nil]; -} - -#pragma mark -- NSCoder - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - NSString *path = [aDecoder decodeObjectForKey:@"path"]; - NSString *eventName = [aDecoder decodeObjectForKey:@"eventName"]; - if (self = [self initWithEventName:eventName onPath:path]) { - self.ID = [[aDecoder decodeObjectForKey:@"ID"] unsignedLongValue]; - self.name = [aDecoder decodeObjectForKey:@"name"]; - self.swizzleClass = NSClassFromString([aDecoder decodeObjectForKey:@"swizzleClass"]); - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:@(_ID) forKey:@"ID"]; - [aCoder encodeObject:_name forKey:@"name"]; - [aCoder encodeObject:_path.string forKey:@"path"]; - [aCoder encodeObject:_eventName forKey:@"eventName"]; - [aCoder encodeObject:NSStringFromClass(_swizzleClass) forKey:@"swizzleClass"]; -} - -- (BOOL)isEqual:(id)other { - if (other == self) { - return YES; - } else if (![other isKindOfClass:[MPEventBinding class]]) { - return NO; - } else { - return [self.eventName isEqual:((MPEventBinding *)other).eventName] && [self.path isEqual:((MPEventBinding *)other).path]; - } -} - -- (NSUInteger)hash { - return [self.eventName hash] ^ [self.path hash]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPFoundation.h b/Mixpanel/Mixpanel/MPFoundation.h deleted file mode 100644 index 4ff57783..00000000 --- a/Mixpanel/Mixpanel/MPFoundation.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -#if TARGET_OS_IPHONE -#ifndef NSFoundationVersionNumber_iOS_9_0 -// support for Xcode 7.* -#define NSFoundationVersionNumber_iOS_8_x_Max 1199 -#define NSFoundationVersionNumber_iOS_9_0 1240.1 -#define NSFoundationVersionNumber_iOS_9_x_Max 1299 -#endif -#endif diff --git a/Mixpanel/Mixpanel/MPLogger.h b/Mixpanel/Mixpanel/MPLogger.h deleted file mode 100644 index a5a2e81e..00000000 --- a/Mixpanel/Mixpanel/MPLogger.h +++ /dev/null @@ -1,107 +0,0 @@ -// -// MPLogger.h -// HelloMixpanel -// -// Created by Alex Hofsteede on 7/11/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import -#import -#import -#import - -static BOOL gLoggingEnabled = NO; -static NSObject *loggingLockObject; - -#define __MP_MAKE_LOG_FUNCTION(LEVEL, NAME) \ -static inline void NAME(NSString *format, ...) { \ - @synchronized(loggingLockObject) { \ - if (!gLoggingEnabled) return; \ - va_list arg_list; \ - va_start(arg_list, format); \ - NSString *formattedString = [[NSString alloc] initWithFormat:format arguments:arg_list]; \ - asl_add_log_file(NULL, STDERR_FILENO); \ - asl_log(NULL, NULL, (LEVEL), "%s", [formattedString UTF8String]); \ - va_end(arg_list); \ - } \ -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" -// Something has failed. -__MP_MAKE_LOG_FUNCTION(ASL_LEVEL_ERR, MPLogError_legacy) - -// Something is amiss and might fail if not corrected. -__MP_MAKE_LOG_FUNCTION(ASL_LEVEL_WARNING, MPLogWarning_legacy) - -// The lowest priority that you would normally log, and purely informational in nature. -__MP_MAKE_LOG_FUNCTION(ASL_LEVEL_INFO, MPLogInfo_legacy) - -// The lowest priority, and normally not logged except for code based messages. -__MP_MAKE_LOG_FUNCTION(ASL_LEVEL_DEBUG, MPLogDebug_legacy) - -#undef __MP_MAKE_LOG_FUNCTION -#pragma clang diagnostic pop - -static inline os_log_t mixpanelLog() { - static os_log_t logger = nil; - if (!logger) { - if (@available(iOS 10.0, macOS 10.12, *)) { - logger = os_log_create("com.mixpanel.sdk.objc", "Mixpanel"); - } - } - return logger; -} - -static inline void MPLogDebug(NSString *format, ...) { - if (!gLoggingEnabled) return; - va_list arg_list; - va_start(arg_list, format); - NSString *formattedString = [[NSString alloc] initWithFormat:format arguments:arg_list]; - if (@available(iOS 10.0, macOS 10.12, *)) { - os_log_with_type(mixpanelLog(), OS_LOG_TYPE_DEBUG, ": %s", [formattedString UTF8String]); - } - else { - MPLogDebug_legacy(@"%s", [formattedString UTF8String]); - } -} - -static inline void MPLogInfo(NSString *format, ...) { - if (!gLoggingEnabled) return; - va_list arg_list; - va_start(arg_list, format); - NSString *formattedString = [[NSString alloc] initWithFormat:format arguments:arg_list]; - if (@available(iOS 10.0, macOS 10.12, *)) { - os_log_with_type(mixpanelLog(), OS_LOG_TYPE_INFO, ": %s", [formattedString UTF8String]); - } - else { - MPLogInfo_legacy(@"%s", [formattedString UTF8String]); - } -} - -static inline void MPLogWarning(NSString *format, ...) { - if (!gLoggingEnabled) return; - va_list arg_list; - va_start(arg_list, format); - NSString *formattedString = [[NSString alloc] initWithFormat:format arguments:arg_list]; - if (@available(iOS 10.0, macOS 10.12, *)) { - os_log_with_type(mixpanelLog(), OS_LOG_TYPE_ERROR, ": %s", [formattedString UTF8String]); - } - else { - MPLogWarning_legacy(@"%s", [formattedString UTF8String]); - } -} - -static inline void MPLogError(NSString *format, ...) { - if (!gLoggingEnabled) return; - va_list arg_list; - va_start(arg_list, format); - NSString *formattedString = [[NSString alloc] initWithFormat:format arguments:arg_list]; - if (@available(iOS 10.0, macOS 10.12, *)) { - os_log_with_type(mixpanelLog(), OS_LOG_TYPE_ERROR, ": %s", [formattedString UTF8String]); - } - else { - MPLogError_legacy(@"%s", [formattedString UTF8String]); - } -} diff --git a/Mixpanel/Mixpanel/MPMiniNotification.h b/Mixpanel/Mixpanel/MPMiniNotification.h deleted file mode 100644 index 76b039af..00000000 --- a/Mixpanel/Mixpanel/MPMiniNotification.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MPMiniNotification.h -// Mixpanel -// -// Created by Sergio Alonso on 1/24/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import "MPNotification.h" - -@interface MPMiniNotification : MPNotification - -@property (nonatomic, copy) NSURL *ctaUrl; -@property (nonatomic) NSUInteger imageTintColor; -@property (nonatomic) NSUInteger borderColor; - -@end diff --git a/Mixpanel/Mixpanel/MPMiniNotification.m b/Mixpanel/Mixpanel/MPMiniNotification.m deleted file mode 100644 index 7e082709..00000000 --- a/Mixpanel/Mixpanel/MPMiniNotification.m +++ /dev/null @@ -1,60 +0,0 @@ -// -// MPMiniNotification.m -// Mixpanel -// -// Created by Sergio Alonso on 1/24/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import "MPMiniNotification.h" -#import "Mixpanel.h" - -@implementation MPMiniNotification - -- (instancetype)initWithJSONObject:(NSDictionary *)jsonObject { - if (self = [super initWithJSONObject:jsonObject]) { - NSURL *callToActionURL = nil; - NSObject *URLString = jsonObject[@"cta_url"]; - if (URLString != nil && ![URLString isKindOfClass:[NSNull class]]) { - if (![URLString isKindOfClass:[NSString class]] || [(NSString *)URLString length] == 0) { - [MPNotification logNotificationError:@"cta url" withValue:URLString]; - return nil; - } - - callToActionURL = [NSURL URLWithString:(NSString *)URLString]; - if (callToActionURL == nil) { - [MPNotification logNotificationError:@"cta url" withValue:URLString]; - return nil; - } - } - - NSNumber *imageTintColor = jsonObject[@"image_tint_color"]; - if (![imageTintColor isKindOfClass:[NSNumber class]]) { - [MPNotification logNotificationError:@"image tint color" withValue:imageTintColor]; - return nil; - } - - NSNumber *borderColor = jsonObject[@"border_color"]; - if (![borderColor isKindOfClass:[NSNumber class]]) { - [MPNotification logNotificationError:@"border color" withValue:borderColor]; - return nil; - } - - if (!self.body) { - [MPNotification logNotificationError:@"body" withValue:self.body]; - return nil; - } - - self.ctaUrl = callToActionURL; - self.imageTintColor = imageTintColor.unsignedIntegerValue; - self.borderColor = borderColor.unsignedIntegerValue; - } - - return self; -} - -- (NSString *)type { - return MPNotificationTypeMini; -} - -@end diff --git a/Mixpanel/Mixpanel/MPNSAttributedStringToNSDictionaryValueTransformer.m b/Mixpanel/Mixpanel/MPNSAttributedStringToNSDictionaryValueTransformer.m deleted file mode 100644 index 9aa752a5..00000000 --- a/Mixpanel/Mixpanel/MPNSAttributedStringToNSDictionaryValueTransformer.m +++ /dev/null @@ -1,80 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPLogger.h" -#import "MPValueTransformers.h" - -@implementation MPNSAttributedStringToNSDictionaryValueTransformer - -+ (Class)transformedValueClass -{ - return [NSDictionary class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return YES; -} - -- (id)transformedValue:(id)value -{ - if ([value isKindOfClass:[NSAttributedString class]]) { - NSMutableAttributedString *attributedString = [value mutableCopy]; - [attributedString beginEditing]; - __block BOOL safe = NO; - [attributedString enumerateAttribute:NSParagraphStyleAttributeName inRange:NSMakeRange(0, attributedString.length) options:0 usingBlock:^(id valueObject, NSRange range, BOOL *stop) { - if (valueObject) { - NSParagraphStyle *paragraphStyle = valueObject; - if([paragraphStyle respondsToSelector:@selector(headIndent)]) { - safe = YES; - } - } - }]; - if (!safe) { - [attributedString removeAttribute:NSParagraphStyleAttributeName range:NSMakeRange(0, attributedString.length)]; - } - [attributedString endEditing]; - - NSError *error = nil; - NSData *data = [attributedString dataFromRange:NSMakeRange(0, attributedString.length) - documentAttributes:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} - error:&error]; - if (data) { - return @{ - @"mime_type": @"text/html", - @"data": [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] - }; - } else { - MPLogError(@"Failed to convert NSAttributedString to HTML: %@", error); - } - } - - return nil; -} - -- (id)reverseTransformedValue:(id)value -{ - if ([value isKindOfClass:[NSDictionary class]]) { - NSDictionary *dictionaryValue = value; - NSString *mimeType = dictionaryValue[@"mime_type"]; - NSString *dataString = dictionaryValue[@"data"]; - - if ([mimeType isEqualToString:@"text/html"] && dataString) { - NSError *error = nil; - NSData *data = [dataString dataUsingEncoding:NSUTF8StringEncoding]; - NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:data - options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} - documentAttributes:NULL - error:&error]; - if (attributedString == nil) { - MPLogError(@"Failed to convert HTML to NSAttributed string: %@", error); - } - - return attributedString; - } - } - - return nil; -} - -@end diff --git a/Mixpanel/Mixpanel/MPNSNumberToCGFloatValueTransformer.m b/Mixpanel/Mixpanel/MPNSNumberToCGFloatValueTransformer.m deleted file mode 100644 index ca4f8b9b..00000000 --- a/Mixpanel/Mixpanel/MPNSNumberToCGFloatValueTransformer.m +++ /dev/null @@ -1,38 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -@implementation MPNSNumberToCGFloatValueTransformer - -+ (Class)transformedValueClass -{ - return [NSNumber class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return NO; -} - -- (id)transformedValue:(id)value -{ - if ([value isKindOfClass:[NSNumber class]]) { - NSNumber *number = (NSNumber *) value; - - // if the number is not a cgfloat, cast it to a cgfloat - if (strcmp(number.objCType, @encode(CGFloat)) != 0) { - if (strcmp(@encode(CGFloat), @encode(double)) == 0) { - value = @(number.doubleValue); - } else { - value = @(number.floatValue); - } - } - - return value; - } - - return nil; -} - -@end diff --git a/Mixpanel/Mixpanel/MPNetwork.h b/Mixpanel/Mixpanel/MPNetwork.h deleted file mode 100644 index 1d1b7bfa..00000000 --- a/Mixpanel/Mixpanel/MPNetwork.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// MPNetwork.h -// Mixpanel -// -// Created by Sam Green on 6/12/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import - -@class Mixpanel; - -typedef NS_ENUM(NSUInteger, MPNetworkEndpoint) { - MPNetworkEndpointTrack, - MPNetworkEndpointEngage, - MPNetworkEndpointDecide, - MPNetworkEndpointGroups -}; - -@interface MPNetwork : NSObject - -@property (nonatomic) BOOL shouldManageNetworkActivityIndicator; -@property (nonatomic) BOOL useIPAddressForGeoLocation; - -- (instancetype)initWithServerURL:(NSURL *)serverURL mixpanel:(Mixpanel *)mixpanel; - -- (void)flushEventQueue:(NSMutableArray *)events; -- (void)flushPeopleQueue:(NSMutableArray *)people; -- (void)flushGroupsQueue:(NSMutableArray *)groups; - -- (void)updateNetworkActivityIndicator:(BOOL)enabled; - -- (NSURLRequest *)buildGetRequestForEndpoint:(MPNetworkEndpoint)endpoint - withQueryItems:(NSArray *)queryItems; - -- (NSURLRequest *)buildPostRequestForEndpoint:(MPNetworkEndpoint)endpoint - andBody:(NSString *)body; - -@end diff --git a/Mixpanel/Mixpanel/MPNetwork.m b/Mixpanel/Mixpanel/MPNetwork.m deleted file mode 100644 index a8dca851..00000000 --- a/Mixpanel/Mixpanel/MPNetwork.m +++ /dev/null @@ -1,376 +0,0 @@ -// -// MPNetwork.m -// Mixpanel -// -// Created by Sam Green on 6/12/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import "Mixpanel.h" -#import "MixpanelPrivate.h" -#import "MPLogger.h" -#import "MPNetwork.h" -#import "MPNetworkPrivate.h" -#if !TARGET_OS_OSX -#import -#endif - -#if (defined(MIXPANEL_TVOS) || defined(MIXPANEL_WATCHOS) || defined(MIXPANEL_MACOS)) -#define MIXPANEL_NO_NETWORK_ACTIVITY_INDICATOR 1 -#endif - -static const NSUInteger kBatchSize = 50; - -@implementation MPNetwork - -+ (NSURLSession *)sharedURLSession -{ - static NSURLSession *sharedSession = nil; - @synchronized(self) { - if (sharedSession == nil) { - NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration]; - sessionConfig.timeoutIntervalForRequest = 30.0; - sharedSession = [NSURLSession sessionWithConfiguration:sessionConfig]; - } - } - return sharedSession; -} - -- (instancetype)initWithServerURL:(NSURL *)serverURL mixpanel:(Mixpanel *)mixpanel -{ - self = [super init]; - if (self) { - self.serverURL = serverURL; - self.shouldManageNetworkActivityIndicator = YES; - self.useIPAddressForGeoLocation = YES; - self.mixpanel = mixpanel; - } - return self; -} - -#pragma mark - Flush -- (void)flushEventQueue:(NSMutableArray *)events -{ - NSMutableArray *automaticEventsQueue; - @synchronized (self.mixpanel) { - automaticEventsQueue = [self orderAutomaticEvents:events]; - } - [self flushQueue:events endpoint:MPNetworkEndpointTrack]; - @synchronized (self.mixpanel) { - if (automaticEventsQueue) { - [events addObjectsFromArray:automaticEventsQueue]; - } - } -} - -- (NSMutableArray *)orderAutomaticEvents:(NSMutableArray *)events -{ - if (self.mixpanel.automaticEventsEnabled == nil || !self.mixpanel.automaticEventsEnabled.boolValue) { - NSMutableArray *discardedItems = [NSMutableArray array]; - for (NSDictionary *e in events) { - if ([e[@"event"] hasPrefix:@"$ae_"]) { - [discardedItems addObject:e]; - } - } - [events removeObjectsInArray:discardedItems]; - if (self.mixpanel.automaticEventsEnabled == nil) { - return discardedItems; - } - } - return nil; -} - -- (void)flushPeopleQueue:(NSMutableArray *)people -{ - [self flushQueue:people endpoint:MPNetworkEndpointEngage]; -} - -- (void)flushGroupsQueue:(NSMutableArray *)groups -{ - [self flushQueue:groups endpoint:MPNetworkEndpointGroups]; -} - -- (void)flushQueue:(NSMutableArray *)queue endpoint:(MPNetworkEndpoint)endpoint -{ - if ([[NSDate date] timeIntervalSince1970] < self.requestsDisabledUntilTime) { - MPLogDebug(@"Attempted to flush to %lu, when we still have a timeout. Ignoring flush.", endpoint); - return; - } - - NSMutableArray *queueCopyForFlushing; - - Mixpanel *mixpanel = self.mixpanel; - @synchronized (mixpanel) { - queueCopyForFlushing = [queue mutableCopy]; - } - - while (queueCopyForFlushing.count > 0) { - NSUInteger batchSize = MIN(queueCopyForFlushing.count, kBatchSize); - NSArray *batch = [queueCopyForFlushing subarrayWithRange:NSMakeRange(0, batchSize)]; - - NSString *requestData = [MPNetwork encodeArrayForAPI:batch]; - NSString *postBody = [NSString stringWithFormat:@"ip=%d&data=%@", self.useIPAddressForGeoLocation, requestData]; - MPLogDebug(@"%@ flushing %lu of %lu to %lu: %@", self, (unsigned long)batch.count, (unsigned long)queue.count, endpoint, queueCopyForFlushing); - NSURLRequest *request = [self buildPostRequestForEndpoint:endpoint andBody:postBody]; - - [self updateNetworkActivityIndicator:YES]; - - __block BOOL didFail = NO; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - [[[MPNetwork sharedURLSession] dataTaskWithRequest:request completionHandler:^(NSData *responseData, - NSURLResponse *urlResponse, - NSError *error) { - [self updateNetworkActivityIndicator:NO]; - BOOL success = [self handleNetworkResponse:(NSHTTPURLResponse *)urlResponse withError:error]; - if (error || !success) { - MPLogError(@"%@ network failure: %@", self, error); - didFail = YES; - } else { - NSString *response = [[NSString alloc] initWithData:responseData - encoding:NSUTF8StringEncoding]; - if ([response intValue] == 0) { - MPLogInfo(@"%@ %lu api rejected some items", self, endpoint); - } - } - - dispatch_semaphore_signal(semaphore); - }] resume]; - - dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); - - if (didFail) { - break; - } - - @synchronized (mixpanel) { - for (NSDictionary *event in batch) { - NSUInteger index = [queueCopyForFlushing indexOfObjectIdenticalTo:event]; - if (index != NSNotFound) { - [queueCopyForFlushing removeObjectAtIndex:index]; - } - index = [queue indexOfObjectIdenticalTo:event]; - if (index != NSNotFound) { - [queue removeObjectAtIndex:index]; - } - } - } - } -} - -- (BOOL)handleNetworkResponse:(NSHTTPURLResponse *)response withError:(NSError *)error -{ - MPLogDebug(@"HTTP Response: %@", response.allHeaderFields); - MPLogDebug(@"HTTP Error: %@", error.localizedDescription); - - BOOL failed = [MPNetwork parseHTTPFailure:response withError:error]; - if (failed) { - MPLogDebug(@"Consecutive network failures: %lu", self.consecutiveFailures); - self.consecutiveFailures++; - } else { - MPLogDebug(@"Consecutive network failures reset to 0"); - self.consecutiveFailures = 0; - } - - // Did the server response with an HTTP `Retry-After` header? - NSTimeInterval retryTime = [MPNetwork parseRetryAfterTime:response]; - if (self.consecutiveFailures >= 2) { - - // Take the larger of exponential back off and server provided `Retry-After` - retryTime = MAX(retryTime, [MPNetwork calculateBackOffTimeFromFailures:self.consecutiveFailures]); - } - - NSDate *retryDate = [NSDate dateWithTimeIntervalSinceNow:retryTime]; - self.requestsDisabledUntilTime = [retryDate timeIntervalSince1970]; - - MPLogDebug(@"Retry backoff time: %.2f - %@", retryTime, retryDate); - - return !failed; -} - -#pragma mark - Helpers -+ (NSArray *)buildDecideQueryForProperties:(NSDictionary *)properties - withDistinctID:(NSString *)distinctID - andToken:(NSString *)token -{ - NSURLQueryItem *itemVersion = [NSURLQueryItem queryItemWithName:@"version" value:@"1"]; - NSURLQueryItem *itemLib = [NSURLQueryItem queryItemWithName:@"lib" value:@"iphone"]; - NSURLQueryItem *itemToken = [NSURLQueryItem queryItemWithName:@"token" value:token]; - NSURLQueryItem *itemDistinctID = [NSURLQueryItem queryItemWithName:@"distinct_id" value:distinctID]; - - // Convert properties dictionary to a string - NSData *propertiesData = [NSJSONSerialization dataWithJSONObject:properties - options:0 - error:NULL]; - NSString *propertiesString = [[NSString alloc] initWithData:propertiesData - encoding:NSUTF8StringEncoding]; - NSURLQueryItem *itemProperties = [NSURLQueryItem queryItemWithName:@"properties" value:propertiesString]; - - return @[ itemVersion, itemLib, itemToken, itemDistinctID, itemProperties ]; -} - -+ (NSString *)pathForEndpoint:(MPNetworkEndpoint)endpoint -{ - static NSDictionary *endPointToPath = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - endPointToPath = @{ @(MPNetworkEndpointTrack): @"/track/", - @(MPNetworkEndpointEngage): @"/engage/", - @(MPNetworkEndpointDecide): @"/decide", - @(MPNetworkEndpointGroups): @"/groups/" - }; - }); - NSNumber *key = @(endpoint); - return endPointToPath[key]; -} - -- (NSURLRequest *)buildGetRequestForEndpoint:(MPNetworkEndpoint)endpoint - withQueryItems:(NSArray *)queryItems -{ - return [self buildRequestForEndpoint:[MPNetwork pathForEndpoint:endpoint] - byHTTPMethod:@"GET" - withQueryItems:queryItems - andBody:nil]; -} - -- (NSURLRequest *)buildPostRequestForEndpoint:(MPNetworkEndpoint)endpoint - andBody:(NSString *)body -{ - return [self buildRequestForEndpoint:[MPNetwork pathForEndpoint:endpoint] - byHTTPMethod:@"POST" - withQueryItems:nil - andBody:body]; -} - -- (NSURLRequest *)buildRequestForEndpoint:(NSString *)endpoint - byHTTPMethod:(NSString *)method - withQueryItems:(NSArray *)queryItems - andBody:(NSString *)body { - // Build URL from path and query items - NSURL *urlWithEndpoint = [self.serverURL URLByAppendingPathComponent:endpoint]; - NSURLComponents *components = [NSURLComponents componentsWithURL:urlWithEndpoint - resolvingAgainstBaseURL:YES]; - if (queryItems) { - components.queryItems = queryItems; - } - - // NSURLComponents/NSURLQueryItem doesn't encode + as %2B, and then the + is interpreted as a space on servers - components.percentEncodedQuery = [components.percentEncodedQuery stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"]; - - // Build request from URL - NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:components.URL]; - [request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"]; - [request setHTTPMethod:method]; - [request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]]; - - MPLogDebug(@"%@ http request: %@?%@", self, request, body); - - return [request copy]; -} - -+ (NSString *)encodeArrayForAPI:(NSArray *)array { - NSData *data = [MPNetwork encodeArrayAsJSONData:array]; - return [MPNetwork encodeJSONDataAsBase64:data]; -} - -+ (NSData *)encodeArrayAsJSONData:(NSArray *)array { - NSError *error = NULL; - NSData *data = nil; - @try { - data = [NSJSONSerialization dataWithJSONObject:[self convertFoundationTypesToJSON:array] - options:(NSJSONWritingOptions)0 - error:&error]; - } - @catch (NSException *exception) { - MPLogError(@"exception encoding api data: %@", exception); - } - - if (error) { - MPLogError(@"error encoding api data: %@", error); - } - - return data; -} - -+ (NSString *)encodeJSONDataAsBase64:(NSData *)data { - return [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; -} - -+ (id)convertFoundationTypesToJSON:(id)obj { - // valid json types - if ([obj isKindOfClass:NSString.class] || [obj isKindOfClass:NSNumber.class] || [obj isKindOfClass:NSNull.class]) { - return obj; - } - - if ([obj isKindOfClass:NSDate.class]) { - return [[self dateFormatter] stringFromDate:obj]; - } else if ([obj isKindOfClass:NSURL.class]) { - return [obj absoluteString]; - } - - // recurse on containers - if ([obj isKindOfClass:NSArray.class]) { - NSMutableArray *a = [NSMutableArray array]; - for (id i in obj) { - [a addObject:[self convertFoundationTypesToJSON:i]]; - } - return [NSArray arrayWithArray:a]; - } - - if ([obj isKindOfClass:NSDictionary.class]) { - NSMutableDictionary *d = [NSMutableDictionary dictionary]; - for (id key in obj) { - NSString *stringKey = key; - if (![key isKindOfClass:[NSString class]]) { - stringKey = [key description]; - MPLogWarning(@"%@ property keys should be strings. got: %@. coercing to: %@", self, [key class], stringKey); - } - id v = [self convertFoundationTypesToJSON:obj[key]]; - d[stringKey] = v; - } - return [NSDictionary dictionaryWithDictionary:d]; - } - - // default to sending the object's description - NSString *s = [obj description]; - MPLogWarning(@"%@ property values should be valid json types. got: %@. coercing to: %@", self, [obj class], s); - return s; -} - -+ (NSDateFormatter *)dateFormatter { - static NSDateFormatter *formatter = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - formatter = [[NSDateFormatter alloc] init]; - formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; - formatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"]; - formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; - }); - return formatter; -} - -+ (NSTimeInterval)calculateBackOffTimeFromFailures:(NSUInteger)failureCount { - NSTimeInterval time = pow(2.0, failureCount - 1) * 60 + arc4random_uniform(30); - return MIN(MAX(60, time), 600); -} - -+ (NSTimeInterval)parseRetryAfterTime:(NSHTTPURLResponse *)response { - return [response.allHeaderFields[@"Retry-After"] doubleValue]; -} - -+ (BOOL)parseHTTPFailure:(NSHTTPURLResponse *)response withError:(NSError *)error { - return (error != nil || (500 <= response.statusCode && response.statusCode <= 599)); -} - -- (void)updateNetworkActivityIndicator:(BOOL)enabled { -#if !MIXPANEL_NO_NETWORK_ACTIVITY_INDICATOR - if (![Mixpanel isAppExtension]) { - if (self.shouldManageNetworkActivityIndicator) { - dispatch_async(dispatch_get_main_queue(), ^{ - [Mixpanel sharedUIApplication].networkActivityIndicatorVisible = enabled; - }); - } - } -#endif -} - -@end diff --git a/Mixpanel/Mixpanel/MPNetworkPrivate.h b/Mixpanel/Mixpanel/MPNetworkPrivate.h deleted file mode 100644 index 1679e945..00000000 --- a/Mixpanel/Mixpanel/MPNetworkPrivate.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// MPNetworkPrivate.h -// Mixpanel -// -// Created by Sam Green on 6/17/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import "MPNetwork.h" - -@interface MPNetwork () - -@property (nonatomic, weak) Mixpanel *mixpanel; -@property (nonatomic, strong) NSURL *serverURL; - -@property (nonatomic) NSTimeInterval requestsDisabledUntilTime; -@property (nonatomic) NSUInteger consecutiveFailures; - -- (BOOL)handleNetworkResponse:(NSHTTPURLResponse *)response withError:(NSError *)error; - -+ (NSTimeInterval)calculateBackOffTimeFromFailures:(NSUInteger)failureCount; -+ (NSTimeInterval)parseRetryAfterTime:(NSHTTPURLResponse *)response; -+ (BOOL)parseHTTPFailure:(NSHTTPURLResponse *)response withError:(NSError *)error; - -+ (NSString *)encodeArrayForAPI:(NSArray *)array; -+ (NSData *)encodeArrayAsJSONData:(NSArray *)array; -+ (NSString *)encodeJSONDataAsBase64:(NSData *)data; - -+ (NSArray *)buildDecideQueryForProperties:(NSDictionary *)properties - withDistinctID:(NSString *)distinctID - andToken:(NSString *)token; - -- (NSURLRequest *)buildRequestForEndpoint:(NSString *)endpoint - byHTTPMethod:(NSString *)method - withQueryItems:(NSArray *)queryItems - andBody:(NSString *)body; - -+ (NSURLSession *)sharedURLSession; - -@end diff --git a/Mixpanel/Mixpanel/MPNotification.h b/Mixpanel/Mixpanel/MPNotification.h deleted file mode 100644 index 48426eb7..00000000 --- a/Mixpanel/Mixpanel/MPNotification.h +++ /dev/null @@ -1,24 +0,0 @@ -#import -#import "MPDisplayTrigger.h" - -@interface MPNotification : NSObject - -@property (nonatomic, readonly) NSDictionary *jsonDescription; -@property (nonatomic, readonly) NSDictionary *extrasDescription; -@property (nonatomic, readonly) NSUInteger ID; -@property (nonatomic, readonly) NSUInteger messageID; -@property (nonatomic, readonly) NSString *type; -@property (nonatomic, copy) NSURL *imageURL; -@property (nonatomic, strong) NSData *image; -@property (nonatomic, readonly) NSString *body; -@property (nonatomic, readonly) NSUInteger bodyColor; -@property (nonatomic, readonly) NSUInteger backgroundColor; -@property (nonatomic, readonly) NSArray *displayTriggers; - -- (instancetype)init __unavailable; -- (instancetype)initWithJSONObject:(NSDictionary *)jsonObject; -- (BOOL)hasDisplayTriggers; -- (BOOL)matchesEvent:(NSDictionary *)event; -+ (void)logNotificationError:(NSString *)field withValue:(id)value; - -@end diff --git a/Mixpanel/Mixpanel/MPNotification.m b/Mixpanel/Mixpanel/MPNotification.m deleted file mode 100644 index 8635e15c..00000000 --- a/Mixpanel/Mixpanel/MPNotification.m +++ /dev/null @@ -1,141 +0,0 @@ -#import "MPLogger.h" -#import "MPNotification.h" -#import "Mixpanel.h" - -@implementation MPNotification - -- (instancetype)initWithJSONObject:(NSDictionary *)object { - if (self = [super init]) { - if (object == nil) { - MPLogError(@"notif json object should not be nil"); - return nil; - } - - NSNumber *ID = object[@"id"]; - if (!([ID isKindOfClass:[NSNumber class]] && ID.integerValue > 0)) { - [MPNotification logNotificationError:@"id" withValue:ID]; - return nil; - } - - NSNumber *messageID = object[@"message_id"]; - if (!([messageID isKindOfClass:[NSNumber class]] && messageID.integerValue > 0)) { - [MPNotification logNotificationError:@"message" withValue:messageID]; - return nil; - } - - NSString *body = object[@"body"]; - if ([body isEqual:[NSNull null]]) { - body = nil; - } - - NSNumber *bodyColor = object[@"body_color"]; - if (!([bodyColor isKindOfClass:[NSNumber class]])) { - [MPNotification logNotificationError:@"body color" withValue:bodyColor]; - return nil; - } - - NSNumber *backgroundColor = object[@"bg_color"]; - if (!([backgroundColor isKindOfClass:[NSNumber class]])) { - [MPNotification logNotificationError:@"background color" withValue:bodyColor]; - return nil; - } - - NSURL *imageURL = nil; - NSString *imageURLString = object[@"image_url"]; - if (imageURLString != nil && ![imageURLString isKindOfClass:[NSNull class]]) { - if (![imageURLString isKindOfClass:[NSString class]]) { - [MPNotification logNotificationError:@"image url" withValue:imageURLString]; - return nil; - } - - NSString *escapedURLString = [imageURLString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; - imageURL = [NSURL URLWithString:escapedURLString]; - if (imageURL == nil) { - [MPNotification logNotificationError:@"image url" withValue:escapedURLString]; - return nil; - } - - NSString *imagePath = imageURL.path; - if ([self.type isEqualToString:MPNotificationTypeTakeover]) { - NSString *imageName = [imagePath stringByDeletingPathExtension]; - NSString *extension = [imagePath pathExtension]; - imagePath = [[imageName stringByAppendingString:@"@2x"] stringByAppendingPathExtension:extension]; - } - - NSURLComponents *imageURLComponents = [[NSURLComponents alloc] init]; - imageURLComponents.scheme = imageURL.scheme; - imageURLComponents.host = imageURL.host; - imageURLComponents.path = imagePath; - - if (imageURLComponents.URL == nil) { - [MPNotification logNotificationError:@"image url" withValue:imageURLString]; - return nil; - } - imageURL = imageURLComponents.URL; - } else { - [MPNotification logNotificationError:@"image url" withValue:imageURLString]; - return nil; - } - - id rawDisplayTriggers = object[@"display_triggers"]; - NSMutableArray *parsedDisplayTriggers = [NSMutableArray array]; - if (rawDisplayTriggers != nil && [rawDisplayTriggers isKindOfClass:[NSArray class]]) { - for (id obj in rawDisplayTriggers) { - MPDisplayTrigger *displayTrigger = [[MPDisplayTrigger alloc] initWithJSONObject:obj]; - [parsedDisplayTriggers addObject:displayTrigger]; - } - } - - _jsonDescription = object; - _extrasDescription = object[@"extras"]; - _ID = ID.unsignedIntegerValue; - _messageID = messageID.unsignedIntegerValue; - _body = body; - _bodyColor = bodyColor.unsignedIntegerValue; - _backgroundColor = backgroundColor.unsignedIntegerValue; - _imageURL = imageURL; - _image = nil; - _displayTriggers = parsedDisplayTriggers; - } - - return self; -} - -- (BOOL)hasDisplayTriggers { - return self.displayTriggers != nil && [self.displayTriggers count] > 0; -} - -- (BOOL)matchesEvent:(NSDictionary *)event { - if ([self hasDisplayTriggers]) { - for (id trigger in self.displayTriggers) { - if([trigger matchesEvent:event]) { - return YES; - } - } - } - return NO; -} - -- (NSString *)type { - NSAssert(false, @"Sub-classes must override this method"); - return nil; -} - -- (NSData *)image { - if (_image == nil && _imageURL != nil) { - NSError *error = nil; - NSData *imageData = [NSData dataWithContentsOfURL:_imageURL options:NSDataReadingMappedIfSafe error:&error]; - if (error || !imageData) { - MPLogError(@"image failed to load from URL: %@", _imageURL); - return nil; - } - _image = imageData; - } - return _image; -} - -+ (void)logNotificationError:(NSString *)field withValue:(id)value { - MPLogError(@"Invalid notification %@: %@", field, value); -} - -@end diff --git a/Mixpanel/Mixpanel/MPNotificationButton.h b/Mixpanel/Mixpanel/MPNotificationButton.h deleted file mode 100644 index c02188e5..00000000 --- a/Mixpanel/Mixpanel/MPNotificationButton.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// MPNotificationButton.h -// Mixpanel -// -// Created by Sergio Alonso on 1/25/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import - -@interface MPNotificationButton : NSObject - -@property (nonatomic, copy) NSDictionary *jsonDescription; -@property (nonatomic, copy) NSString *text; -@property (nonatomic) NSUInteger textColor; -@property (nonatomic) NSUInteger backgroundColor; -@property (nonatomic) NSUInteger borderColor; -@property (nonatomic, copy) NSURL *ctaUrl; - -- (instancetype)initWithJSONObject:(NSDictionary *)jsonObject; - -@end diff --git a/Mixpanel/Mixpanel/MPNotificationButton.m b/Mixpanel/Mixpanel/MPNotificationButton.m deleted file mode 100644 index 7e5b03b3..00000000 --- a/Mixpanel/Mixpanel/MPNotificationButton.m +++ /dev/null @@ -1,69 +0,0 @@ -// -// MPNotificationButton.m -// Mixpanel -// -// Created by Sergio Alonso on 1/25/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import "MPNotificationButton.h" -#import "MPNotification.h" - -@implementation MPNotificationButton - -- (instancetype)initWithJSONObject:(NSDictionary *)jsonObject { - if (self = [super init]) { - if (jsonObject == nil) { - [MPNotification logNotificationError:@"button JSON can not be nil" withValue:@""]; - return nil; - } - NSString *text = jsonObject[@"text"]; - if (![text isKindOfClass:[NSString class]]) { - [MPNotification logNotificationError:@"button text" withValue:text]; - return nil; - } - - NSNumber *textColor = jsonObject[@"text_color"]; - if (!([textColor isKindOfClass:[NSNumber class]])) { - [MPNotification logNotificationError:@"button text color" withValue:textColor]; - return nil; - } - - NSNumber *backgroundColor = jsonObject[@"bg_color"]; - if (!([backgroundColor isKindOfClass:[NSNumber class]])) { - [MPNotification logNotificationError:@" button background color" withValue:backgroundColor]; - return nil; - } - - NSNumber *borderColor = jsonObject[@"border_color"]; - if (!([borderColor isKindOfClass:[NSNumber class]])) { - [MPNotification logNotificationError:@"button border color" withValue:borderColor]; - return nil; - } - - NSURL *callToActionURL = nil; - NSObject *URLString = jsonObject[@"cta_url"]; - if (URLString != nil && ![URLString isKindOfClass:[NSNull class]]) { - if (![URLString isKindOfClass:[NSString class]] || [(NSString *)URLString length] == 0) { - [MPNotification logNotificationError:@"button cta url" withValue:URLString]; - return nil; - } - callToActionURL = [NSURL URLWithString:(NSString *)URLString]; - if (callToActionURL == nil) { - [MPNotification logNotificationError:@"button cta url" withValue:URLString]; - return nil; - } - } - - self.jsonDescription = jsonObject; - self.text = text; - self.textColor = textColor.unsignedIntegerValue; - self.backgroundColor = backgroundColor.unsignedIntegerValue; - self.borderColor = borderColor.unsignedIntegerValue; - self.ctaUrl = callToActionURL; - } - - return self; -} - -@end diff --git a/Mixpanel/Mixpanel/MPNotificationViewController.h b/Mixpanel/Mixpanel/MPNotificationViewController.h deleted file mode 100644 index 13709e8b..00000000 --- a/Mixpanel/Mixpanel/MPNotificationViewController.h +++ /dev/null @@ -1,31 +0,0 @@ -#import "MPTakeoverNotification.h" -#import "MPMiniNotification.h" - -@protocol MPNotificationViewControllerDelegate; - -@interface MPNotificationViewController : UIViewController - -@property (nonatomic, weak) id delegate; -@property (nonatomic, strong) MPNotification *notification; - -- (void)show; -- (void)hide:(BOOL)animated completion:(void (^)(void))completion; - -@end - -@interface MPTakeoverNotificationViewController : MPNotificationViewController - -@end - -@interface MPMiniNotificationViewController : MPNotificationViewController - -@end - -@protocol MPNotificationViewControllerDelegate - -- (void)notificationController:(MPNotificationViewController *)controller - wasDismissedWithCtaUrl:(NSURL *)ctaUrl - shouldTrack:(BOOL)shouldTrack - additionalTrackingProperties:(NSDictionary *)trackingProperties; - -@end diff --git a/Mixpanel/Mixpanel/MPNotificationViewController.m b/Mixpanel/Mixpanel/MPNotificationViewController.m deleted file mode 100644 index e961f8ef..00000000 --- a/Mixpanel/Mixpanel/MPNotificationViewController.m +++ /dev/null @@ -1,600 +0,0 @@ -#import -#import -#import "MixpanelPrivate.h" -#import "MPFoundation.h" -#import "MPLogger.h" -#import "MPNotification.h" -#import "MPNotificationViewController.h" -#import "MPResources.h" -#import "UIColor+MPColor.h" -#import "UIImage+MPAverageColor.h" -#import "UIImage+MPImageEffects.h" -#import "UIView+MPHelpers.h" - -#define MPNotifHeight 65.0f - - -@interface CircleLayer : CALayer {} - -@property (nonatomic, assign) CGFloat circlePadding; - -@end - -@interface ElasticEaseOutAnimation : CAKeyframeAnimation {} - -- (instancetype)initWithStartValue:(CGRect)start endValue:(CGRect)end andDuration:(double)duration; - -@end - -@interface GradientMaskLayer : CAGradientLayer {} - -@end - -@interface MPAlphaMaskView : UIView { - -@protected - CAGradientLayer *_maskLayer; -} - -@end - -@interface MPActionButton : UIButton - -@property (nonatomic, strong) UIColor *origColor; -@property (nonatomic, assign) BOOL highlightedWasCalled; - -@end - -@interface MPNotificationViewController () - -@end - -@implementation MPNotificationViewController - -- (void)show { - NSAssert(false, @"Sub-classes must override this method"); -} - -- (void)hide:(BOOL)animated completion:(void (^)(void))completion { - NSAssert(false, @"Sub-classes must override this method"); -} - -@end - -@interface MPTakeoverNotificationViewController () - -@property (nonatomic, strong) IBOutlet UIImageView *backgroundImageView; -@property (nonatomic, strong) IBOutlet UIImageView *imageView; -@property (nonatomic, strong) IBOutlet NSLayoutConstraint *bottomImageSpacing; -@property (nonatomic, strong) IBOutlet MPAlphaMaskView *fadingView; -@property (nonatomic, strong) IBOutlet UILabel *titleLabel; -@property (nonatomic, strong) IBOutlet UILabel *bodyLabel; -@property (nonatomic, strong) IBOutlet UIButton *firstButton; -@property (nonatomic, strong) IBOutlet UIButton *secondButton; -@property (nonatomic, strong) IBOutlet UIView *secondButtonContainer; -@property (nonatomic, strong) IBOutlet UIView *viewMask; -@property (nonatomic, strong) IBOutlet UIButton *closeButton; -@property (nonatomic, strong) UIWindow *window; - -@end - - -@implementation MPTakeoverNotificationViewController - -- (instancetype)init { - self = [super initWithNibName:[MPResources notificationXibName] bundle:[MPResources frameworkBundle]]; - - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - if (self.notification) { - if (self.notification.image) { - UIImage *image = [UIImage imageWithData:self.notification.image]; - if (image) { - if (image.size.width / [UIScreen mainScreen].bounds.size.width <= 0.6 && - image.size.height / [UIScreen mainScreen].bounds.size.height <= 0.3) { - self.imageView.contentMode = UIViewContentModeCenter; - } - self.imageView.image = image; - } else { - MPLogError(@"image failed to load from data: %@", self.notification.image); - } - } - - MPTakeoverNotification *notification = (MPTakeoverNotification *) self.notification; - - if (!notification.title || !notification.body) { - [[NSLayoutConstraint constraintWithItem:self.titleLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:0] setActive:YES]; - [[NSLayoutConstraint constraintWithItem:self.bodyLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:0] setActive:YES]; - } else { - self.titleLabel.text = notification.title; - self.bodyLabel.text = notification.body; - self.titleLabel.textColor = [UIColor mp_colorFromRGB:notification.titleColor]; - self.bodyLabel.textColor = [UIColor mp_colorFromRGB:notification.bodyColor]; - } - - UIImage *originalImage = self.closeButton.imageView.image; - UIImage *tintedImage = [originalImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; - [self.closeButton setImage:tintedImage forState:UIControlStateNormal]; - self.closeButton.tintColor = [UIColor mp_colorFromRGB:notification.closeButtonColor]; - - if (!notification.shouldFadeImage) { - self.bottomImageSpacing.constant = 30; - self.fadingView.layer.mask = nil; - } - - [self setUpButtonView:self.firstButton withData:notification.buttons[0] forIndex:0]; - - if (notification.buttons.count == 2) { - [self setUpButtonView:self.secondButton withData:notification.buttons[1] forIndex:1]; - } else { - [[NSLayoutConstraint constraintWithItem:self.secondButtonContainer attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:0] setActive:YES]; - } - - self.viewMask.backgroundColor = [UIColor mp_colorFromRGB:notification.backgroundColor]; - - if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { - self.view.backgroundColor = [UIColor mp_colorFromRGB:notification.backgroundColor]; - self.view.backgroundColor = [self.view.backgroundColor colorWithAlphaComponent:0.8]; - self.viewMask.clipsToBounds = YES; - self.viewMask.layer.cornerRadius = 6; - } - } -} - -- (void)setUpButtonView:(UIButton *)buttonView withData:(MPNotificationButton *)notificationButton forIndex:(NSInteger)index { - [buttonView setTitle:notificationButton.text forState:UIControlStateNormal]; - buttonView.titleLabel.adjustsFontSizeToFitWidth = YES; - buttonView.layer.cornerRadius = 5.0f; - buttonView.layer.borderWidth = 2.0f; - UIColor *textColor = [UIColor mp_colorFromRGB:notificationButton.textColor]; - [buttonView setTitleColor:textColor forState:UIControlStateNormal]; - [buttonView setTitleColor:textColor forState:UIControlStateHighlighted]; - [buttonView setTitleColor:textColor forState:UIControlStateSelected]; - [buttonView setTag:index]; - UIColor *borderColor = [UIColor mp_colorFromRGB:notificationButton.borderColor]; - [buttonView.layer setBorderColor:borderColor.CGColor]; - [buttonView setBackgroundColor:[UIColor mp_colorFromRGB:notificationButton.backgroundColor]]; - [buttonView addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; -} - -- (void)buttonTapped:(UIButton *)button { - MPTakeoverNotification *takeoverNotification = (MPTakeoverNotification *)self.notification; - NSString *whichButton = @"primary"; - if (takeoverNotification.buttons.count == 2) { - whichButton = button.tag == 0 ? @"secondary" : @"primary"; - } - [self.delegate notificationController:self - wasDismissedWithCtaUrl:takeoverNotification.buttons[button.tag].ctaUrl - shouldTrack:YES - additionalTrackingProperties:@{@"button": whichButton}]; -} - -- (void)show { - self.window = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)]; - self.window.alpha = 0; - self.window.windowLevel = UIWindowLevelAlert; - self.window.rootViewController = self; - [[[Mixpanel sharedUIApplication] keyWindow] endEditing:YES]; - [self.window setHidden:NO]; - - [UIView animateWithDuration:0.25 animations:^{ - self.window.alpha = 1; - }]; -} - -- (void)hide:(BOOL)animated completion:(void (^)(void))completion { - [UIView animateWithDuration:0.25 animations:^{ - self.window.alpha = 0; - } completion:^(BOOL finished) { - [self.window setHidden:YES]; - [self.window removeFromSuperview]; - self.window = nil; - if (completion != nil) { - completion(); - } - }]; -} - -- (BOOL)shouldAutorotate { - return NO; -} - -- (UIStatusBarStyle)preferredStatusBarStyle { - return UIStatusBarStyleLightContent; -} - -- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation { - return UIStatusBarAnimationFade; -} - -- (UIInterfaceOrientationMask)supportedInterfaceOrientations { - return UIInterfaceOrientationMaskAll; -} - -- (IBAction)tappedClose:(UITapGestureRecognizer *)gesture { - [self.delegate notificationController:self wasDismissedWithCtaUrl:nil shouldTrack:NO additionalTrackingProperties:nil]; -} - -@end - -@interface MPMiniNotificationViewController () { - CGPoint _panStartPoint; - CGPoint _position; - BOOL _canPan; - BOOL _isBeingDismissed; -} - -@property (nonatomic, strong) UIImageView *imageView; -@property (nonatomic, strong) CircleLayer *circleLayer; -@property (nonatomic, strong) UILabel *bodyLabel; - -@end - -@implementation MPMiniNotificationViewController - -- (NSUInteger)MPMiniNotificationSpacingFromBottom { - if (((int)[[UIScreen mainScreen] nativeBounds].size.height) == 2436) { - return 44.f; - } - return 10.f; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - _canPan = YES; - _isBeingDismissed = NO; - self.view.clipsToBounds = YES; - - MPMiniNotification *notification = (MPMiniNotification *) self.notification; - - self.imageView = [[UIImageView alloc] initWithFrame:CGRectZero]; - self.imageView.layer.masksToBounds = YES; - - self.bodyLabel = [[UILabel alloc] initWithFrame:CGRectZero]; - self.bodyLabel.textColor = [UIColor mp_colorFromRGB:notification.bodyColor]; - self.bodyLabel.backgroundColor = [UIColor clearColor]; - self.bodyLabel.font = [UIFont systemFontOfSize:14.0f]; - self.bodyLabel.lineBreakMode = NSLineBreakByWordWrapping; - self.bodyLabel.numberOfLines = 0; - - self.view.backgroundColor = [UIColor mp_colorFromRGB:notification.backgroundColor]; - - if (notification != nil) { - if (notification.image != nil) { - self.imageView.image = [UIImage imageWithData:notification.image]; - UIImage *originalImage = [UIImage imageWithData:notification.image]; - UIImage *tintedImage = [originalImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; - [self.imageView setImage:tintedImage]; - self.imageView.tintColor = [UIColor mp_colorFromRGB:notification.imageTintColor]; - self.imageView.hidden = NO; - } else { - self.imageView.hidden = YES; - } - self.bodyLabel.text = notification.body; - } - - [self.view addSubview:self.imageView]; - [self.view addSubview:self.bodyLabel]; - - self.view.frame = CGRectMake(0.0f, 0.0f, 0.0f, 30.0f); - - UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTap:)]; - gesture.numberOfTouchesRequired = 1; - [self.view addGestureRecognizer:gesture]; - - UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(didPan:)]; - [self.view addGestureRecognizer:pan]; -} - -- (void)viewWillLayoutSubviews { - UIView *parentView = self.view.superview; - CGRect parentFrame = parentView.frame; - - if (UIInterfaceOrientationIsPortrait([Mixpanel sharedUIApplication].statusBarOrientation) && UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { - self.view.frame = CGRectMake(15, parentFrame.size.height - MPNotifHeight - [self MPMiniNotificationSpacingFromBottom], parentFrame.size.width - 30, MPNotifHeight); - } else { - self.view.frame = CGRectMake(parentFrame.size.width/4, parentFrame.size.height - MPNotifHeight - [self MPMiniNotificationSpacingFromBottom], parentFrame.size.width/2, MPNotifHeight); - } - self.view.clipsToBounds = YES; - self.view.layer.cornerRadius = 6.f; - - // Position images - self.imageView.layer.position = CGPointMake(MPNotifHeight / 2.0f, MPNotifHeight / 2.0f); - - // Position circle around image - self.circleLayer.position = self.imageView.layer.position; - [self.circleLayer setNeedsDisplay]; - - // Position body label - CGSize constraintSize = CGSizeMake(self.view.frame.size.width - MPNotifHeight - 12.5f, CGFLOAT_MAX); - CGSize sizeToFit = [self.bodyLabel.text boundingRectWithSize:constraintSize - options:NSStringDrawingUsesLineFragmentOrigin - attributes:@{NSFontAttributeName: self.bodyLabel.font} - context:nil].size; - - self.bodyLabel.frame = CGRectMake(MPNotifHeight, (CGFloat)ceil((MPNotifHeight - sizeToFit.height) / 2.0f) - 2.0f, (CGFloat)ceil(sizeToFit.width), (CGFloat)ceil(sizeToFit.height)); -} - -- (UIView *)getTopView { - UIView *topView = nil; - for (UIView *subview in [Mixpanel sharedUIApplication].keyWindow.subviews) { - if (!subview.hidden && subview.alpha > 0 && subview.frame.size.width > 0 && subview.frame.size.height > 0) { - topView = subview; - } - } - return topView; -} - -- (double)angleForInterfaceOrientation:(UIInterfaceOrientation)orientation { - switch (orientation) { - case UIInterfaceOrientationLandscapeLeft: - return -M_PI_2; - case UIInterfaceOrientationLandscapeRight: - return M_PI_2; - case UIInterfaceOrientationPortraitUpsideDown: - return M_PI; - default: - return 0.0; - } -} - -- (void)show { - [self.view removeFromSuperview]; - - UIView *topView = [self getTopView]; - if (topView) { - CGRect topFrame = topView.frame; - [topView addSubview:self.view]; - - _canPan = NO; - - self.view.frame = CGRectMake(0.0f, topFrame.size.height, topFrame.size.width, MPNotifHeight * 3.0f); - _position = self.view.layer.position; - - [UIView animateWithDuration:0.1f animations:^{ - self.view.frame = CGRectMake(0.0f, topFrame.size.height - MPNotifHeight, topFrame.size.width, MPNotifHeight * 3.0f); - } completion:^(BOOL finished) { - self->_position = self.view.layer.position; - [self performSelector:@selector(animateImage) withObject:nil afterDelay:0.1]; - self->_canPan = YES; - }]; - } -} - -- (void)animateImage { - CGSize imageViewSize = CGSizeMake(40.0f, 40.0f); - CGFloat duration = 0.5f; - - // Animate the circle around the image - CGRect before = _circleLayer.bounds; - CGRect after = CGRectMake(0.0f, 0.0f, imageViewSize.width + (_circleLayer.circlePadding * 2.0f), imageViewSize.height + (_circleLayer.circlePadding * 2.0f)); - - ElasticEaseOutAnimation *circleAnimation = [[ElasticEaseOutAnimation alloc] initWithStartValue:before endValue:after andDuration:duration]; - _circleLayer.bounds = after; - [_circleLayer addAnimation:circleAnimation forKey:@"bounds"]; - - // Animate the image - before = _imageView.bounds; - after = CGRectMake(0.0f, 0.0f, imageViewSize.width, imageViewSize.height); - ElasticEaseOutAnimation *imageAnimation = [[ElasticEaseOutAnimation alloc] initWithStartValue:before endValue:after andDuration:duration]; - _imageView.layer.bounds = after; - [_imageView.layer addAnimation:imageAnimation forKey:@"bounds"]; -} - -- (void)hide:(BOOL)animated completion:(void (^)(void))completion { - _canPan = NO; - - if (!_isBeingDismissed) { - _isBeingDismissed = YES; - - CGFloat duration = animated ? 0.5f : 0.f; - CGRect parentFrame = self.view.superview.frame; - - [UIView animateWithDuration:duration - animations:^{ - self.view.frame = CGRectMake(self.view.frame.origin.x, parentFrame.size.height, self.view.frame.size.width, self.view.frame.size.height); - } completion:^(BOOL finished) { - [self.view removeFromSuperview]; - if (completion) { - completion(); - } - }]; - } -} - -- (void)didTap:(UITapGestureRecognizer *)gesture { - if (!_isBeingDismissed && gesture.state == UIGestureRecognizerStateEnded) { - [self.delegate notificationController:self - wasDismissedWithCtaUrl:((MPMiniNotification *)self.notification).ctaUrl - shouldTrack:YES - additionalTrackingProperties:nil]; - } -} - -- (void)didPan:(UIPanGestureRecognizer *)gesture { - if (_canPan) { - UIViewController *parentViewController = self.parentViewController; - if (gesture.state == UIGestureRecognizerStateBegan && gesture.numberOfTouches == 1) { - _panStartPoint = [gesture locationInView:parentViewController.view]; - } else if (gesture.state == UIGestureRecognizerStateChanged) { - CGPoint position = [gesture locationInView:parentViewController.view]; - CGFloat diffY = position.y - _panStartPoint.y; - - if (diffY > 0) { - position.y = _position.y + diffY * 2.0f; - } else { - position.y = _position.y + diffY * 0.1f; - } - - self.view.layer.position = CGPointMake(self.view.layer.position.x, position.y); - } else if (gesture.state == UIGestureRecognizerStateEnded || gesture.state == UIGestureRecognizerStateCancelled) { - id strongDelegate = self.delegate; - if (self.view.layer.position.y > _position.y + MPNotifHeight / 2.0f && strongDelegate != nil) { - [strongDelegate notificationController:self wasDismissedWithCtaUrl:nil shouldTrack:NO additionalTrackingProperties:nil]; - } else { - [UIView animateWithDuration:0.2f animations:^{ - self.view.layer.position = self->_position; - }]; - } - } - } -} - -@end - -@implementation MPAlphaMaskView - -- (instancetype)initWithCoder:(NSCoder *)aDecoder { - if (self = [super initWithCoder:aDecoder]) { - _maskLayer = [GradientMaskLayer layer]; - [self.layer setMask:_maskLayer]; - [_maskLayer setColors:@[[UIColor blackColor], [UIColor blackColor], [UIColor clearColor],[UIColor clearColor]]]; - [_maskLayer setLocations:@[@0, @0.4, @0.9, @1]]; - [_maskLayer setStartPoint:CGPointMake(0, 0)]; - [_maskLayer setEndPoint:CGPointMake(0, 1)]; - self.opaque = NO; - _maskLayer.opaque = NO; - _maskLayer.needsDisplayOnBoundsChange = YES; - [_maskLayer setNeedsDisplay]; - } - return self; -} - -- (void)layoutSubviews { - [super layoutSubviews]; - [_maskLayer setFrame:self.bounds]; -} - -@end - -@implementation MPActionButton - -- (void) setHighlighted:(BOOL)highlighted { - [super setHighlighted:highlighted]; - UIColor *overlayColor = [UIColor colorWithRed:134/255.0 green:134/255.0 blue:134/255.0 alpha:0.2]; - - if (highlighted) { - if (!self.highlightedWasCalled) { - self.origColor = self.backgroundColor; - if ([self.origColor isEqual:[UIColor colorWithRed:0 green:0 blue:0 alpha:0]]) { - self.backgroundColor = overlayColor; - } else { - self.backgroundColor = [self.backgroundColor mp_colorAddColor:overlayColor]; - } - self.highlightedWasCalled = YES; - } - } - else { - self.backgroundColor = self.origColor; - self.highlightedWasCalled = NO; - } -} - -@end - -@implementation CircleLayer - -+ (instancetype)layer { - CircleLayer *cl = (CircleLayer *)[super layer]; - cl.circlePadding = 2.5f; - return cl; -} - -- (void)drawInContext:(CGContextRef)ctx { - CGFloat edge = 1.5f; //the distance from the edge so we don't get clipped. - CGContextSetAllowsAntialiasing(ctx, true); - CGContextSetShouldAntialias(ctx, true); - - CGMutablePathRef thePath = CGPathCreateMutable(); - CGContextSetStrokeColorWithColor(ctx, [UIColor whiteColor].CGColor); - CGPathAddArc(thePath, NULL, self.frame.size.width / 2.0f, self.frame.size.height / 2.0f, MIN(self.frame.size.width, self.frame.size.height) / 2.0f - (2 * edge), (float)-M_PI, (float)M_PI, YES); - - CGContextBeginPath(ctx); - CGContextAddPath(ctx, thePath); - - CGContextSetLineWidth(ctx, 1.5f); - CGContextStrokePath(ctx); - - CFRelease(thePath); -} - -@end - -@implementation GradientMaskLayer - -- (void)drawInContext:(CGContextRef)ctx { - CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray(); - - CGFloat components[] = { //[Grayscale, Alpha] for each component - 1.0f, 1.0f, - 1.0f, 1.0f, - 1.0f, 0.0f, - 1.0f, 0.0f}; - - CGFloat locations[] = {0.0f, 0.4f, 0.9f, 1.0f}; - CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, components, locations, 4); - CGContextDrawLinearGradient(ctx, gradient, CGPointMake(0.0f, 0.0f), CGPointMake(5.0f, self.bounds.size.height), (CGGradientDrawingOptions)0); - - - NSUInteger bits = (NSUInteger)fabs(self.bounds.size.width) * (NSUInteger)fabs(self.bounds.size.height); - char *rgba = (char *)malloc(bits); - srand(124); - - for (NSUInteger i = 0; i < bits; ++i) { - rgba[i] = (arc4random() % 8); - } - - CGContextRef noise = CGBitmapContextCreate(rgba, (NSUInteger)fabs(self.bounds.size.width), (NSUInteger)fabs(self.bounds.size.height), 8, (NSUInteger)fabs(self.bounds.size.width), NULL, (CGBitmapInfo)kCGImageAlphaOnly); - CGImageRef image = CGBitmapContextCreateImage(noise); - - CGContextSetBlendMode(ctx, kCGBlendModeSourceOut); - CGContextDrawImage(ctx, self.bounds, image); - - CGImageRelease(image); - CGColorSpaceRelease(colorSpace); - CGGradientRelease(gradient); - CGContextRelease(noise); - free(rgba); -} - -@end - -@implementation ElasticEaseOutAnimation - -- (instancetype)initWithStartValue:(CGRect)start endValue:(CGRect)end andDuration:(double)duration { - if ((self = [super init])) { - self.duration = duration; - self.values = [self generateValuesFrom:start to:end]; - } - return self; -} - -- (NSArray *)generateValuesFrom:(CGRect)start to:(CGRect)end { - NSUInteger steps = (NSUInteger)ceil(60 * self.duration) + 2; - NSMutableArray *valueArray = [NSMutableArray arrayWithCapacity:steps]; - const double increment = 1.0 / (double)(steps - 1); - double t = 0.0; - CGRect range = CGRectMake(end.origin.x - start.origin.x, end.origin.y - start.origin.y, end.size.width - start.size.width, end.size.height - start.size.height); - - NSUInteger i; - for (i = 0; i < steps; i++) { - float v = (float) -(pow(M_E, -8*t) * cos(12*t)) + 1; // Cosine wave with exponential decay - - CGRect value = CGRectMake(start.origin.x + v * range.origin.x, - start.origin.y + v * range.origin.y, - start.size.width + v * range.size.width, - start.size.height + v *range.size.height); - - [valueArray addObject:[NSValue valueWithCGRect:value]]; - t += increment; - } - - return [NSArray arrayWithArray:valueArray]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPObjectIdentifierProvider.h b/Mixpanel/Mixpanel/MPObjectIdentifierProvider.h deleted file mode 100644 index 8223fbca..00000000 --- a/Mixpanel/Mixpanel/MPObjectIdentifierProvider.h +++ /dev/null @@ -1,9 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@protocol MPObjectIdentifierProvider -- (NSString *)identifierForObject:(id)object; - -@end diff --git a/Mixpanel/Mixpanel/MPObjectIdentityProvider.h b/Mixpanel/Mixpanel/MPObjectIdentityProvider.h deleted file mode 100644 index c27c5f62..00000000 --- a/Mixpanel/Mixpanel/MPObjectIdentityProvider.h +++ /dev/null @@ -1,10 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@interface MPObjectIdentityProvider : NSObject - -- (NSString *)identifierForObject:(id)object; - -@end diff --git a/Mixpanel/Mixpanel/MPObjectIdentityProvider.m b/Mixpanel/Mixpanel/MPObjectIdentityProvider.m deleted file mode 100644 index 190ad770..00000000 --- a/Mixpanel/Mixpanel/MPObjectIdentityProvider.m +++ /dev/null @@ -1,39 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPObjectIdentityProvider.h" -#import "MPSequenceGenerator.h" - -@implementation MPObjectIdentityProvider - -{ - NSMapTable *_objectToIdentifierMap; - MPSequenceGenerator *_sequenceGenerator; -} - -- (instancetype)init -{ - self = [super init]; - if (self) { - _objectToIdentifierMap = [NSMapTable weakToStrongObjectsMapTable]; - _sequenceGenerator = [[MPSequenceGenerator alloc] init]; - } - - return self; -} - -- (NSString *)identifierForObject:(id)object -{ - if ([object isKindOfClass:[NSString class]]) { - return object; - } - NSString *identifier = [_objectToIdentifierMap objectForKey:object]; - if (identifier == nil) { - identifier = [NSString stringWithFormat:@"$%" PRIi32, [_sequenceGenerator nextValue]]; - [_objectToIdentifierMap setObject:identifier forKey:object]; - } - - return identifier; -} - -@end diff --git a/Mixpanel/Mixpanel/MPObjectSelector.h b/Mixpanel/Mixpanel/MPObjectSelector.h deleted file mode 100644 index bd977077..00000000 --- a/Mixpanel/Mixpanel/MPObjectSelector.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// ObjectSelector.h -// HelloMixpanel -// -// Created by Alex Hofsteede on 5/5/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import - -@interface MPObjectSelector : NSObject - -@property (nonatomic, strong, readonly) NSString *string; - -+ (MPObjectSelector *)objectSelectorWithString:(NSString *)string; -- (instancetype)initWithString:(NSString *)string; - -- (NSArray *)selectFromRoot:(id)root; -- (NSArray *)fuzzySelectFromRoot:(id)root; - -- (BOOL)isLeafSelected:(id)leaf fromRoot:(id)root; -- (BOOL)fuzzyIsLeafSelected:(id)leaf fromRoot:(id)root; - -- (Class)selectedClass; -- (BOOL)pathContainsObjectOfClass:(Class)klass; -- (NSString *)description; - -@end diff --git a/Mixpanel/Mixpanel/MPObjectSelector.m b/Mixpanel/Mixpanel/MPObjectSelector.m deleted file mode 100644 index bc386f19..00000000 --- a/Mixpanel/Mixpanel/MPObjectSelector.m +++ /dev/null @@ -1,441 +0,0 @@ -// -// ObjectSelector.m -// HelloMixpanel -// -// Created by Alex Hofsteede on 5/5/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import -#import -#import "MixpanelPrivate.h" -#import "MPObjectSelector.h" - -@interface MPObjectFilter : NSObject - -@property (nonatomic, strong) NSString *name; -@property (nonatomic, strong) NSPredicate *predicate; -@property (nonatomic, strong) NSNumber *index; -@property (nonatomic, assign) BOOL unique; -@property (nonatomic, assign) BOOL nameOnly; - -- (NSArray *)apply:(NSArray *)views; -- (NSArray *)applyReverse:(NSArray *)views; -- (BOOL)appliesTo:(NSObject *)view; -- (BOOL)appliesToAny:(NSArray *)views; - -@end - -@interface MPObjectSelector () { - NSCharacterSet *_classAndPropertyChars; - NSCharacterSet *_separatorChars; - NSCharacterSet *_predicateStartChar; - NSCharacterSet *_predicateEndChar; - NSCharacterSet *_flagStartChar; - NSCharacterSet *_flagEndChar; - -} - -@property (nonatomic, strong) NSScanner *scanner; -@property (nonatomic, strong) NSArray *filters; - -@end - -@implementation MPObjectSelector - -+ (MPObjectSelector *)objectSelectorWithString:(NSString *)string -{ - return [[MPObjectSelector alloc] initWithString:string]; -} - -- (instancetype)initWithString:(NSString *)string -{ - if (self = [super init]) { - _string = string; - _scanner = [NSScanner scannerWithString:string]; - [_scanner setCharactersToBeSkipped:nil]; - _separatorChars = [NSCharacterSet characterSetWithCharactersInString:@"/"]; - _predicateStartChar = [NSCharacterSet characterSetWithCharactersInString:@"["]; - _predicateEndChar = [NSCharacterSet characterSetWithCharactersInString:@"]"]; - _classAndPropertyChars = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.*"]; - _flagStartChar = [NSCharacterSet characterSetWithCharactersInString:@"("]; - _flagEndChar = [NSCharacterSet characterSetWithCharactersInString:@")"]; - - NSMutableArray *filters = [NSMutableArray array]; - MPObjectFilter *filter; - while ((filter = [self nextFilter])) { - [filters addObject:filter]; - } - self.filters = [filters copy]; - } - return self; -} - -/* - Starting at the root object, try and find an object - in the view/controller tree that matches this selector. -*/ - -- (NSArray *)selectFromRoot:(id)root -{ - return [self selectFromRoot:root evaluatingFinalPredicate:YES]; -} - -- (NSArray *)fuzzySelectFromRoot:(id)root -{ - return [self selectFromRoot:root evaluatingFinalPredicate:NO]; -} - -- (NSArray *)selectFromRoot:(id)root evaluatingFinalPredicate:(BOOL)finalPredicate -{ - NSArray *views = @[]; - if (root) { - views = @[root]; - - NSUInteger i = 0, n = _filters.count; - for (MPObjectFilter *filter in _filters) { - filter.nameOnly = (i == n-1 && !finalPredicate); - views = [filter apply:views]; - if (views.count == 0) { - break; - } - i++; - } - } - return views; -} - - -/* - Starting at a leaf node, determine if it would be selected - by this selector starting from the root object given. - */ - -- (BOOL)isLeafSelected:(id)leaf fromRoot:(id)root -{ - return [self isLeafSelected:leaf fromRoot:root evaluatingFinalPredicate:YES]; -} - -- (BOOL)fuzzyIsLeafSelected:(id)leaf fromRoot:(id)root -{ - return [self isLeafSelected:leaf fromRoot:root evaluatingFinalPredicate:NO]; -} - -- (BOOL)isLeafSelected:(id)leaf fromRoot:(id)root evaluatingFinalPredicate:(BOOL)finalPredicate -{ - BOOL isSelected = YES; - NSArray *views = @[leaf]; - NSUInteger n = _filters.count, i = n; - while (i--) { - MPObjectFilter *filter = _filters[i]; - filter.nameOnly = (i == n-1 && !finalPredicate); - if (![filter appliesToAny:views]) { - isSelected = NO; - break; - } - views = [filter applyReverse:views]; - if (views.count == 0) { - break; - } - } - return isSelected && [views indexOfObject:root] != NSNotFound; -} - -- (MPObjectFilter *)nextFilter -{ - MPObjectFilter *filter; - if ([_scanner scanCharactersFromSet:_separatorChars intoString:nil]) { - NSString *name; - filter = [[MPObjectFilter alloc] init]; - if ([_scanner scanCharactersFromSet:_classAndPropertyChars intoString:&name]) { - filter.name = name; - } else { - filter.name = @"*"; - } - if ([_scanner scanCharactersFromSet:_flagStartChar intoString:nil]) { - NSString *flags; - [_scanner scanUpToCharactersFromSet:_flagEndChar intoString:&flags]; - for (NSString *flag in[flags componentsSeparatedByString:@"|"]) { - if ([flag isEqualToString:@"unique"]) { - filter.unique = YES; - } - } - } - if ([_scanner scanCharactersFromSet:_predicateStartChar intoString:nil]) { - NSString *predicateFormat; - NSInteger index = 0; - if ([_scanner scanInteger:&index] && [_scanner scanCharactersFromSet:_predicateEndChar intoString:nil]) { - filter.index = @((NSUInteger)index); - } else { - [_scanner scanUpToCharactersFromSet:_predicateEndChar intoString:&predicateFormat]; - @try { - NSPredicate *parsedPredicate = [NSPredicate predicateWithFormat:predicateFormat]; - filter.predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) { - @try { - return [parsedPredicate evaluateWithObject:evaluatedObject substitutionVariables:bindings]; - } - @catch (NSException *exception) { - return false; - } - }]; - } - @catch (NSException *exception) { - filter.predicate = [NSPredicate predicateWithValue:NO]; - } - - [_scanner scanCharactersFromSet:_predicateEndChar intoString:nil]; - } - } - } - return filter; -} - -- (Class)selectedClass -{ - MPObjectFilter *filter = _filters.lastObject; - if (filter) { - return NSClassFromString(filter.name); - } - return nil; -} - -- (BOOL)pathContainsObjectOfClass:(Class)klass { - for (MPObjectFilter *filter in _filters) { - if ([NSClassFromString(filter.name) isSubclassOfClass:klass]) { - return YES; - } - } - return NO; -} - -- (NSString *)description -{ - return self.string; -} - -- (BOOL)isEqual:(id)other { - if (other == self) { - return YES; - } else if (![other isKindOfClass:[MPObjectSelector class]]) { - return NO; - } else { - return [self.string isEqual:((MPObjectSelector *)other).string]; - } -} - -- (NSUInteger)hash { - return [self.string hash]; -} - -@end - -@implementation MPObjectFilter - -- (instancetype)init -{ - if ((self = [super init])) { - self.unique = NO; - self.nameOnly = NO; - } - return self; -} - -/* - Apply this filter to the views, returning all of their children - that match this filter's class / predicate pattern - */ -- (NSArray *)apply:(NSArray *)views -{ - NSMutableArray *result = [NSMutableArray array]; - - Class class = NSClassFromString(_name); - if (class || [_name isEqualToString:@"*"]) { - // Select all children - for (NSObject *view in views) { - NSArray *children = [self getChildrenOfObject:view ofType:class]; - if (_index && _index.unsignedIntegerValue < children.count) { - // Indexing can only be used for subviews of UIView - if ([view isKindOfClass:[UIView class]]) { - children = @[children[_index.unsignedIntegerValue]]; - } else { - children = @[]; - } - } - [result addObjectsFromArray:children]; - } - } - - if (!self.nameOnly) { - // If unique is set and there are more than one, return nothing - if (self.unique && result.count != 1) { - return @[]; - } - // Filter any resulting views by predicate - if (self.predicate) { - return [result filteredArrayUsingPredicate:self.predicate]; - } - } - return [result copy]; -} - -/* - Apply this filter to the views. For any view that - matches this filter's class / predicate pattern, return - its parents. - */ -- (NSArray *)applyReverse:(NSArray *)views -{ - NSMutableArray *result = [NSMutableArray array]; - for (NSObject *view in views) { - if ([self appliesTo:view]) { - [result addObjectsFromArray:[self getParentsOfObject:view]]; - } - } - return [result copy]; -} - -/* - Returns whether the given view would pass this filter. - */ -- (BOOL)appliesTo:(NSObject *)view -{ - return (([self.name isEqualToString:@"*"] || [view isKindOfClass:NSClassFromString(self.name)]) - && (self.nameOnly || ( - (!self.predicate || [_predicate evaluateWithObject:view]) - && (self.index == nil || [self isView:view siblingNumber:_index.integerValue]) - && (!(self.unique) || [self isView:view oneOfNSiblings:1]))) - ); -} - -/* - Returns whether any of the given views would pass this filter - */ -- (BOOL)appliesToAny:(NSArray *)views -{ - for (NSObject *view in views) { - if ([self appliesTo:view]) { - return YES; - } - } - return NO; -} - -/* - Returns true if the given view is at the index given by number in - its parent's subviews. The view's parent must be of type UIView - */ - -- (BOOL)isView:(NSObject *)view siblingNumber:(NSInteger)number -{ - return [self isView:view siblingNumber:number of:-1]; -} - -- (BOOL)isView:(NSObject *)view oneOfNSiblings:(NSInteger)number -{ - return [self isView:view siblingNumber:-1 of:number]; -} - -- (BOOL)isView:(NSObject *)view siblingNumber:(NSInteger)index of:(NSInteger)numSiblings -{ - NSArray *parents = [self getParentsOfObject:view]; - for (NSObject *parent in parents) { - if ([parent isKindOfClass:[UIView class]]) { - NSArray *siblings = [self getChildrenOfObject:parent ofType:NSClassFromString(_name)]; - if ((index < 0 || ((NSUInteger)index < siblings.count && siblings[(NSUInteger)index] == view)) - && (numSiblings < 0 || siblings.count == (NSUInteger)numSiblings)) { - return YES; - } - } - } - return NO; -} - -- (NSArray *)getParentsOfObject:(NSObject *)obj -{ - NSMutableArray *result = [NSMutableArray array]; - if ([obj isKindOfClass:[UIView class]]) { - UIView *superview = [(UIView *)obj superview]; - if (superview) { - [result addObject:superview]; - } - UIResponder *nextResponder = [(UIView *)obj nextResponder]; - // For UIView, nextResponder should be its controller or its superview. - if (nextResponder && nextResponder != superview) { - [result addObject:nextResponder]; - } - } else if ([obj isKindOfClass:[UIViewController class]]) { - UIViewController *parentViewController = [(UIViewController *)obj parentViewController]; - if (parentViewController) { - [result addObject:parentViewController]; - } - UIViewController *presentingViewController = [(UIViewController *)obj presentingViewController]; - if (presentingViewController) { - [result addObject:presentingViewController]; - } - UIWindow *keyWindow = [Mixpanel sharedUIApplication].keyWindow; - if (keyWindow.rootViewController == obj) { - //TODO is there a better way to get the actual window that has this VC - [result addObject:keyWindow]; - } - } - return [result copy]; -} - -- (NSArray *)getChildrenOfObject:(NSObject *)obj ofType:(Class)class -{ - NSMutableArray *children = [NSMutableArray array]; - // A UIWindow is also a UIView, so we could in theory follow the subviews chain from UIWindow, but - // for now we only follow rootViewController from UIView. - if ([obj isKindOfClass:[UIWindow class]]) { - UIViewController *rootViewController = ((UIWindow *)obj).rootViewController; - if ([rootViewController isKindOfClass:class]) { - [children addObject:rootViewController]; - } - } else if ([obj isKindOfClass:[UIView class]]) { - // NB. For UIViews, only add subviews, nothing else. - // The ordering of this result is critical to being able to - // apply the index filter. - NSArray *subviews = [[(UIView *)obj subviews] copy]; - for (NSObject *child in subviews) { - if (!class || [child isKindOfClass:class]) { - [children addObject:child]; - } - } - } else if ([obj isKindOfClass:[UIViewController class]]) { - UIViewController *viewController = (UIViewController *)obj; - for (NSObject *child in [viewController childViewControllers]) { - if (!class || [child isKindOfClass:class]) { - [children addObject:child]; - } - } - UIViewController *presentedViewController = viewController.presentedViewController; - if (presentedViewController && (!class || [presentedViewController isKindOfClass:class])) { - [children addObject:presentedViewController]; - } - if (!class || (viewController.isViewLoaded && [viewController.view isKindOfClass:class])) { - [children addObject:viewController.view]; - } - } - NSArray *result; - // Reorder the cells in a table view so that they are arranged by y position - if ([class isSubclassOfClass:[UITableViewCell class]]) { - result = [children sortedArrayUsingComparator:^NSComparisonResult(UIView *obj1, UIView *obj2) { - if (obj2.frame.origin.y > obj1.frame.origin.y) { - return NSOrderedAscending; - } else if (obj2.frame.origin.y < obj1.frame.origin.y) { - return NSOrderedDescending; - } - return NSOrderedSame; - }]; - } else { - result = [children copy]; - } - return result; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"%@[%@]", self.name, self.index ?: self.predicate]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPObjectSerializer.h b/Mixpanel/Mixpanel/MPObjectSerializer.h deleted file mode 100644 index 20682a4d..00000000 --- a/Mixpanel/Mixpanel/MPObjectSerializer.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@class MPClassDescription; -@class MPObjectSerializerContext; -@class MPObjectSerializerConfig; -@class MPObjectIdentityProvider; - -@interface MPObjectSerializer : NSObject - -/*! - An array of MPClassDescription instances. - */ -- (instancetype)initWithConfiguration:(MPObjectSerializerConfig *)configuration objectIdentityProvider:(MPObjectIdentityProvider *)objectIdentityProvider; - -- (NSDictionary *)serializedObjectsWithRootObject:(id)rootObject; - -@end diff --git a/Mixpanel/Mixpanel/MPObjectSerializer.m b/Mixpanel/Mixpanel/MPObjectSerializer.m deleted file mode 100644 index e5f90e3f..00000000 --- a/Mixpanel/Mixpanel/MPObjectSerializer.m +++ /dev/null @@ -1,317 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "UIView+MPHelpers.h" -#import "MPClassDescription.h" -#import "MPEnumDescription.h" -#import "MPObjectIdentityProvider.h" -#import "MPObjectSerializer.h" -#import "MPObjectSerializerConfig.h" -#import "MPObjectSerializerContext.h" -#import "MPPropertyDescription.h" -#import "NSInvocation+MPHelpers.h" - -@interface MPObjectSerializer () - -@end - -@implementation MPObjectSerializer - -{ - MPObjectSerializerConfig *_configuration; - MPObjectIdentityProvider *_objectIdentityProvider; -} - -- (instancetype)initWithConfiguration:(MPObjectSerializerConfig *)configuration objectIdentityProvider:(MPObjectIdentityProvider *)objectIdentityProvider -{ - self = [super init]; - if (self) { - _configuration = configuration; - _objectIdentityProvider = objectIdentityProvider; - } - - return self; -} - -- (NSDictionary *)serializedObjectsWithRootObject:(id)rootObject -{ - NSParameterAssert(rootObject != nil); - - MPObjectSerializerContext *context = [[MPObjectSerializerContext alloc] initWithRootObject:rootObject]; - - while ([context hasUnvisitedObjects]) - { - [self visitObject:[context dequeueUnvisitedObject] withContext:context]; - } - - return @{ - @"objects": [context allSerializedObjects], - @"rootObject": [_objectIdentityProvider identifierForObject:rootObject] - }; -} - -- (void)visitObject:(NSObject *)object withContext:(MPObjectSerializerContext *)context -{ - NSParameterAssert(object != nil); - NSParameterAssert(context != nil); - - [context addVisitedObject:object]; - - NSMutableDictionary *propertyValues = [NSMutableDictionary dictionary]; - - MPClassDescription *classDescription = [self classDescriptionForObject:object]; - if (classDescription) { - for (MPPropertyDescription *propertyDescription in [classDescription propertyDescriptions]) { - if ([propertyDescription shouldReadPropertyValueForObject:object]) { - id propertyValue = [self propertyValueForObject:object withPropertyDescription:propertyDescription context:context]; - propertyValues[propertyDescription.name] = propertyValue ?: [NSNull null]; - } - } - } - - NSMutableArray *delegateMethods = [NSMutableArray array]; - id delegate; - SEL delegateSelector = @selector(delegate); - - if ([classDescription delegateInfos].count > 0 && [object respondsToSelector:delegateSelector]) { - delegate = ((id (*)(id, SEL))[object methodForSelector:delegateSelector])(object, delegateSelector); - for (MPDelegateInfo *delegateInfo in [classDescription delegateInfos]) { - if ([delegate respondsToSelector:NSSelectorFromString(delegateInfo.selectorName)]) { - [delegateMethods addObject:delegateInfo.selectorName]; - } - } - } - - NSDictionary *serializedObject = @{ - @"id": [_objectIdentityProvider identifierForObject:object], - @"class": [self classHierarchyArrayForObject:object], - @"properties": propertyValues, - @"delegate": @{ - @"class": delegate ? NSStringFromClass([delegate class]) : @"", - @"selectors": delegateMethods - } - }; - - [context addSerializedObject:serializedObject]; -} - -- (NSArray *)classHierarchyArrayForObject:(NSObject *)object -{ - NSMutableArray *classHierarchy = [NSMutableArray array]; - - Class aClass = [object class]; - while (aClass) - { - [classHierarchy addObject:NSStringFromClass(aClass)]; - aClass = [aClass superclass]; - } - - return [classHierarchy copy]; -} - -- (NSArray *)allValuesForType:(NSString *)typeName -{ - NSParameterAssert(typeName != nil); - - MPTypeDescription *typeDescription = [_configuration typeWithName:typeName]; - if ([typeDescription isKindOfClass:[MPEnumDescription class]]) { - MPEnumDescription *enumDescription = (MPEnumDescription *)typeDescription; - return [enumDescription allValues]; - } - - return @[]; -} - -- (NSArray *)parameterVariationsForPropertySelector:(MPPropertySelectorDescription *)selectorDescription -{ - NSAssert(selectorDescription.parameters.count <= 1, @"Currently only support selectors that take 0 to 1 arguments."); - - NSMutableArray *variations = [NSMutableArray array]; - - // TODO: write an algorithm that generates all the variations of parameter combinations. - if (selectorDescription.parameters.count > 0) { - MPPropertySelectorParameterDescription *parameterDescription = selectorDescription.parameters[0]; - for (id value in [self allValuesForType:parameterDescription.type]) { - [variations addObject:@[ value ]]; - } - } else { - // An empty array of parameters (for methods that have no parameters). - [variations addObject:@[]]; - } - - return [variations copy]; -} - -- (id)instanceVariableValueForObject:(id)object propertyDescription:(MPPropertyDescription *)propertyDescription -{ - NSParameterAssert(object != nil); - NSParameterAssert(propertyDescription != nil); - - Ivar ivar = class_getInstanceVariable([object class], [propertyDescription.name UTF8String]); - if (ivar) { - const char *objCType = ivar_getTypeEncoding(ivar); - - ptrdiff_t ivarOffset = ivar_getOffset(ivar); - const void *objectBaseAddress = (__bridge const void *)object; - const void *ivarAddress = (((const uint8_t *)objectBaseAddress) + ivarOffset); - - switch (objCType[0]) - { - case _C_ID: return object_getIvar(object, ivar); - case _C_CHR: return @(*((char *)ivarAddress)); - case _C_UCHR: return @(*((unsigned char *)ivarAddress)); - case _C_SHT: return @(*((short *)ivarAddress)); - case _C_USHT: return @(*((unsigned short *)ivarAddress)); - case _C_INT: return @(*((int *)ivarAddress)); - case _C_UINT: return @(*((unsigned int *)ivarAddress)); - case _C_LNG: return @(*((long *)ivarAddress)); - case _C_ULNG: return @(*((unsigned long *)ivarAddress)); - case _C_LNG_LNG: return @(*((long long *)ivarAddress)); - case _C_ULNG_LNG: return @(*((unsigned long long *)ivarAddress)); - case _C_FLT: return @(*((float *)ivarAddress)); - case _C_DBL: return @(*((double *)ivarAddress)); - case _C_BOOL: return @(*((_Bool *)ivarAddress)); - case _C_SEL: return NSStringFromSelector(*((SEL*)ivarAddress)); - default: - NSAssert(NO, @"Currently unsupported return type!"); - break; - } - } - - return nil; -} - -- (NSInvocation *)invocationForObject:(id)object withSelectorDescription:(MPPropertySelectorDescription *)selectorDescription -{ - NSUInteger __unused parameterCount = selectorDescription.parameters.count; - - SEL aSelector = NSSelectorFromString(selectorDescription.selectorName); - NSAssert(aSelector != nil, @"Expected non-nil selector!"); - - NSMethodSignature *methodSignature = [object methodSignatureForSelector:aSelector]; - NSInvocation *invocation = nil; - - if (methodSignature) { - NSAssert(methodSignature.numberOfArguments == (parameterCount + 2), @"Unexpected number of arguments!"); - - invocation = [NSInvocation invocationWithMethodSignature:methodSignature]; - invocation.selector = aSelector; - } - return invocation; -} - -- (id)propertyValue:(id)propertyValue propertyDescription:(MPPropertyDescription *)propertyDescription context:(MPObjectSerializerContext *)context -{ - if (propertyValue != nil) { - if ([context isVisitedObject:propertyValue]) { - return [_objectIdentityProvider identifierForObject:propertyValue]; - } - else if ([self isNestedObjectType:propertyDescription.type]) - { - [context enqueueUnvisitedObject:propertyValue]; - return [_objectIdentityProvider identifierForObject:propertyValue]; - } - else if ([propertyValue isKindOfClass:[NSArray class]] || [propertyValue isKindOfClass:[NSSet class]]) - { - NSMutableArray *arrayOfIdentifiers = [NSMutableArray array]; - for (id value in propertyValue) { - if ([context isVisitedObject:value] == NO) { - [context enqueueUnvisitedObject:value]; - } - - [arrayOfIdentifiers addObject:[_objectIdentityProvider identifierForObject:value]]; - } - propertyValue = [arrayOfIdentifiers copy]; - } - } - - return [propertyDescription.valueTransformer transformedValue:propertyValue]; -} - -- (id)propertyValueForObject:(NSObject *)object withPropertyDescription:(MPPropertyDescription *)propertyDescription context:(MPObjectSerializerContext *)context -{ - NSMutableArray *values = [NSMutableArray array]; - - MPPropertySelectorDescription *selectorDescription = propertyDescription.getSelectorDescription; - - if (propertyDescription.useKeyValueCoding) { - // the "fast" (also also simple) path is to use KVC - id valueForKey = [object valueForKey:selectorDescription.selectorName]; - - id value = [self propertyValue:valueForKey - propertyDescription:propertyDescription - context:context]; - - NSDictionary *valueDictionary = @{ - @"value": (value ?: [NSNull null]) - }; - - [values addObject:valueDictionary]; - } - else if (propertyDescription.useInstanceVariableAccess) - { - id valueForIvar = [self instanceVariableValueForObject:object propertyDescription:propertyDescription]; - - id value = [self propertyValue:valueForIvar - propertyDescription:propertyDescription - context:context]; - - NSDictionary *valueDictionary = @{ - @"value": (value ?: [NSNull null]) - }; - - [values addObject:valueDictionary]; - } else { - // the "slow" NSInvocation path. Required in order to invoke methods that take parameters. - NSInvocation *invocation = [self invocationForObject:object withSelectorDescription:selectorDescription]; - if (invocation) { - NSArray *parameterVariations = [self parameterVariationsForPropertySelector:selectorDescription]; - - for (NSArray *parameters in parameterVariations) { - [invocation mp_setArgumentsFromArray:parameters]; - [invocation invokeWithTarget:object]; - - id returnValue = [invocation mp_returnValue]; - - id value = [self propertyValue:returnValue - propertyDescription:propertyDescription - context:context]; - - NSDictionary *valueDictionary = @{ - @"where": @{ @"parameters": parameters }, - @"value": (value ?: [NSNull null]) - }; - - [values addObject:valueDictionary]; - } - } - } - - return @{@"values": values}; -} - -- (BOOL)isNestedObjectType:(NSString *)typeName -{ - return [_configuration classWithName:typeName] != nil; -} - -- (MPClassDescription *)classDescriptionForObject:(NSObject *)object -{ - NSParameterAssert(object != nil); - - Class aClass = [object class]; - while (aClass != nil) - { - MPClassDescription *classDescription = [_configuration classWithName:NSStringFromClass(aClass)]; - if (classDescription) { - return classDescription; - } - - aClass = [aClass superclass]; - } - - return nil; -} - -@end diff --git a/Mixpanel/Mixpanel/MPObjectSerializerConfig.h b/Mixpanel/Mixpanel/MPObjectSerializerConfig.h deleted file mode 100644 index 539d1c44..00000000 --- a/Mixpanel/Mixpanel/MPObjectSerializerConfig.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@class MPEnumDescription; -@class MPClassDescription; -@class MPTypeDescription; - - -@interface MPObjectSerializerConfig : NSObject - -@property (nonatomic, readonly) NSArray *classDescriptions; -@property (nonatomic, readonly) NSArray *enumDescriptions; - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary; - -- (MPTypeDescription *)typeWithName:(NSString *)name; -- (MPEnumDescription *)enumWithName:(NSString *)name; -- (MPClassDescription *)classWithName:(NSString *)name; - -@end diff --git a/Mixpanel/Mixpanel/MPObjectSerializerConfig.m b/Mixpanel/Mixpanel/MPObjectSerializerConfig.m deleted file mode 100644 index 53612557..00000000 --- a/Mixpanel/Mixpanel/MPObjectSerializerConfig.m +++ /dev/null @@ -1,73 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPClassDescription.h" -#import "MPEnumDescription.h" -#import "MPObjectSerializerConfig.h" -#import "MPTypeDescription.h" - -@implementation MPObjectSerializerConfig - -{ - NSDictionary *_classes; - NSDictionary *_enums; -} - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary -{ - self = [super init]; - if (self) { - NSMutableDictionary *classDescriptions = [NSMutableDictionary dictionary]; - for (NSDictionary *d in dictionary[@"classes"]) { - NSString *superclassName = d[@"superclass"]; - MPClassDescription *superclassDescription = superclassName ? classDescriptions[superclassName] : nil; - MPClassDescription *classDescription = [[MPClassDescription alloc] initWithSuperclassDescription:superclassDescription - dictionary:d]; - - classDescriptions[classDescription.name] = classDescription; - } - - NSMutableDictionary *enumDescriptions = [NSMutableDictionary dictionary]; - for (NSDictionary *d in dictionary[@"enums"]) { - MPEnumDescription *enumDescription = [[MPEnumDescription alloc] initWithDictionary:d]; - enumDescriptions[enumDescription.name] = enumDescription; - } - - _classes = [classDescriptions copy]; - _enums = [enumDescriptions copy]; - } - - return self; -} - -- (NSArray *)classDescriptions -{ - return _classes.allValues; -} - -- (MPEnumDescription *)enumWithName:(NSString *)name -{ - return _enums[name]; -} - -- (MPClassDescription *)classWithName:(NSString *)name -{ - return _classes[name]; -} - -- (MPTypeDescription *)typeWithName:(NSString *)name -{ - MPEnumDescription *enumDescription = [self enumWithName:name]; - if (enumDescription) { - return enumDescription; - } - - MPClassDescription *classDescription = [self classWithName:name]; - if (classDescription) { - return classDescription; - } - - return nil; -} - -@end diff --git a/Mixpanel/Mixpanel/MPObjectSerializerContext.h b/Mixpanel/Mixpanel/MPObjectSerializerContext.h deleted file mode 100644 index f32ce936..00000000 --- a/Mixpanel/Mixpanel/MPObjectSerializerContext.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@interface MPObjectSerializerContext : NSObject - -- (instancetype)initWithRootObject:(id)object; - -- (BOOL)hasUnvisitedObjects; - -- (void)enqueueUnvisitedObject:(NSObject *)object; -- (NSObject *)dequeueUnvisitedObject; - -- (void)addVisitedObject:(NSObject *)object; -- (BOOL)isVisitedObject:(NSObject *)object; - -- (void)addSerializedObject:(NSDictionary *)serializedObject; -- (NSArray *)allSerializedObjects; - -@end diff --git a/Mixpanel/Mixpanel/MPObjectSerializerContext.m b/Mixpanel/Mixpanel/MPObjectSerializerContext.m deleted file mode 100644 index 359232e1..00000000 --- a/Mixpanel/Mixpanel/MPObjectSerializerContext.m +++ /dev/null @@ -1,69 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPObjectSerializerContext.h" - -@implementation MPObjectSerializerContext - -{ - NSMutableSet *_visitedObjects; - NSMutableSet *_unvisitedObjects; - NSMutableDictionary *_serializedObjects; -} - -- (instancetype)initWithRootObject:(id)object -{ - self = [super init]; - if (self) { - _visitedObjects = [NSMutableSet set]; - _unvisitedObjects = [NSMutableSet setWithObject:object]; - _serializedObjects = [NSMutableDictionary dictionary]; - } - - return self; -} - -- (BOOL)hasUnvisitedObjects -{ - return _unvisitedObjects.count > 0; -} - -- (void)enqueueUnvisitedObject:(NSObject *)object -{ - NSParameterAssert(object != nil); - - [_unvisitedObjects addObject:object]; -} - -- (NSObject *)dequeueUnvisitedObject -{ - NSObject *object = [_unvisitedObjects anyObject]; - [_unvisitedObjects removeObject:object]; - - return object; -} - -- (void)addVisitedObject:(NSObject *)object -{ - NSParameterAssert(object != nil); - - [_visitedObjects addObject:object]; -} - -- (BOOL)isVisitedObject:(NSObject *)object -{ - return object && [_visitedObjects containsObject:object]; -} - -- (void)addSerializedObject:(NSDictionary *)serializedObject -{ - NSParameterAssert(serializedObject[@"id"] != nil); - _serializedObjects[serializedObject[@"id"]] = serializedObject; -} - -- (NSArray *)allSerializedObjects -{ - return _serializedObjects.allValues; -} - -@end diff --git a/Mixpanel/Mixpanel/MPPassThroughValueTransformer.m b/Mixpanel/Mixpanel/MPPassThroughValueTransformer.m deleted file mode 100644 index 0412b4dd..00000000 --- a/Mixpanel/Mixpanel/MPPassThroughValueTransformer.m +++ /dev/null @@ -1,31 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -@implementation MPPassThroughValueTransformer - -+ (Class)transformedValueClass -{ - return [NSObject class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return NO; -} - -- (id)transformedValue:(id)value -{ - if ([[NSNull null] isEqual:value]) { - return nil; - } - - if (value == nil) { - return [NSNull null]; - } - - return value; -} - -@end diff --git a/Mixpanel/Mixpanel/MPPropertyDescription.h b/Mixpanel/Mixpanel/MPPropertyDescription.h deleted file mode 100644 index 487d0c5c..00000000 --- a/Mixpanel/Mixpanel/MPPropertyDescription.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@class MPObjectSerializerContext; - -@interface MPPropertySelectorParameterDescription : NSObject - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary; -@property (nonatomic, readonly) NSString *name; -@property (nonatomic, readonly) NSString *type; - -@end - -@interface MPPropertySelectorDescription : NSObject - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary; -@property (nonatomic, readonly) NSString *selectorName; -@property (nonatomic, readonly) NSString *returnType; -@property (nonatomic, readonly) NSArray *parameters; // array of MPPropertySelectorParameterDescription - -@end - -@interface MPPropertyDescription : NSObject - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary; - -@property (nonatomic, readonly) NSString *type; -@property (nonatomic, readonly) BOOL readonly; -@property (nonatomic, readonly) BOOL nofollow; -@property (nonatomic, readonly) BOOL useKeyValueCoding; -@property (nonatomic, readonly) BOOL useInstanceVariableAccess; -@property (nonatomic, readonly) NSString *name; - -@property (nonatomic, readonly) MPPropertySelectorDescription *getSelectorDescription; -@property (nonatomic, readonly) MPPropertySelectorDescription *setSelectorDescription; - -- (BOOL)shouldReadPropertyValueForObject:(NSObject *)object; - -- (NSValueTransformer *)valueTransformer; - -@end diff --git a/Mixpanel/Mixpanel/MPPropertyDescription.m b/Mixpanel/Mixpanel/MPPropertyDescription.m deleted file mode 100644 index c11cec6a..00000000 --- a/Mixpanel/Mixpanel/MPPropertyDescription.m +++ /dev/null @@ -1,158 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPPropertyDescription.h" - -@implementation MPPropertySelectorParameterDescription - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary -{ - NSParameterAssert(dictionary[@"name"] != nil); - NSParameterAssert(dictionary[@"type"] != nil); - - self = [super init]; - if (self) { - _name = [dictionary[@"name"] copy]; - _type = [dictionary[@"type"] copy]; - } - - return self; -} - -@end - -@implementation MPPropertySelectorDescription - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary -{ - NSParameterAssert(dictionary[@"selector"] != nil); - NSParameterAssert(dictionary[@"parameters"] != nil); - - self = [super init]; - if (self) { - _selectorName = [dictionary[@"selector"] copy]; - NSMutableArray *parameters = [NSMutableArray arrayWithCapacity:[dictionary[@"parameters"] count]]; - for (NSDictionary *parameter in dictionary[@"parameters"]) { - [parameters addObject:[[MPPropertySelectorParameterDescription alloc] initWithDictionary:parameter]]; - } - - _parameters = [parameters copy]; - _returnType = [dictionary[@"result"][@"type"] copy]; // optional - } - - return self; -} - -@end - -@interface MPPropertyDescription () - -@property (nonatomic, readonly) NSPredicate *predicate; - -@end - -@implementation MPPropertyDescription - -+ (NSValueTransformer *)valueTransformerForType:(NSString *)typeName -{ - // TODO: lookup transformer by type - - for (NSString *toTypeName in @[@"NSDictionary", @"NSNumber", @"NSString"]) { - NSString *toTransformerName = [NSString stringWithFormat:@"MP%@To%@ValueTransformer", typeName, toTypeName]; - NSValueTransformer *toTransformer = [NSValueTransformer valueTransformerForName:toTransformerName]; - if (toTransformer) { - return toTransformer; - } - } - - // Default to pass-through. - return [NSValueTransformer valueTransformerForName:@"MPPassThroughValueTransformer"]; -} - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary -{ - NSParameterAssert(dictionary[@"name"] != nil); - - self = [super init]; - if (self) { - _name = [dictionary[@"name"] copy]; // required - _useInstanceVariableAccess = [dictionary[@"use_ivar"] boolValue]; // Optional - _readonly = [dictionary[@"readonly"] boolValue]; // Optional - _nofollow = [dictionary[@"nofollow"] boolValue]; // Optional - - NSString *predicateFormat = dictionary[@"predicate"]; // Optional - if (predicateFormat) { - _predicate = [NSPredicate predicateWithFormat:predicateFormat]; - } - - NSDictionary *get = dictionary[@"get"]; - if (get == nil) { - NSParameterAssert(dictionary[@"type"] != nil); - get = @{ - @"selector": _name, - @"result": @{ - @"type": dictionary[@"type"], - @"name": @"value" - }, - @"parameters": @[] - }; - } - - NSDictionary *set = dictionary[@"set"]; - if (set == nil && _readonly == NO) { - NSParameterAssert(dictionary[@"type"] != nil); - set = @{ - @"selector": [NSString stringWithFormat:@"set%@:", _name.capitalizedString], - @"parameters": @[ - @{ - @"name": @"value", - @"type": dictionary[@"type"] - } - ] - }; - } - - _getSelectorDescription = [[MPPropertySelectorDescription alloc] initWithDictionary:get]; - if (set) { - _setSelectorDescription = [[MPPropertySelectorDescription alloc] initWithDictionary:set]; - } else { - _readonly = YES; - } - - BOOL useKVC = (dictionary[@"use_kvc"] == nil ? YES : [dictionary[@"use_kvc"] boolValue]) && _useInstanceVariableAccess == NO; - _useKeyValueCoding = useKVC && - _getSelectorDescription.parameters.count == 0 && - (_setSelectorDescription == nil || _setSelectorDescription.parameters.count == 1); - } - - return self; -} - -- (NSString *)type -{ - return _getSelectorDescription.returnType; -} - -- (NSValueTransformer *)valueTransformer -{ - return [[self class] valueTransformerForType:self.type]; -} - -- (NSString *)debugDescription -{ - return [NSString stringWithFormat:@"<%@:%p name='%@' type='%@' %@>", NSStringFromClass([self class]), (__bridge void *)self, self.name, self.type, self.readonly ? @"readonly" : @""]; -} - -- (BOOL)shouldReadPropertyValueForObject:(NSObject *)object -{ - if (_nofollow) { - return NO; - } - if (_predicate) { - return [_predicate evaluateWithObject:object]; - } - - return YES; -} - -@end diff --git a/Mixpanel/Mixpanel/MPResources.h b/Mixpanel/Mixpanel/MPResources.h deleted file mode 100644 index 29763dec..00000000 --- a/Mixpanel/Mixpanel/MPResources.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// MPResources.h -// Mixpanel -// -// Created by Sam Green on 5/2/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import -#import - -#import "Mixpanel.h" - -@interface MPResources : NSObject - -+ (NSBundle *)frameworkBundle; -+ (NSString *)notificationXibName; -+ (UIImage *)imageNamed:(NSString *)name; - -@end diff --git a/Mixpanel/Mixpanel/MPResources.m b/Mixpanel/Mixpanel/MPResources.m deleted file mode 100644 index 53ae8f14..00000000 --- a/Mixpanel/Mixpanel/MPResources.m +++ /dev/null @@ -1,49 +0,0 @@ -// -// MPResources.m -// Mixpanel -// -// Created by Sam Green on 5/2/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import "MPResources.h" -#import "MixpanelPrivate.h" - -@implementation MPResources - -+ (UIStoryboard *)storyboardWithName:(NSString *)name -{ - return [UIStoryboard storyboardWithName:name bundle:[MPResources frameworkBundle]]; -} - -+ (NSBundle *)frameworkBundle -{ - return [NSBundle bundleForClass:self.class]; -} - -+ (NSString *)notificationXibName -{ - NSMutableString *xibFileName = [NSMutableString stringWithString:@"MPTakeoverNotificationViewController"]; - - if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { - UIApplication *sharedApplication = [Mixpanel sharedUIApplication]; - BOOL isLandscape = UIInterfaceOrientationIsLandscape(sharedApplication.statusBarOrientation); - if (isLandscape) { - [xibFileName appendString:@"~iphonelandscape"]; - } else { - [xibFileName appendString:@"~iphoneportrait"]; - } - } else { - [xibFileName appendString:@"~ipad"]; - } - - return [xibFileName copy]; -} - -+ (UIImage *)imageNamed:(NSString *)name -{ - NSString *imagePath = [[MPResources frameworkBundle] pathForResource:name ofType:@"png"]; - return [UIImage imageWithContentsOfFile:imagePath]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPSequenceGenerator.h b/Mixpanel/Mixpanel/MPSequenceGenerator.h deleted file mode 100644 index b80f30c5..00000000 --- a/Mixpanel/Mixpanel/MPSequenceGenerator.h +++ /dev/null @@ -1,10 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@interface MPSequenceGenerator : NSObject - -- (int32_t)nextValue; - -@end diff --git a/Mixpanel/Mixpanel/MPSequenceGenerator.m b/Mixpanel/Mixpanel/MPSequenceGenerator.m deleted file mode 100644 index 1c6c79b5..00000000 --- a/Mixpanel/Mixpanel/MPSequenceGenerator.m +++ /dev/null @@ -1,34 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPSequenceGenerator.h" -#include - -@implementation MPSequenceGenerator - -{ - atomic_int_fast32_t _value; -} - -- (instancetype)init -{ - return [self initWithInitialValue:0]; -} - -- (instancetype)initWithInitialValue:(int32_t)initialValue -{ - self = [super init]; - if (self) { - _value = initialValue; - } - - return self; -} - -- (int32_t)nextValue -{ - return atomic_fetch_add_explicit(&_value, 1, memory_order_relaxed); -} - -@end diff --git a/Mixpanel/Mixpanel/MPSwizzle.h b/Mixpanel/Mixpanel/MPSwizzle.h deleted file mode 100755 index 2cf0809d..00000000 --- a/Mixpanel/Mixpanel/MPSwizzle.h +++ /dev/null @@ -1,20 +0,0 @@ -// JRSwizzle.h semver:1.0 -// Copyright (c) 2007-2011 Jonathan 'Wolf' Rentzsch: http://rentzsch.com -// Some rights reserved: http://opensource.org/licenses/MIT -// https://github.com/rentzsch/jrswizzle -// -// Methods and Category have been renamed to namespace to Mixpanel iOS SDK -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface NSObject (MPSwizzle) - -+ (BOOL)mp_swizzleMethod:(SEL)origSel_ withMethod:(SEL)altSel_ error:(NSError **)error_; -+ (BOOL)mp_swizzleClassMethod:(SEL)origSel_ withClassMethod:(SEL)altSel_ error:(NSError **)error_; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Mixpanel/Mixpanel/MPSwizzle.m b/Mixpanel/Mixpanel/MPSwizzle.m deleted file mode 100755 index a545434b..00000000 --- a/Mixpanel/Mixpanel/MPSwizzle.m +++ /dev/null @@ -1,134 +0,0 @@ -// JRSwizzle.m semver:1.0 -// Copyright (c) 2007-2011 Jonathan 'Wolf' Rentzsch: http://rentzsch.com -// Some rights reserved: http://opensource.org/licenses/MIT -// https://github.com/rentzsch/jrswizzle - -#import "MPSwizzle.h" - -#if TARGET_OS_IPHONE - #import - #import -#else - #import -#endif - -#define SetNSErrorFor(FUNC, ERROR_VAR, FORMAT,...) \ - if (ERROR_VAR) { \ - NSString *errStr = [NSString stringWithFormat:@"%s: " FORMAT,FUNC,##__VA_ARGS__]; \ - *ERROR_VAR = [NSError errorWithDomain:@"NSCocoaErrorDomain" \ - code:-1 \ - userInfo:[NSDictionary dictionaryWithObject:errStr forKey:NSLocalizedDescriptionKey]]; \ - } -#define SetNSError(ERROR_VAR, FORMAT,...) SetNSErrorFor(__func__, ERROR_VAR, FORMAT, ##__VA_ARGS__) - -#if OBJC_API_VERSION >= 2 -#define GetClass(obj) object_getClass(obj) -#else -#define GetClass(obj) (obj ? obj->isa : Nil) -#endif - -@implementation NSObject (MPSwizzle) - -+ (BOOL)mp_swizzleMethod:(SEL)origSel_ withMethod:(SEL)altSel_ error:(NSError**)error_ { -#if OBJC_API_VERSION >= 2 - Method origMethod = class_getInstanceMethod(self, origSel_); - if (!origMethod) { -#if TARGET_OS_IPHONE - SetNSError(error_, @"original method %@ not found for class %@", NSStringFromSelector(origSel_), [self class]); -#else - SetNSError(error_, @"original method %@ not found for class %@", NSStringFromSelector(origSel_), [self className]); -#endif - return NO; - } - - Method altMethod = class_getInstanceMethod(self, altSel_); - if (!altMethod) { -#if TARGET_OS_IPHONE - SetNSError(error_, @"alternate method %@ not found for class %@", NSStringFromSelector(altSel_), [self class]); -#else - SetNSError(error_, @"alternate method %@ not found for class %@", NSStringFromSelector(altSel_), [self className]); -#endif - return NO; - } - - class_addMethod(self, - origSel_, - class_getMethodImplementation(self, origSel_), - method_getTypeEncoding(origMethod)); - class_addMethod(self, - altSel_, - class_getMethodImplementation(self, altSel_), - method_getTypeEncoding(altMethod)); - - method_exchangeImplementations(class_getInstanceMethod(self, origSel_), class_getInstanceMethod(self, altSel_)); - return YES; -#else - // Scan for non-inherited methods. - Method directOriginalMethod = NULL, directAlternateMethod = NULL; - - void *iterator = NULL; - struct objc_method_list *mlist = class_nextMethodList(self, &iterator); - while (mlist) { - int method_index = 0; - for (; method_index < mlist->method_count; method_index++) { - if (mlist->method_list[method_index].method_name == origSel_) { - assert(!directOriginalMethod); - directOriginalMethod = &mlist->method_list[method_index]; - } - if (mlist->method_list[method_index].method_name == altSel_) { - assert(!directAlternateMethod); - directAlternateMethod = &mlist->method_list[method_index]; - } - } - mlist = class_nextMethodList(self, &iterator); - } - - // If either method is inherited, copy it up to the target class to make it non-inherited. - if (!directOriginalMethod || !directAlternateMethod) { - Method inheritedOriginalMethod = NULL, inheritedAlternateMethod = NULL; - if (!directOriginalMethod) { - inheritedOriginalMethod = class_getInstanceMethod(self, origSel_); - if (!inheritedOriginalMethod) { - SetNSError(error_, @"original method %@ not found for class %@", NSStringFromSelector(origSel_), [self className]); - return NO; - } - } - if (!directAlternateMethod) { - inheritedAlternateMethod = class_getInstanceMethod(self, altSel_); - if (!inheritedAlternateMethod) { - SetNSError(error_, @"alternate method %@ not found for class %@", NSStringFromSelector(altSel_), [self className]); - return NO; - } - } - - int hoisted_method_count = !directOriginalMethod && !directAlternateMethod ? 2 : 1; - struct objc_method_list *hoisted_method_list = malloc(sizeof(struct objc_method_list) + (sizeof(struct objc_method)*(hoisted_method_count-1))); - hoisted_method_list->obsolete = NULL; // soothe valgrind - apparently ObjC runtime accesses this value and it shows as uninitialized in valgrind - hoisted_method_list->method_count = hoisted_method_count; - Method hoisted_method = hoisted_method_list->method_list; - - if (!directOriginalMethod) { - bcopy(inheritedOriginalMethod, hoisted_method, sizeof(struct objc_method)); - directOriginalMethod = hoisted_method++; - } - if (!directAlternateMethod) { - bcopy(inheritedAlternateMethod, hoisted_method, sizeof(struct objc_method)); - directAlternateMethod = hoisted_method; - } - class_addMethods(self, hoisted_method_list); - } - - // Swizzle. - IMP temp = directOriginalMethod->method_imp; - directOriginalMethod->method_imp = directAlternateMethod->method_imp; - directAlternateMethod->method_imp = temp; - - return YES; -#endif -} - -+ (BOOL)mp_swizzleClassMethod:(SEL)origSel_ withClassMethod:(SEL)altSel_ error:(NSError**)error_ { - return [GetClass((id)self) mp_swizzleMethod:origSel_ withMethod:altSel_ error:error_]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPSwizzler.h b/Mixpanel/Mixpanel/MPSwizzler.h deleted file mode 100644 index 3ac2a666..00000000 --- a/Mixpanel/Mixpanel/MPSwizzler.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// MPSwizzler.h -// HelloMixpanel -// -// Created by Alex Hofsteede on 1/5/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import - -// Cast to turn things that are not ids into NSMapTable keys -#define MAPTABLE_ID(x) (__bridge id)((void *)x) - -// Ignore the warning cause we need the paramters to be dynamic and it's only being used internally -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wstrict-prototypes" -typedef void (^swizzleBlock)(); -#pragma clang diagnostic pop - -@interface MPSwizzler : NSObject - -+ (void)swizzleSelector:(SEL)aSelector onClass:(Class)aClass withBlock:(swizzleBlock)block named:(NSString *)aName; -+ (void)unswizzleSelector:(SEL)aSelector onClass:(Class)aClass named:(NSString *)aName; -+ (void)printSwizzles; - -@end diff --git a/Mixpanel/Mixpanel/MPSwizzler.m b/Mixpanel/Mixpanel/MPSwizzler.m deleted file mode 100644 index d8838fac..00000000 --- a/Mixpanel/Mixpanel/MPSwizzler.m +++ /dev/null @@ -1,270 +0,0 @@ -// -// MPSwizzler.m -// HelloMixpanel -// -// Created by Alex Hofsteede on 1/5/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import -#import "MPLogger.h" -#import "MPSwizzler.h" - -#define MIN_ARGS 2 -#define MAX_ARGS 5 - -@interface MPSwizzle : NSObject - -@property (nonatomic, assign) Class class; -@property (nonatomic, assign) SEL selector; -@property (nonatomic, assign) IMP originalMethod; -@property (nonatomic, assign) uint numArgs; -@property (nonatomic, copy) NSMapTable *blocks; - -- (instancetype)initWithBlock:(swizzleBlock)aBlock - named:(NSString *)aName - forClass:(Class)aClass - selector:(SEL)aSelector - originalMethod:(IMP)aMethod - withNumArgs:(uint)numArgs; - -@end - -static NSMapTable *swizzles; - -static void mp_swizzledMethod_2(id self, SEL _cmd) -{ - Method aMethod = class_getInstanceMethod([self class], _cmd); - MPSwizzle *swizzle = (MPSwizzle *)[swizzles objectForKey:MAPTABLE_ID(aMethod)]; - if (swizzle) { - ((void(*)(id, SEL))swizzle.originalMethod)(self, _cmd); - - NSEnumerator *blocks = [swizzle.blocks objectEnumerator]; - swizzleBlock block; - while ((block = [blocks nextObject])) { - block(self, _cmd); - } - } -} - -static void mp_swizzledMethod_3(id self, SEL _cmd, id arg) -{ - Method aMethod = class_getInstanceMethod([self class], _cmd); - MPSwizzle *swizzle = (MPSwizzle *)[swizzles objectForKey:MAPTABLE_ID(aMethod)]; - if (swizzle) { - ((void(*)(id, SEL, id))swizzle.originalMethod)(self, _cmd, arg); - - NSEnumerator *blocks = [swizzle.blocks objectEnumerator]; - swizzleBlock block; - while ((block = [blocks nextObject])) { - block(self, _cmd, arg); - } - } -} - -static void mp_swizzledMethod_4(id self, SEL _cmd, id arg, id arg2) -{ - Method aMethod = class_getInstanceMethod([self class], _cmd); - MPSwizzle *swizzle = (MPSwizzle *)[swizzles objectForKey:(__bridge id)((void *)aMethod)]; - if (swizzle) { - ((void(*)(id, SEL, id, id))swizzle.originalMethod)(self, _cmd, arg, arg2); - - NSEnumerator *blocks = [swizzle.blocks objectEnumerator]; - swizzleBlock block; - while ((block = [blocks nextObject])) { - block(self, _cmd, arg, arg2); - } - } -} - -static void mp_swizzledMethod_5(id self, SEL _cmd, id arg, id arg2, id arg3) -{ - Method aMethod = class_getInstanceMethod([self class], _cmd); - MPSwizzle *swizzle = (MPSwizzle *)[swizzles objectForKey:(__bridge id)((void *)aMethod)]; - if (swizzle) { - ((void(*)(id, SEL, id, id, id))swizzle.originalMethod)(self, _cmd, arg, arg2, arg3); - - NSEnumerator *blocks = [swizzle.blocks objectEnumerator]; - swizzleBlock block; - while ((block = [blocks nextObject])) { - block(self, _cmd, arg, arg2, arg3); - } - } -} - -// Ignore the warning cause we need the paramters to be dynamic and it's only being used internally -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wstrict-prototypes" -static void (*mp_swizzledMethods[MAX_ARGS - MIN_ARGS + 1])() = {mp_swizzledMethod_2, mp_swizzledMethod_3, mp_swizzledMethod_4, mp_swizzledMethod_5}; -#pragma clang diagnostic pop - -@implementation MPSwizzler - -+ (void)load -{ - swizzles = [NSMapTable mapTableWithKeyOptions:(NSPointerFunctionsOpaqueMemory | NSPointerFunctionsOpaquePersonality) - valueOptions:(NSPointerFunctionsStrongMemory | NSPointerFunctionsObjectPointerPersonality)]; -} - -+ (void)printSwizzles -{ - NSEnumerator *en = [swizzles objectEnumerator]; - MPSwizzle *swizzle; - while ((swizzle = (MPSwizzle *)[en nextObject])) { - MPLogError(@"%@", swizzle); - } -} - -+ (MPSwizzle *)swizzleForMethod:(Method)aMethod -{ - return (MPSwizzle *)[swizzles objectForKey:MAPTABLE_ID(aMethod)]; -} - -+ (void)removeSwizzleForMethod:(Method)aMethod -{ - [swizzles removeObjectForKey:MAPTABLE_ID(aMethod)]; -} - -+ (void)setSwizzle:(MPSwizzle *)swizzle forMethod:(Method)aMethod -{ - [swizzles setObject:swizzle forKey:MAPTABLE_ID(aMethod)]; -} - -+ (BOOL)isLocallyDefinedMethod:(Method)aMethod onClass:(Class)aClass -{ - uint count; - BOOL isLocal = NO; - Method *methods = class_copyMethodList(aClass, &count); - for (NSUInteger i = 0; i < count; i++) { - if (aMethod == methods[i]) { - isLocal = YES; - break; - } - } - free(methods); - return isLocal; -} - -+ (void)swizzleSelector:(SEL)aSelector onClass:(Class)aClass withBlock:(swizzleBlock)aBlock named:(NSString *)aName -{ - Method aMethod = class_getInstanceMethod(aClass, aSelector); - if (aMethod) { - uint numArgs = method_getNumberOfArguments(aMethod); - if (numArgs >= MIN_ARGS && numArgs <= MAX_ARGS) { - - BOOL isLocal = [self isLocallyDefinedMethod:aMethod onClass:aClass]; - IMP swizzledMethod = (IMP)mp_swizzledMethods[numArgs - 2]; - MPSwizzle *swizzle = [self swizzleForMethod:aMethod]; - - if (isLocal) { - if (!swizzle) { - IMP originalMethod = method_getImplementation(aMethod); - - // Replace the local implementation of this method with the swizzled one - method_setImplementation(aMethod,swizzledMethod); - - // Create and add the swizzle - swizzle = [[MPSwizzle alloc] initWithBlock:aBlock named:aName forClass:aClass selector:aSelector originalMethod:originalMethod withNumArgs:numArgs]; - [self setSwizzle:swizzle forMethod:aMethod]; - - } else { - [swizzle.blocks setObject:aBlock forKey:aName]; - } - } else { - IMP originalMethod = swizzle ? swizzle.originalMethod : method_getImplementation(aMethod); - - // Add the swizzle as a new local method on the class. - if (!class_addMethod(aClass, aSelector, swizzledMethod, method_getTypeEncoding(aMethod))) { - NSAssert(NO, @"SwizzlerAssert: Could not add swizzled for %@::%@, even though it didn't already exist locally", NSStringFromClass(aClass), NSStringFromSelector(aSelector)); - return; - } - // Now re-get the Method, it should be the one we just added. - Method newMethod = class_getInstanceMethod(aClass, aSelector); - if (aMethod == newMethod) { - NSAssert(NO, @"SwizzlerAssert: Newly added method for %@::%@ was the same as the old method", NSStringFromClass(aClass), NSStringFromSelector(aSelector)); - return; - } - - MPSwizzle *newSwizzle = [[MPSwizzle alloc] initWithBlock:aBlock named:aName forClass:aClass selector:aSelector originalMethod:originalMethod withNumArgs:numArgs]; - [self setSwizzle:newSwizzle forMethod:newMethod]; - } - } else { - NSAssert(NO, @"SwizzlerAssert: Cannot swizzle method with %d args", numArgs); - } - } else { - NSAssert(NO, @"SwizzlerAssert: Cannot find method for %@ on %@", NSStringFromSelector(aSelector), NSStringFromClass(aClass)); - } -} - -+ (void)unswizzleSelector:(SEL)aSelector onClass:(Class)aClass -{ - Method aMethod = class_getInstanceMethod(aClass, aSelector); - MPSwizzle *swizzle = [self swizzleForMethod:aMethod]; - if (swizzle) { - method_setImplementation(aMethod, swizzle.originalMethod); - [self removeSwizzleForMethod:aMethod]; - } -} - -/* - Remove the named swizzle from the given class/selector. If aName is nil, remove all - swizzles for this class/selector -*/ -+ (void)unswizzleSelector:(SEL)aSelector onClass:(Class)aClass named:(NSString *)aName -{ - Method aMethod = class_getInstanceMethod(aClass, aSelector); - MPSwizzle *swizzle = [self swizzleForMethod:aMethod]; - if (swizzle) { - if (aName) { - [swizzle.blocks removeObjectForKey:aName]; - } - if (!aName || swizzle.blocks.count == 0) { - method_setImplementation(aMethod, swizzle.originalMethod); - [self removeSwizzleForMethod:aMethod]; - } - } -} - -@end - - -@implementation MPSwizzle - -- (instancetype)init -{ - if ((self = [super init])) { - self.blocks = [NSMapTable mapTableWithKeyOptions:(NSPointerFunctionsStrongMemory | NSPointerFunctionsObjectPersonality) - valueOptions:(NSPointerFunctionsStrongMemory | NSPointerFunctionsObjectPointerPersonality)]; - } - return self; -} - -- (instancetype)initWithBlock:(swizzleBlock)aBlock - named:(NSString *)aName - forClass:(Class)aClass - selector:(SEL)aSelector - originalMethod:(IMP)aMethod - withNumArgs:(uint)numArgs -{ - if ((self = [self init])) { - self.class = aClass; - self.selector = aSelector; - self.numArgs = numArgs; - self.originalMethod = aMethod; - [self.blocks setObject:aBlock forKey:aName]; - } - return self; -} - -- (NSString *)description -{ - NSString *descriptors = @""; - NSString *key; - NSEnumerator *keys = [self.blocks keyEnumerator]; - while ((key = [keys nextObject])) { - descriptors = [descriptors stringByAppendingFormat:@"\t%@ : %@\n", key, [self.blocks objectForKey:key]]; - } - return [NSString stringWithFormat:@"Swizzle on %@::%@ [\n%@]", NSStringFromClass(self.class), NSStringFromSelector(self.selector), descriptors]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPTakeoverNotification.h b/Mixpanel/Mixpanel/MPTakeoverNotification.h deleted file mode 100644 index 99c9fc63..00000000 --- a/Mixpanel/Mixpanel/MPTakeoverNotification.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// MPTakeoverNotification.h -// Mixpanel -// -// Created by Sergio Alonso on 1/24/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import "MPNotification.h" -#import "MPNotificationButton.h" - -@interface MPTakeoverNotification : MPNotification - -@property (nonatomic, copy) NSString *title; -@property (nonatomic) NSUInteger titleColor; -@property (nonatomic) NSUInteger closeButtonColor; -@property (nonatomic) BOOL shouldFadeImage; -@property (nonatomic, copy) NSArray *buttons; - -@end diff --git a/Mixpanel/Mixpanel/MPTakeoverNotification.m b/Mixpanel/Mixpanel/MPTakeoverNotification.m deleted file mode 100644 index 91b52e6e..00000000 --- a/Mixpanel/Mixpanel/MPTakeoverNotification.m +++ /dev/null @@ -1,69 +0,0 @@ -// -// MPTakeoverNotification.m -// Mixpanel -// -// Created by Sergio Alonso on 1/24/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import "MPTakeoverNotification.h" -#import "Mixpanel.h" - -@implementation MPTakeoverNotification - -- (instancetype)initWithJSONObject:(NSDictionary *)jsonObject { - if (self = [super initWithJSONObject:jsonObject]) { - NSString *title = jsonObject[@"title"]; - if ([title isEqual:[NSNull null]]) { - title = nil; - } - - NSNumber *titleColor = jsonObject[@"title_color"]; - if (!([titleColor isKindOfClass:[NSNumber class]])) { - [MPNotification logNotificationError:@"title color" withValue:titleColor]; - return nil; - } - - NSNumber *closeButton = jsonObject[@"close_color"]; - if (!([closeButton isKindOfClass:[NSNumber class]])) { - [MPNotification logNotificationError:@"close color" withValue:closeButton]; - return nil; - } - - NSArray *buttonsJson = jsonObject[@"buttons"]; - NSMutableArray *buttons = [NSMutableArray array]; - for (NSDictionary *buttonJson in buttonsJson) { - MPNotificationButton *notificationButton = [[MPNotificationButton alloc] initWithJSONObject:buttonJson]; - if (notificationButton) { - [buttons addObject:notificationButton]; - } else { - return nil; - } - } - - if (buttons.count == 0) { - [MPNotification logNotificationError:@"buttons" withValue:@"not enough (0)"]; - return nil; - } - - NSNumber *shouldFadeIamge = self.extrasDescription[@"image_fade"]; - if (!([shouldFadeIamge isKindOfClass:[NSNumber class]])) { - [MPNotification logNotificationError:@"image fade" withValue:shouldFadeIamge]; - return nil; - } - - self.title = title; - self.titleColor = titleColor.unsignedIntegerValue; - self.closeButtonColor = closeButton.unsignedIntegerValue; - self.buttons = [buttons copy]; - self.shouldFadeImage = [shouldFadeIamge boolValue]; - } - - return self; -} - -- (NSString *)type { - return MPNotificationTypeTakeover; -} - -@end diff --git a/Mixpanel/Mixpanel/MPTakeoverNotificationViewController~ipad.xib b/Mixpanel/Mixpanel/MPTakeoverNotificationViewController~ipad.xib deleted file mode 100644 index 5fd40e96..00000000 --- a/Mixpanel/Mixpanel/MPTakeoverNotificationViewController~ipad.xib +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Mixpanel/Mixpanel/MPTakeoverNotificationViewController~iphonelandscape.xib b/Mixpanel/Mixpanel/MPTakeoverNotificationViewController~iphonelandscape.xib deleted file mode 100644 index d8f5d462..00000000 --- a/Mixpanel/Mixpanel/MPTakeoverNotificationViewController~iphonelandscape.xib +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Mixpanel/Mixpanel/MPTakeoverNotificationViewController~iphoneportrait.xib b/Mixpanel/Mixpanel/MPTakeoverNotificationViewController~iphoneportrait.xib deleted file mode 100644 index fc6f1540..00000000 --- a/Mixpanel/Mixpanel/MPTakeoverNotificationViewController~iphoneportrait.xib +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Mixpanel/Mixpanel/MPTweak.h b/Mixpanel/Mixpanel/MPTweak.h deleted file mode 100644 index 51c391cd..00000000 --- a/Mixpanel/Mixpanel/MPTweak.h +++ /dev/null @@ -1,99 +0,0 @@ -/** - Copyright (c) 2014-present, Facebook, Inc. - All rights reserved. - - This source code is licensed under the BSD-style license found in the - LICENSE file in the root directory of this source tree. An additional grant - of patent rights can be found in the PATENTS file in the same directory. - */ - -#import - -NS_ASSUME_NONNULL_BEGIN - -@protocol MPTweakObserver; - -/** - @abstract Represents a possible value of a tweak. - @discussion Should be able to be persisted in user defaults. - For minimum and maximum values, should implement -compare:. - */ -typedef id MPTweakValue; - -/** - @abstract Represents a tweak - @discussion A tweak contains a persistent, editable value. - */ -@interface MPTweak : NSObject - -/** - @abstract Creates a new tweak model. - @discussion This is the designated initializer. - */ -- (instancetype)initWithName:(NSString *)name andEncoding:(NSString *)encoding; - -/** - @abstract This tweak's unique name. - @discussion Used when reading and writing the tweak's value. - */ -@property (nonatomic, copy, readonly) NSString *name; - -/** - @abstract This tweak's value encoding, as returned by `@encoding` - */ -@property (nonatomic, copy, readonly) NSString *encoding; - -/** - @abstract The default value of the tweak. - @discussion Use this when the current value is unset. - */ -@property (nonatomic, strong, readwrite) MPTweakValue defaultValue; - -/** - @abstract The current value of the tweak. Can be nil. - @discussion Changes to this property will be propagated to disk. - */ -@property (nullable, nonatomic, strong, readwrite) MPTweakValue currentValue; - -/** - @abstract The minimum value of the tweak. - @discussion Optional. If nil, there is no minimum. - */ -@property (nonatomic, strong, readwrite) MPTweakValue minimumValue; - -/** - @abstract The maximum value of the tweak. - @discussion Optional. If nil, there is no maximum. - */ -@property (nonatomic, strong, readwrite) MPTweakValue maximumValue; - -/** - @abstract Adds an observer to the tweak. - @param observer The observer. Must not be nil. - @discussion A weak reference is taken on the observer. - */ -- (void)addObserver:(id)observer; - -/** - @abstract Removes an observer from the tweak. - @param observer The observer to remove. Must not be nil. - @discussion Optional, removing an observer isn't required. - */ -- (void)removeObserver:(id)observer; - -@end - -/** - @abstract Responds to updates when a tweak changes. - */ -@protocol MPTweakObserver - -/** - @abstract Called when a tweak's value changes. - @param tweak The tweak which changed in value. - */ -- (void)tweakDidChange:(MPTweak *)tweak; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Mixpanel/Mixpanel/MPTweak.m b/Mixpanel/Mixpanel/MPTweak.m deleted file mode 100644 index 4b19acd5..00000000 --- a/Mixpanel/Mixpanel/MPTweak.m +++ /dev/null @@ -1,62 +0,0 @@ -/** - Copyright (c) 2014-present, Facebook, Inc. - All rights reserved. - - This source code is licensed under the BSD-style license found in the - LICENSE file in the root directory of this source tree. An additional grant - of patent rights can be found in the PATENTS file in the same directory. - */ - -#import "MPTweak.h" - -@implementation MPTweak { - NSHashTable *_observers; -} - -- (instancetype)initWithName:(NSString *)name andEncoding:(NSString *)encoding -{ - if ((self = [super init])) { - _name = name; - _encoding = encoding; - } - return self; -} - -- (void)setCurrentValue:(MPTweakValue)currentValue -{ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wstrict-selector-match" - if (_minimumValue != nil && currentValue != nil && [_minimumValue compare:currentValue] == NSOrderedDescending) { - currentValue = _minimumValue; - } - - if (_maximumValue != nil && currentValue != nil && [_maximumValue compare:currentValue] == NSOrderedAscending) { - currentValue = _maximumValue; - } -#pragma clang diagnostic pop - - if (_currentValue != currentValue) { - _currentValue = currentValue; - for (id observer in [_observers setRepresentation]) { - [observer tweakDidChange:self]; - } - } -} - -- (void)addObserver:(id)observer -{ - if (_observers == nil) { - _observers = [NSHashTable weakObjectsHashTable]; - } - - NSAssert(observer != nil, @"observer is required"); - [_observers addObject:observer]; -} - -- (void)removeObserver:(id)observer -{ - NSAssert(observer != nil, @"observer is required"); - [_observers removeObject:observer]; -} - -@end diff --git a/Mixpanel/Mixpanel/MPTweakInline.h b/Mixpanel/Mixpanel/MPTweakInline.h deleted file mode 100644 index 02ea958b..00000000 --- a/Mixpanel/Mixpanel/MPTweakInline.h +++ /dev/null @@ -1,40 +0,0 @@ -/** - Copyright (c) 2014-present, Facebook, Inc. - All rights reserved. - - This source code is licensed under the BSD-style license found in the - LICENSE file in the root directory of this source tree. An additional grant - of patent rights can be found in the PATENTS file in the same directory. - */ - -#import "MPTweakInlineInternal.h" - -/*! - @abstract Loads the value of a tweak inline. - @discussion To use a tweak, use this instead of the constant value you otherwise would. - To use the same tweak in two places, define a C function that returns MPTweakValue. - @param name_ The name of the tweak. Must be a constant NSString. - @param default_ The default value of the tweak. If the user doesn't configure - a custom value or the build is a release build, then the default value is used. - The default value supports a variety of types, but all must be constant literals. - Supported types include: BOOL, int, double, unsigned long long, CGFloat, NSString *, char *. - @param min_ Optional, for numbers. The minimum value. Same restrictions as default. - @param max_ Optional, for numbers. The maximum value. Same restrictions as default. - @return The current value of the tweak, or the default value if none is set. - */ -#define MPTweakValue(name_, ...) _MPTweakValue(name_, __VA_ARGS__) - -/*! - @abstract Binds an object property to a tweak. - @param object_ The object to bind to. - @param property_ The property to bind. - @param name_ The name of the tweak. Must be a constant NSString. - @param default_ The default value of the tweak. If the user doesn't configure - a custom value or the build is a release build, then the default value is used. - The default value supports a variety of types, but all must be constant literals. - Supported types include: BOOL, int, double, unsigned long long, CGFloat, NSString *, char *. - @param min_ Optional, for numbers. The minimum value. Same restrictions as default. - @param max_ Optional, for numbers. The maximum value. Same restrictions as default. - @discussion As long as the object is alive, the property will be updated to match the tweak. - */ -#define MPTweakBind(object_, property_, name_, ...) _MPTweakBind(object_, property_, name_, __VA_ARGS__) diff --git a/Mixpanel/Mixpanel/MPTweakInline.m b/Mixpanel/Mixpanel/MPTweakInline.m deleted file mode 100644 index 7478ba2f..00000000 --- a/Mixpanel/Mixpanel/MPTweakInline.m +++ /dev/null @@ -1,150 +0,0 @@ -/** - Copyright (c) 2014-present, Facebook, Inc. - All rights reserved. - - This source code is licensed under the BSD-style license found in the - LICENSE file in the root directory of this source tree. An additional grant - of patent rights can be found in the PATENTS file in the same directory. - */ - -#import -#import -#import -#import -#import "MPTweak.h" -#import "MPTweakInline.h" -#import "MPTweakStore.h" -#include - -static MPTweak *_MPTweakCreateWithEntry(NSString *name, mp_tweak_entry *entry) -{ - NSString *encoding = [NSString stringWithFormat:@"%s", *entry->encoding]; - MPTweak *tweak = [[MPTweak alloc] initWithName:name andEncoding:encoding]; - - if (strcmp(*entry->encoding, @encode(BOOL)) == 0) { - tweak.defaultValue = @(*(BOOL *)entry->value); - } else if (strcmp(*entry->encoding, @encode(float)) == 0) { - tweak.defaultValue = @(*(float *)entry->value); - if (entry->min != NULL && entry->max != NULL) { - tweak.minimumValue = @(*(float *)entry->min); - tweak.maximumValue = @(*(float *)entry->max); - } - } else if (strcmp(*entry->encoding, @encode(double)) == 0) { - tweak.defaultValue = @(*(double *)entry->value); - if (entry->min != NULL && entry->max != NULL) { - tweak.minimumValue = @(*(double *)entry->min); - tweak.maximumValue = @(*(double *)entry->max); - } - } else if (strcmp(*entry->encoding, @encode(short)) == 0) { - tweak.defaultValue = @(*(short *)entry->value); - if (entry->min != NULL && entry->max != NULL) { - tweak.minimumValue = @(*(short *)entry->min); - tweak.maximumValue = @(*(short *)entry->max); - } - } else if (strcmp(*entry->encoding, @encode(unsigned short)) == 0) { - tweak.defaultValue = @(*(unsigned short int *)entry->value); - if (entry->min != NULL && entry->max != NULL) { - tweak.minimumValue = @(*(unsigned short *)entry->min); - tweak.maximumValue = @(*(unsigned short *)entry->max); - } - } else if (strcmp(*entry->encoding, @encode(int)) == 0) { - tweak.defaultValue = @(*(int *)entry->value); - if (entry->min != NULL && entry->max != NULL) { - tweak.minimumValue = @(*(int *)entry->min); - tweak.maximumValue = @(*(int *)entry->max); - } - } else if (strcmp(*entry->encoding, @encode(uint)) == 0) { - tweak.defaultValue = @(*(uint *)entry->value); - if (entry->min != NULL && entry->max != NULL) { - tweak.minimumValue = @(*(uint *)entry->min); - tweak.maximumValue = @(*(uint *)entry->max); - } - } else if (strcmp(*entry->encoding, @encode(long)) == 0) { - tweak.defaultValue = @(*(long *)entry->value); - if (entry->min != NULL && entry->max != NULL) { - tweak.minimumValue = @(*(long *)entry->min); - tweak.maximumValue = @(*(long *)entry->max); - } - } else if (strcmp(*entry->encoding, @encode(unsigned long)) == 0) { - tweak.defaultValue = @(*(unsigned long *)entry->value); - if (entry->min != NULL && entry->max != NULL) { - tweak.minimumValue = @(*(unsigned long *)entry->min); - tweak.maximumValue = @(*(unsigned long *)entry->max); - } - } else if (strcmp(*entry->encoding, @encode(long long)) == 0) { - tweak.defaultValue = @(*(long long *)entry->value); - if (entry->min != NULL && entry->max != NULL) { - tweak.minimumValue = @(*(long long *)entry->min); - tweak.maximumValue = @(*(long long *)entry->max); - } - } else if (strcmp(*entry->encoding, @encode(unsigned long long)) == 0) { - tweak.defaultValue = @(*(unsigned long long *)entry->value); - if (entry->min != NULL && entry->max != NULL) { - tweak.minimumValue = @(*(unsigned long long *)entry->min); - tweak.maximumValue = @(*(unsigned long long *)entry->max); - } - } else if (*entry->encoding[0] == '[') { - // Assume it's a C string. - tweak.defaultValue = [NSString stringWithUTF8String:entry->value]; - } else if (strcmp(*entry->encoding, @encode(id)) == 0) { - tweak.defaultValue = *((__unsafe_unretained id *)entry->value); - } else { - NSCAssert(NO, @"Unknown encoding %s for tweak %@. Value was %p.", *entry->encoding, *entry->name, entry->value); - tweak = nil; - } - - return tweak; -} - -@interface _MPTweakInlineLoader : NSObject - -@end - -@implementation _MPTweakInlineLoader - -+ (void)load { - static atomic_uint_fast32_t _tweaksLoaded = 0; - - if (atomic_fetch_or(&_tweaksLoaded, 1)) { - return; - } - -#ifdef __LP64__ - typedef struct mach_header_64 mp_tweak_header; -#else - typedef struct mach_header mp_tweak_header; -#endif - - MPTweakStore *store = [MPTweakStore sharedInstance]; - - Dl_info info; - dladdr((void *)&_MPTweakCreateWithEntry, &info); - - uint32_t image_count = _dyld_image_count(); - for (uint32_t image_index = 0; image_index < image_count; image_index++) { - const mp_tweak_header *mach_header = (const mp_tweak_header *)_dyld_get_image_header(image_index); - - unsigned long size; - mp_tweak_entry *data = (mp_tweak_entry *)getsectiondata(mach_header, MPTweakSegmentName, MPTweakSectionName, &size); - if (data == NULL) { - continue; - } - size_t count = size / sizeof(mp_tweak_entry); - for (size_t i = 0; i < count; i++) { - mp_tweak_entry *entry = &data[i]; - if (entry->name == nil) { - continue; - } - NSString *name = [NSString stringWithString:*entry->name]; - if ([store tweakWithName:name] == nil) { - MPTweak *tweak = _MPTweakCreateWithEntry(name, entry); - if (tweak != nil) { - [store addTweak:tweak]; - } - } - } - } -} - -@end - diff --git a/Mixpanel/Mixpanel/MPTweakInlineInternal.h b/Mixpanel/Mixpanel/MPTweakInlineInternal.h deleted file mode 100644 index 6e5e569b..00000000 --- a/Mixpanel/Mixpanel/MPTweakInlineInternal.h +++ /dev/null @@ -1,133 +0,0 @@ -/** - Copyright (c) 2014-present, Facebook, Inc. - All rights reserved. - - This source code is licensed under the BSD-style license found in the - LICENSE file in the root directory of this source tree. An additional grant - of patent rights can be found in the PATENTS file in the same directory. - */ - -#import "_MPTweakBindObserver.h" -#import "MPTweak.h" -#import "MPTweakStore.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define MPTweakSegmentName "__DATA" -#define MPTweakSectionName "MPTweak" - -typedef __unsafe_unretained NSString *MPTweakLiteralString; - -typedef struct { - MPTweakLiteralString *name; - void *value; - void *min; - void *max; - char **encoding; -} mp_tweak_entry; - -#if __has_feature(objc_arc) -#define _MPTweakRelease(x) -#else -#define _MPTweakRelease(x) [x release] -#endif - -#define __MPTweakConcat_(X, Y) X ## Y -#define __MPTweakConcat(X, Y) __MPTweakConcat_(X, Y) - -#define __MPTweakIndex(_1, _2, _3, value, ...) value -#define __MPTweakIndexCount(...) __MPTweakIndex(__VA_ARGS__, 3, 2, 1) - -#define __MPTweakHasRange1(__withoutRange, __withRange, ...) __withoutRange -#define __MPTweakHasRange2(__withoutRange, __withRange, ...) __MPTweakInvalidNumberOfArgumentsPassed -#define __MPTweakHasRange3(__withoutRange, __withRange, ...) __withRange -#define _MPTweakHasRange(__withoutRange, __withRange, ...) __MPTweakConcat(__MPTweakHasRange, __MPTweakIndexCount(__VA_ARGS__))(__withoutRange, __withRange) - -#define _MPTweakInlineWithoutRange(name_, default_) \ - _MPTweakInlineWithRangeInternal(name_, default_, NO, NULL, NO, NULL) -#define _MPTweakInlineWithRange(name_, default_, min_, max_) \ - _MPTweakInlineWithRangeInternal(name_, default_, YES, min_, YES, max_) -#define _MPTweakInlineWithRangeInternal(name_, default_, hasmin_, min_, hasmax_, max_) \ -((^{ \ - /* store the tweak data in the binary at compile time. */ \ - __attribute__((used)) static MPTweakLiteralString name__ = name_; \ - __attribute__((used)) static __typeof__(default_) default__ = default_; \ - __attribute__((used)) static __typeof__(min_) min__ = min_; \ - __attribute__((used)) static __typeof__(max_) max__ = max_; \ - __attribute__((used)) static char *encoding__ = (char *)@encode(__typeof__(default_)); \ - __attribute__((used)) __attribute__((section (MPTweakSegmentName "," MPTweakSectionName))) static mp_tweak_entry entry = \ - {&name__, &default__, hasmin_ ? &min__ : NULL, hasmax_ ? &max__ : NULL, &encoding__ }; \ -\ - /* find the registered tweak with the given name. */ \ - return [[MPTweakStore sharedInstance] tweakWithName:[NSString stringWithString:*entry.name]]; \ -})()) -#define _MPTweakInline(name_, ...) _MPTweakHasRange(_MPTweakInlineWithoutRange, _MPTweakInlineWithRange, __VA_ARGS__)(name_, __VA_ARGS__) - -#define _MPTweakValueInternal(tweak_, name_, default_, hasmin_, min_, hasmax_, max_) \ -((^{ \ - /* returns a correctly typed version of the current tweak value */ \ - _Pragma("clang diagnostic push") \ - _Pragma("clang diagnostic ignored \"-Wc11-extensions\"") \ - MPTweakValue currentValue = tweak_.currentValue ?: tweak_.defaultValue; \ - return _Generic(default_, \ - float: [currentValue floatValue], \ - const float: [currentValue floatValue], \ - double: [currentValue doubleValue], \ - const double: [currentValue doubleValue], \ - short: [currentValue shortValue], \ - const short: [currentValue shortValue], \ - unsigned short: [currentValue unsignedShortValue], \ - const unsigned short: [currentValue unsignedShortValue], \ - int: [currentValue intValue], \ - const int: [currentValue intValue], \ - unsigned int: [currentValue unsignedIntValue], \ - const unsigned int: [currentValue unsignedIntValue], \ - long long: [currentValue longLongValue], \ - const long long: [currentValue longLongValue], \ - unsigned long long: [currentValue unsignedLongLongValue], \ - const unsigned long long: [currentValue unsignedLongLongValue], \ - BOOL: [currentValue boolValue], \ - const BOOL: [currentValue boolValue], \ - id: currentValue, \ - const id: currentValue, \ - /* assume char * as the default. */ \ - /* constant strings are typed as char[N] */ \ - /* and we can't enumerate all of those. */ \ - /* luckily, we only need one fallback */ \ - default: [currentValue UTF8String] \ - ); \ - _Pragma("clang diagnostic pop") \ -})()) - -#define _MPTweakValueWithoutRange(name_, default_) _MPTweakValueWithRangeInternal(name_, default_, NO, NULL, NO, NULL) -#define _MPTweakValueWithRange(name_, default_, min_, max_) _MPTweakValueWithRangeInternal(name_, default_, YES, min_, YES, max_) -#define _MPTweakValueWithRangeInternal(name_, default_, hasmin_, min_, hasmax_, max_) \ -((^{ \ - MPTweak *tweak = _MPTweakInlineWithRangeInternal(name_, default_, hasmin_, min_, hasmax_, max_); \ - return _MPTweakValueInternal(tweak, name_, default_, hasmin_, min_, hasmax_, max_); \ -})()) -#define _MPTweakValue(name_, ...) _MPTweakHasRange(_MPTweakValueWithoutRange, _MPTweakValueWithRange, __VA_ARGS__)(name_, __VA_ARGS__) - -#define _MPTweakBindWithoutRange(object_, property_, name_, default_) \ - _MPTweakBindWithRangeInternal(object_, property_, name_, default_, NO, NULL, NO, NULL) -#define _MPTweakBindWithRange(object_, property_, name_, default_, min_, max_) \ - _MPTweakBindWithRangeInternal(object_, property_, name_, default_, YES, min_, YES, max_) -#define _MPTweakBindWithRangeInternal(object_, property_, name_, default_, hasmin_, min_, hasmax_, max_) \ -((^{ \ - MPTweak *tweak = _MPTweakInlineWithRangeInternal(name_, default_, hasmin_, min_, hasmax_, max_); \ - object_.property_ = _MPTweakValueInternal(tweak, name_, default_, hasmin_, min_, hasmax_, max_); \ -\ - _MPTweakBindObserver *observer__ = [[_MPTweakBindObserver alloc] initWithTweak:tweak block:^(id object__) { \ - __typeof__(object_) object___ = object__; \ - object___.property_ = _MPTweakValueInternal(tweak, name_, default_, hasmin_, min_, hasmax_, max_); \ - }]; \ - [observer__ attachToObject:object_]; \ -})()) -#define _MPTweakBind(object_, property_, name_, ...) _MPTweakHasRange(_MPTweakBindWithoutRange, _MPTweakBindWithRange, __VA_ARGS__)(object_, property_, name_, __VA_ARGS__) - -#ifdef __cplusplus -} -#endif - diff --git a/Mixpanel/Mixpanel/MPTweakStore.h b/Mixpanel/Mixpanel/MPTweakStore.h deleted file mode 100644 index 9589aa8f..00000000 --- a/Mixpanel/Mixpanel/MPTweakStore.h +++ /dev/null @@ -1,54 +0,0 @@ -/** - Copyright (c) 2014-present, Facebook, Inc. - All rights reserved. - - This source code is licensed under the BSD-style license found in the - LICENSE file in the root directory of this source tree. An additional grant - of patent rights can be found in the PATENTS file in the same directory. - */ - -#import -#import "MPTweak.h" - -@class MPTweak; - -/** - @abstract The global store for tweaks. - */ -@interface MPTweakStore : NSObject - -/** - @abstract Creates or returns the shared global store. - */ -+ (instancetype)sharedInstance; - -/** - @abstract The tweak categories in the store. - */ -@property (nonatomic, copy, readonly) NSArray *tweaks; - -/** - @abstract Finds a tweak by name. - @param name The name of the tweak to find. - @return The tweak if found, nil otherwise. - */ -- (MPTweak *)tweakWithName:(NSString *)name; - -/** - @abstract Registers a tweak with the store. - @param tweak The tweak to register. - */ -- (void)addTweak:(MPTweak *)tweak; - -/** - @abstract Removes a tweak from the store. - @param tweak The tweak to remove. - */ -- (void)removeTweak:(MPTweak *)tweak; - -/** - @abstract Resets all tweaks in the store. - */ -- (void)reset; - -@end diff --git a/Mixpanel/Mixpanel/MPTweakStore.m b/Mixpanel/Mixpanel/MPTweakStore.m deleted file mode 100644 index 4702c736..00000000 --- a/Mixpanel/Mixpanel/MPTweakStore.m +++ /dev/null @@ -1,69 +0,0 @@ -/** - Copyright (c) 2014-present, Facebook, Inc. - All rights reserved. - - This source code is licensed under the BSD-style license found in the - LICENSE file in the root directory of this source tree. An additional grant - of patent rights can be found in the PATENTS file in the same directory. - */ - -#import "MPTweak.h" -#import "MPTweakStore.h" - -@implementation MPTweakStore { - NSMutableArray *_orderedTweaks; - NSMutableDictionary *_namedTweaks; -} - -+ (instancetype)sharedInstance -{ - static MPTweakStore *sharedInstance; - - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedInstance = [[self alloc] init]; - }); - - return sharedInstance; -} - -- (instancetype)init -{ - if ((self = [super init])) { - _orderedTweaks = [NSMutableArray arrayWithCapacity:16]; - _namedTweaks = [NSMutableDictionary dictionaryWithCapacity:16]; - } - - return self; -} - -- (NSArray *)tweaks -{ - return [_orderedTweaks copy]; -} - -- (MPTweak *)tweakWithName:(NSString *)name -{ - return _namedTweaks[name]; -} - -- (void)addTweak:(MPTweak *)tweak -{ - _namedTweaks[tweak.name] = tweak; - [_orderedTweaks addObject:tweak]; -} - -- (void)removeTweak:(MPTweak *)tweak -{ - _namedTweaks[tweak.name] = nil; - [_orderedTweaks removeObject:tweak]; -} - -- (void)reset -{ - for (MPTweak *tweak in self.tweaks) { - tweak.currentValue = nil; - } -} - -@end diff --git a/Mixpanel/Mixpanel/MPTypeDescription.h b/Mixpanel/Mixpanel/MPTypeDescription.h deleted file mode 100644 index 409a3210..00000000 --- a/Mixpanel/Mixpanel/MPTypeDescription.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@interface MPTypeDescription : NSObject - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary; - -@property (nonatomic, readonly) NSString *name; - -@end diff --git a/Mixpanel/Mixpanel/MPTypeDescription.m b/Mixpanel/Mixpanel/MPTypeDescription.m deleted file mode 100644 index 2acbad15..00000000 --- a/Mixpanel/Mixpanel/MPTypeDescription.m +++ /dev/null @@ -1,18 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPTypeDescription.h" - -@implementation MPTypeDescription - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary -{ - self = [super init]; - if (self) { - _name = [dictionary[@"name"] copy]; - } - - return self; -} - -@end diff --git a/Mixpanel/Mixpanel/MPUIColorToNSStringValueTransformer.m b/Mixpanel/Mixpanel/MPUIColorToNSStringValueTransformer.m deleted file mode 100644 index a10da1ab..00000000 --- a/Mixpanel/Mixpanel/MPUIColorToNSStringValueTransformer.m +++ /dev/null @@ -1,73 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -@implementation MPUIColorToNSStringValueTransformer - -+ (Class)transformedValueClass -{ - return [NSString class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return YES; -} - -- (id)transformedValue:(id)value -{ - if ([value isKindOfClass:[UIColor class]]) { - UIColor *colorValue = (UIColor *)value; - - CGColorSpaceModel colorSpaceModel = CGColorSpaceGetModel(CGColorGetColorSpace(colorValue.CGColor)); - if (colorSpaceModel == kCGColorSpaceModelMonochrome || colorSpaceModel == kCGColorSpaceModelRGB) { - size_t numberOfComponents = CGColorGetNumberOfComponents(colorValue.CGColor); - const CGFloat *components = CGColorGetComponents(colorValue.CGColor); - - if (colorSpaceModel == kCGColorSpaceModelMonochrome && numberOfComponents >= 1) { - CGFloat w = (255 * components[0]); - CGFloat a = (numberOfComponents > 1 ? components[1] : 1.0f); - - return [NSString stringWithFormat:@"rgba(%.0f, %.0f, %.0f, %.2f)", w, w, w, a]; - } - else if (colorSpaceModel == kCGColorSpaceModelRGB && numberOfComponents >= 3) - { - CGFloat r = (255 * components[0]); - CGFloat g = (255 * components[1]); - CGFloat b = (255 * components[2]); - CGFloat a = (numberOfComponents > 3 ? components[3] : 1.0f); - - return [NSString stringWithFormat:@"rgba(%.0f, %.0f, %.0f, %.2f)", r, g, b, a]; - } - } - } - - return nil; -} - -- (id)reverseTransformedValue:(id)value -{ - if ([value isKindOfClass:[NSString class]]) { - NSString *stringValue = (NSString *)value; - - NSScanner *scanner = [NSScanner scannerWithString:stringValue]; - [scanner setCharactersToBeSkipped:[NSCharacterSet characterSetWithCharactersInString:@"rgba(), "]]; - [scanner setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; - - int r = 0, g = 0, b = 0; - float a = 1.0f; - if ([scanner scanInt:&r] && - [scanner scanInt:&g] && - [scanner scanInt:&b] && - [scanner scanFloat:&a]) - { - UIColor *color = [[UIColor alloc] initWithRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:a]; - return color; - } - } - - return nil; -} - -@end diff --git a/Mixpanel/Mixpanel/MPUIControlBinding.h b/Mixpanel/Mixpanel/MPUIControlBinding.h deleted file mode 100644 index 3e018867..00000000 --- a/Mixpanel/Mixpanel/MPUIControlBinding.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// MPUIControlBinding.h -// HelloMixpanel -// -// Created by Amanda Canyon on 8/4/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import -#import "MPEventBinding.h" - -@interface MPUIControlBinding : MPEventBinding - -@property (nonatomic, readonly) UIControlEvents controlEvent; -@property (nonatomic, readonly) UIControlEvents verifyEvent; - -- (instancetype)init __unavailable; -- (instancetype)initWithEventName:(NSString *)eventName - onPath:(NSString *)path - withControlEvent:(UIControlEvents)controlEvent - andVerifyEvent:(UIControlEvents)verifyEvent; - -@end diff --git a/Mixpanel/Mixpanel/MPUIControlBinding.m b/Mixpanel/Mixpanel/MPUIControlBinding.m deleted file mode 100644 index 35b6aa2f..00000000 --- a/Mixpanel/Mixpanel/MPUIControlBinding.m +++ /dev/null @@ -1,271 +0,0 @@ -// -// MPUIControlBinding.m -// HelloMixpanel -// -// Created by Amanda Canyon on 8/4/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MixpanelPrivate.h" -#import "MPSwizzler.h" -#import "MPUIControlBinding.h" -#import "NSThread+MPHelpers.h" - -@interface MPUIControlBinding() - -/* - This table contains all the UIControls we are currently bound to - */ -@property (nonatomic, copy) NSHashTable *appliedTo; -/* - A table of all objects that matched the full path including - predicates the last time they dispatched a UIControlEventTouchDown - */ -@property (nonatomic, copy) NSHashTable *verified; - -- (void)stopOnView:(UIView *)view; - -@end - -@implementation MPUIControlBinding - -+ (NSString *)typeName -{ - return @"ui_control"; -} - -+ (MPEventBinding *)bindingWithJSONObject:(NSDictionary *)object -{ - NSString *path = object[@"path"]; - if (![path isKindOfClass:[NSString class]] || path.length < 1) { - NSLog(@"must supply a view path to bind by"); - return nil; - } - - NSString *eventName = object[@"event_name"]; - if (![eventName isKindOfClass:[NSString class]] || eventName.length < 1 ) { - NSLog(@"binding requires an event name"); - return nil; - } - - if (!([object[@"control_event"] unsignedIntegerValue] & UIControlEventAllEvents)) { - NSLog(@"must supply a valid UIControlEvents value for control_event"); - return nil; - } - - UIControlEvents verifyEvent = [object[@"verify_event"] unsignedIntegerValue]; - return [[MPUIControlBinding alloc] initWithEventName:eventName - onPath:path - withControlEvent:[object[@"control_event"] unsignedIntegerValue] - andVerifyEvent:verifyEvent]; -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-implementations" -+ (MPEventBinding *)bindngWithJSONObject:(NSDictionary *)object -{ - return [self bindingWithJSONObject:object]; -} -#pragma clang diagnostic pop - -- (instancetype)initWithEventName:(NSString *)eventName - onPath:(NSString *)path - withControlEvent:(UIControlEvents)controlEvent - andVerifyEvent:(UIControlEvents)verifyEvent -{ - if (self = [super initWithEventName:eventName onPath:path]) { - // iOS 12: UITextField now implements -didMoveToWindow, without calling the parent implementation. so Swizzle UIControl won't work - if (@available(iOS 12, *)) { - [self setSwizzleClass:[path containsString:@"UITextField"] ? [UITextField class] : [UIControl class]]; - } - else { - [self setSwizzleClass:[UIControl class]]; - } - _controlEvent = controlEvent; - - if (verifyEvent == 0) { - if (controlEvent & UIControlEventAllTouchEvents) { - verifyEvent = UIControlEventTouchDown; - } else if (controlEvent & UIControlEventAllEditingEvents) { - verifyEvent = UIControlEventEditingDidBegin; - } - } - _verifyEvent = verifyEvent; - - [self resetAppliedTo]; - } - return self; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"Event Binding: '%@' for '%@'", [self eventName], [self path]]; -} - -- (void)resetAppliedTo -{ - self.verified = [NSHashTable hashTableWithOptions:(NSHashTableWeakMemory|NSHashTableObjectPointerPersonality)]; - self.appliedTo = [NSHashTable hashTableWithOptions:(NSHashTableWeakMemory|NSHashTableObjectPointerPersonality)]; -} - -#pragma mark -- Executing Actions - -- (void)execute -{ - if (!self.appliedTo) { - [self resetAppliedTo]; - } - - if (!self.running) { - void (^executeBlock)(id, SEL) = ^(id view, SEL command) { - [NSThread mp_safelyRunOnMainThreadSync:^{ - NSArray *objects; - NSObject *root = [[Mixpanel sharedUIApplication] keyWindow].rootViewController; - if (view && [self.appliedTo containsObject:view]) { - if (![self.path fuzzyIsLeafSelected:view fromRoot:root]) { - [self stopOnView:view]; - [self.appliedTo removeObject:view]; - } - } else { - // select targets based off path - if (view) { - if ([self.path fuzzyIsLeafSelected:view fromRoot:root]) { - objects = @[view]; - } else { - objects = @[]; - } - } else { - objects = [self.path fuzzySelectFromRoot:root]; - } - - for (UIControl *control in objects) { - if ([control isKindOfClass:[UIControl class]]) { - if (self.verifyEvent != 0 && self.verifyEvent != self.controlEvent) { - [control addTarget:self - action:@selector(preVerify:forEvent:) - forControlEvents:self.verifyEvent]; - } - - [control addTarget:self - action:@selector(execute:forEvent:) - forControlEvents:self.controlEvent]; - [self.appliedTo addObject:control]; - } - } - } - }]; - }; - - executeBlock(nil, _cmd); - - [MPSwizzler swizzleSelector:NSSelectorFromString(@"didMoveToWindow") - onClass:self.swizzleClass - withBlock:executeBlock - named:self.name]; - [MPSwizzler swizzleSelector:NSSelectorFromString(@"didMoveToSuperview") - onClass:self.swizzleClass - withBlock:executeBlock - named:self.name]; - self.running = true; - } -} - -- (void)stop -{ - if (self.running) { - // remove what has been swizzled - [MPSwizzler unswizzleSelector:NSSelectorFromString(@"didMoveToWindow") - onClass:self.swizzleClass - named:self.name]; - [MPSwizzler unswizzleSelector:NSSelectorFromString(@"didMoveToSuperview") - onClass:self.swizzleClass - named:self.name]; - - // remove target-action pairs - for (UIControl *control in self.appliedTo.allObjects) { - if (control && [control isKindOfClass:[UIControl class]]) { - [NSThread mp_safelyRunOnMainThreadSync:^{ - [self stopOnView:control]; - }]; - } - } - [self resetAppliedTo]; - self.running = false; - } -} - -- (void)stopOnView:(UIControl *)view -{ - if (self.verifyEvent != 0 && self.verifyEvent != self.controlEvent) { - [view removeTarget:self - action:@selector(preVerify:forEvent:) - forControlEvents:self.verifyEvent]; - } - [view removeTarget:self - action:@selector(execute:forEvent:) - forControlEvents:self.controlEvent]; -} - -#pragma mark -- To execute for Target-Action event firing - -- (BOOL)verifyControlMatchesPath:(id)control -{ - NSObject *root = [[Mixpanel sharedUIApplication] keyWindow].rootViewController; - return [self.path isLeafSelected:control fromRoot:root]; -} - -- (void)preVerify:(id)sender forEvent:(UIEvent *)event -{ - if ([self verifyControlMatchesPath:sender]) { - [self.verified addObject:sender]; - } else { - [self.verified removeObject:sender]; - } -} - -- (void)execute:(id)sender forEvent:(UIEvent *)event -{ - BOOL shouldTrack; - if (self.verifyEvent != 0 && self.verifyEvent != self.controlEvent) { - shouldTrack = [self.verified containsObject:sender]; - } else { - shouldTrack = [self verifyControlMatchesPath:sender]; - } - if (shouldTrack) { - [[self class] track:[self eventName] properties:nil]; - } -} - -#pragma mark -- NSCoder - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [super encodeWithCoder:aCoder]; - [aCoder encodeObject:@(_controlEvent) forKey:@"controlEvent"]; - [aCoder encodeObject:@(_verifyEvent) forKey:@"verifyEvent"]; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - if (self = [super initWithCoder:aDecoder]) { - _controlEvent = [[aDecoder decodeObjectForKey:@"controlEvent"] unsignedIntegerValue]; - _verifyEvent = [[aDecoder decodeObjectForKey:@"verifyEvent"] unsignedIntegerValue]; - } - return self; -} - -- (BOOL)isEqual:(id)other { - if (other == self) { - return YES; - } else if (![other isKindOfClass:[MPUIControlBinding class]]) { - return NO; - } else { - return [super isEqual:other] && self.controlEvent == ((MPUIControlBinding *)other).controlEvent && self.verifyEvent == ((MPUIControlBinding *)other).verifyEvent; - } -} - -- (NSUInteger)hash { - return [super hash] ^ self.controlEvent ^ self.verifyEvent; -} - -@end diff --git a/Mixpanel/Mixpanel/MPUIEdgeInsetsToNSDictionaryValueTransformer.m b/Mixpanel/Mixpanel/MPUIEdgeInsetsToNSDictionaryValueTransformer.m deleted file mode 100644 index 6f2e018a..00000000 --- a/Mixpanel/Mixpanel/MPUIEdgeInsetsToNSDictionaryValueTransformer.m +++ /dev/null @@ -1,54 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -@implementation MPUIEdgeInsetsToNSDictionaryValueTransformer - -+ (Class)transformedValueClass -{ - return [NSDictionary class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return YES; -} - -- (id)transformedValue:(id)value -{ - if ([value respondsToSelector:@selector(UIEdgeInsetsValue)]) { - UIEdgeInsets edgeInsetsValue = [value UIEdgeInsetsValue]; - - return @{ - @"top" : @(edgeInsetsValue.top), - @"bottom" : @(edgeInsetsValue.bottom), - @"left" : @(edgeInsetsValue.left), - @"right" : @(edgeInsetsValue.right) - }; - } - - return nil; -} - -- (id)reverseTransformedValue:(id)value -{ - if ([value isKindOfClass:[NSDictionary class]]) { - NSDictionary *dictionaryValue = value; - - id top = dictionaryValue[@"top"]; - id bottom = dictionaryValue[@"bottom"]; - id left = dictionaryValue[@"left"]; - id right = dictionaryValue[@"right"]; - - if (top && bottom && left && right) { - UIEdgeInsets edgeInsets = UIEdgeInsetsMake([top floatValue], [left floatValue], [bottom floatValue], [right floatValue]); - return [NSValue valueWithUIEdgeInsets:edgeInsets]; - } - } - - return [NSValue valueWithUIEdgeInsets:UIEdgeInsetsZero]; -} - - -@end diff --git a/Mixpanel/Mixpanel/MPUIFontToNSDictionaryValueTransformer.m b/Mixpanel/Mixpanel/MPUIFontToNSDictionaryValueTransformer.m deleted file mode 100644 index 8bd8a463..00000000 --- a/Mixpanel/Mixpanel/MPUIFontToNSDictionaryValueTransformer.m +++ /dev/null @@ -1,67 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import "MPValueTransformers.h" - -@implementation MPUIFontToNSDictionaryValueTransformer - -+ (Class)transformedValueClass -{ - return [NSDictionary class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return YES; -} - -- (id)transformedValue:(id)value -{ - if ([value isKindOfClass:[UIFont class]]) { - UIFont *fontValue = value; - - return @{ - @"familyName": fontValue.familyName, - @"fontName": fontValue.fontName, - @"pointSize": @(fontValue.pointSize), - }; - } - - return nil; -} - -- (id)reverseTransformedValue:(id)value -{ - if ([value isKindOfClass:[NSDictionary class]]) { - NSDictionary *dictionaryValue = value; - - NSNumber *pointSize = dictionaryValue[@"pointSize"]; - NSString *fontName = dictionaryValue[@"fontName"]; - - float fontSize = [pointSize floatValue]; - if (fontSize > 0.0f && fontName) { - UIFont *systemFont = [UIFont systemFontOfSize:fontSize]; - UIFont *boldSystemFont = [UIFont boldSystemFontOfSize:fontSize]; - UIFont *italicSystemFont = [UIFont italicSystemFontOfSize:fontSize]; - - if ([systemFont.fontName isEqualToString:fontName]) { - return systemFont; - } - else if ([boldSystemFont.fontName isEqualToString:fontName]) - { - return boldSystemFont; - } - else if ([italicSystemFont.fontName isEqualToString:fontName]) - { - return italicSystemFont; - } else { - return [UIFont fontWithName:fontName size:fontSize]; - } - } - } - - return nil; -} - - -@end diff --git a/Mixpanel/Mixpanel/MPUIImageToNSDictionaryValueTransformer.m b/Mixpanel/Mixpanel/MPUIImageToNSDictionaryValueTransformer.m deleted file mode 100644 index 1096aa73..00000000 --- a/Mixpanel/Mixpanel/MPUIImageToNSDictionaryValueTransformer.m +++ /dev/null @@ -1,144 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import "MPValueTransformers.h" - -@implementation MPUIImageToNSDictionaryValueTransformer - -static NSMutableDictionary *imageCache; - -+ (void)load { - imageCache = [NSMutableDictionary dictionary]; -} - -+ (Class)transformedValueClass -{ - return [NSDictionary class]; -} - -+ (BOOL)allowsReverseTransformation -{ - return YES; -} - -- (id)transformedValue:(id)value -{ - NSDictionary *transformedValue = nil; - - if ([value isKindOfClass:[UIImage class]]) { - UIImage *image = value; - - NSValueTransformer *sizeTransformer = [NSValueTransformer valueTransformerForName:NSStringFromClass([MPCGSizeToNSDictionaryValueTransformer class])]; - NSValueTransformer *insetsTransformer = [NSValueTransformer valueTransformerForName:NSStringFromClass([MPUIEdgeInsetsToNSDictionaryValueTransformer class])]; - - NSValue *sizeValue = [NSValue valueWithCGSize:image.size]; - NSValue *capInsetsValue = [NSValue valueWithUIEdgeInsets:image.capInsets]; - NSValue *alignmentRectInsetsValue = [NSValue valueWithUIEdgeInsets:image.alignmentRectInsets]; - - NSArray *images = image.images ?: @[ image ]; - - NSMutableArray *imageDictionaries = [NSMutableArray array]; - for (UIImage *frame in images) { - NSData *imageData = UIImagePNGRepresentation(frame); - NSString *imageDataString = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; - NSDictionary *imageDictionary = @{ @"scale": @(image.scale), - @"mime_type": @"image/png", - @"data": (imageData != nil ? imageDataString : [NSNull null]) }; - - [imageDictionaries addObject:imageDictionary]; - } - - transformedValue = @{ - @"imageOrientation": @(image.imageOrientation), - @"size": [sizeTransformer transformedValue:sizeValue], - @"renderingMode": @(image.renderingMode), - @"resizingMode": @(image.resizingMode), - @"duration": @(image.duration), - @"capInsets": [insetsTransformer transformedValue:capInsetsValue], - @"alignmentRectInsets": [insetsTransformer transformedValue:alignmentRectInsetsValue], - @"images": [imageDictionaries copy], - }; - } - - return transformedValue; -} - -- (id)reverseTransformedValue:(id)value -{ - if ([value isKindOfClass:[NSDictionary class]]) { - NSDictionary *dictionaryValue = value; - - NSValueTransformer *insetsTransformer = [NSValueTransformer valueTransformerForName:NSStringFromClass([MPUIEdgeInsetsToNSDictionaryValueTransformer class])]; - - NSArray *imagesDictionary = dictionaryValue[@"images"]; - UIEdgeInsets capInsets = [[insetsTransformer reverseTransformedValue:dictionaryValue[@"capInsets"]] UIEdgeInsetsValue]; - - NSMutableArray *images = [NSMutableArray array]; - for (NSDictionary *imageDictionary in imagesDictionary) { - NSNumber *scale = imageDictionary[@"scale"]; - UIImage *image; - if (imageDictionary[@"url"]) { - @synchronized(imageCache) { - image = [imageCache valueForKey:imageDictionary[@"url"]]; - } - if (!image) { - NSURL *imageUrl = [NSURL URLWithString: imageDictionary[@"url"]]; - NSError *error; - NSData *imageData = [NSData dataWithContentsOfURL:imageUrl options:(NSDataReadingOptions)0 error:&error]; - if (!error) { - image = [UIImage imageWithData:imageData scale:fminf(1.0, scale.floatValue)]; - @synchronized(imageCache) { - if (image) { - imageCache[imageDictionary[@"url"]] = image; - } - } - } - } - if (image && imageDictionary[@"dimensions"]) { - NSDictionary *dimensions = imageDictionary[@"dimensions"]; - CGSize size = CGSizeMake([dimensions[@"Width"] floatValue], [dimensions[@"Height"] floatValue]); - UIGraphicsBeginImageContext(size); - [image drawInRect:CGRectMake(0, 0, size.width, size.height)]; - image = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - } - } - else if (imageDictionary[@"data"] && imageDictionary[@"data"] != [NSNull null]) { - NSData *imageData = [[NSData alloc] initWithBase64EncodedString:imageDictionary[@"data"] - options:NSDataBase64DecodingIgnoreUnknownCharacters]; - image = [UIImage imageWithData:imageData scale:fminf(1.0, scale.floatValue)]; - } - - if (image) { - [images addObject:image]; - } - } - - UIImage *image = nil; - - if (images.count > 1) { - // animated image - image = [UIImage animatedImageWithImages:images duration:[dictionaryValue[@"duration"] doubleValue]]; - } - else if (images.count > 0) - { - image = images[0]; - } - - if (image && UIEdgeInsetsEqualToEdgeInsets(capInsets, UIEdgeInsetsZero) == NO) { - if (dictionaryValue[@"resizingMode"]) { - UIImageResizingMode resizingMode = (UIImageResizingMode)[dictionaryValue[@"resizingMode"] integerValue]; - image = [image resizableImageWithCapInsets:capInsets resizingMode:resizingMode]; - } else { - image = [image resizableImageWithCapInsets:capInsets]; - } - } - - return image; - } - - return nil; -} - -@end diff --git a/Mixpanel/Mixpanel/MPUITableViewBinding.h b/Mixpanel/Mixpanel/MPUITableViewBinding.h deleted file mode 100644 index 696fa2db..00000000 --- a/Mixpanel/Mixpanel/MPUITableViewBinding.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// MPUITableViewBinding.h -// HelloMixpanel -// -// Created by Amanda Canyon on 8/5/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MPEventBinding.h" - -@interface MPUITableViewBinding : MPEventBinding - -- (instancetype)init __unavailable; -- (instancetype)initWithEventName:(NSString *)eventName onPath:(NSString *)path withDelegate:(Class)delegateClass; - -@end diff --git a/Mixpanel/Mixpanel/MPUITableViewBinding.m b/Mixpanel/Mixpanel/MPUITableViewBinding.m deleted file mode 100644 index 5ef43312..00000000 --- a/Mixpanel/Mixpanel/MPUITableViewBinding.m +++ /dev/null @@ -1,129 +0,0 @@ -// -// MPUITableViewBinding.m -// HelloMixpanel -// -// Created by Amanda Canyon on 8/5/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import -#import -#import "MixpanelPrivate.h" -#import "MPSwizzler.h" -#import "MPUITableViewBinding.h" -#import "NSThread+MPHelpers.h" - -@implementation MPUITableViewBinding - -+ (NSString *)typeName -{ - return @"ui_table_view"; -} - -+ (MPEventBinding *)bindingWithJSONObject:(NSDictionary *)object -{ - NSString *path = object[@"path"]; - if (![path isKindOfClass:[NSString class]] || path.length < 1) { - NSLog(@"must supply a view path to bind by"); - return nil; - } - - NSString *eventName = object[@"event_name"]; - if (![eventName isKindOfClass:[NSString class]] || eventName.length < 1 ) { - NSLog(@"binding requires an event name"); - return nil; - } - - Class tableDelegate = NSClassFromString(object[@"table_delegate"]); - if (!tableDelegate) { - NSLog(@"binding requires a table_delegate class"); - return nil; - } - - return [[MPUITableViewBinding alloc] initWithEventName:eventName - onPath:path - withDelegate:tableDelegate]; -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-implementations" -+ (MPEventBinding *)bindngWithJSONObject:(NSDictionary *)object -{ - return [self bindingWithJSONObject:object]; -} -#pragma clang diagnostic pop - -- (instancetype)initWithEventName:(NSString *)eventName onPath:(NSString *)path -{ - return [self initWithEventName:eventName onPath:path withDelegate:nil]; -} - -- (instancetype)initWithEventName:(NSString *)eventName onPath:(NSString *)path withDelegate:(Class)delegateClass -{ - if (self = [super initWithEventName:eventName onPath:path]) { - [self setSwizzleClass:delegateClass]; - } - return self; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"UITableView Event Tracking: '%@' for '%@'", [self eventName], [self path]]; -} - - -#pragma mark -- Executing Actions - -- (void)execute -{ - if (!self.running && self.swizzleClass != nil) { - void (^block)(id, SEL, id, id) = ^(id view, SEL command, UITableView *tableView, NSIndexPath *indexPath) { - [NSThread mp_safelyRunOnMainThreadSync:^{ - NSObject *root = [Mixpanel sharedUIApplication].keyWindow.rootViewController; - // select targets based off path - if (tableView && [self.path isLeafSelected:tableView fromRoot:root]) { - UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; - NSString *label = (cell && cell.textLabel && cell.textLabel.text) ? cell.textLabel.text : @""; - [[self class] track:[self eventName] - properties:@{ - @"Cell Index": [NSString stringWithFormat: @"%ld", (unsigned long)indexPath.row], - @"Cell Section": [NSString stringWithFormat: @"%ld", (unsigned long)indexPath.section], - @"Cell Label": label - }]; - } - }]; - }; - - [MPSwizzler swizzleSelector:@selector(tableView:didSelectRowAtIndexPath:) - onClass:self.swizzleClass - withBlock:block - named:self.name]; - self.running = true; - } -} - -- (void)stop -{ - if (self.running && self.swizzleClass != nil) { - [MPSwizzler unswizzleSelector:@selector(tableView:didSelectRowAtIndexPath:) - onClass:self.swizzleClass - named:self.name]; - self.running = false; - } -} - -#pragma mark -- Helper Methods - -- (UITableView *)parentTableView:(UIView *)cell { - // iterate up the view hierarchy to find the table containing this cell/view - UIView *aView = cell.superview; - while (aView != nil) { - if ([aView isKindOfClass:[UITableView class]]) { - return (UITableView *)aView; - } - aView = aView.superview; - } - return nil; // this view is not within a tableView -} - -@end diff --git a/Mixpanel/Mixpanel/MPValueTransformers.h b/Mixpanel/Mixpanel/MPValueTransformers.h deleted file mode 100644 index 336e27e4..00000000 --- a/Mixpanel/Mixpanel/MPValueTransformers.h +++ /dev/null @@ -1,94 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@interface MPPassThroughValueTransformer : NSValueTransformer - -@end - -@interface MPBOOLToNSNumberValueTransformer : NSValueTransformer - -@end - -@interface MPCATransform3DToNSDictionaryValueTransformer : NSValueTransformer - -@end - -@interface MPCGAffineTransformToNSDictionaryValueTransformer : NSValueTransformer - -@end - -@interface MPCGColorRefToNSStringValueTransformer : NSValueTransformer - -@end - -@interface MPCGPointToNSDictionaryValueTransformer : NSValueTransformer - -@end - -@interface MPCGRectToNSDictionaryValueTransformer : NSValueTransformer - -@end - -@interface MPCGSizeToNSDictionaryValueTransformer : NSValueTransformer - -@end - -@interface MPNSAttributedStringToNSDictionaryValueTransformer : NSValueTransformer - -@end - -@interface MPUIColorToNSStringValueTransformer : NSValueTransformer - -@end - -@interface MPUIEdgeInsetsToNSDictionaryValueTransformer : NSValueTransformer - -@end - -@interface MPUIFontToNSDictionaryValueTransformer : NSValueTransformer - -@end - -@interface MPUIImageToNSDictionaryValueTransformer : NSValueTransformer - -@end - -@interface MPNSNumberToCGFloatValueTransformer : NSValueTransformer - -@end - -__unused static id transformValue(id value, NSString *toType) -{ - assert(value != nil); - - if ([value isKindOfClass:[NSClassFromString(toType) class]]) { - return [[NSValueTransformer valueTransformerForName:@"MPPassThroughValueTransformer"] transformedValue:value]; - } - - NSString *fromType = nil; - NSArray *validTypes = @[[NSString class], [NSNumber class], [NSDictionary class], [NSArray class], [NSNull class]]; - for (Class c in validTypes) { - if ([value isKindOfClass:c]) { - fromType = NSStringFromClass(c); - break; - } - } - - assert(fromType != nil); - NSValueTransformer *transformer = nil; - NSString *forwardTransformerName = [NSString stringWithFormat:@"MP%@To%@ValueTransformer", fromType, toType]; - transformer = [NSValueTransformer valueTransformerForName:forwardTransformerName]; - if (transformer) { - return [transformer transformedValue:value]; - } - - NSString *reverseTransformerName = [NSString stringWithFormat:@"MP%@To%@ValueTransformer", toType, fromType]; - transformer = [NSValueTransformer valueTransformerForName:reverseTransformerName]; - if (transformer && [[transformer class] allowsReverseTransformation]) { - return [transformer reverseTransformedValue:value]; - } - - return [[NSValueTransformer valueTransformerForName:@"MPPassThroughValueTransformer"] transformedValue:value]; -} diff --git a/Mixpanel/Mixpanel/MPVariant.h b/Mixpanel/Mixpanel/MPVariant.h deleted file mode 100644 index 889ea614..00000000 --- a/Mixpanel/Mixpanel/MPVariant.h +++ /dev/null @@ -1,81 +0,0 @@ -// -// MPVariant.h -// HelloMixpanel -// -// Created by Alex Hofsteede on 28/4/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import - -@interface MPVariant : NSObject - -@property (nonatomic) NSUInteger ID; -@property (nonatomic) NSUInteger experimentID; - -/*! - Whether this specific variant is currently running on the device. - - This property will not be restored on unarchive, as the variant will need - to be run again once the app is restarted. - */ -@property (nonatomic, readonly) BOOL running; - -/*! - Whether the variant should not run anymore. - - Variants are marked as finished when we no longer see them in a decide response. - They will continue running (ie their changes will be visible) until the next - time the app starts. -*/ -@property (nonatomic, readonly) BOOL finished; - -+ (MPVariant *)variantWithJSONObject:(NSDictionary *)object; - -- (void)addActionsFromJSONObject:(NSArray *)actions andExecute:(BOOL)exec; -- (void)addActionFromJSONObject:(NSDictionary *)object andExecute:(BOOL)exec; -- (void)addTweaksFromJSONObject:(NSArray *)tweaks andExecute:(BOOL)exec; -- (void)addTweakFromJSONObject:(NSDictionary *)object andExecute:(BOOL)exec; -- (void)removeActionWithName:(NSString *)name; - -/*! - Executes the variant, including all of its actions and tweaks. - - This immediately applies the changes associated with this variant. - */ -- (void)execute; - -/*! - Stops the variant, including all of its actions and tweaks. - - This immediately applies the reverse of this variant. including - reversing all actions and tweaks to their original values. - */ -- (void)stop; - -/*! - Sets the finished flag on this variant, does not take any actions. - - The finished flag marks this variant as one that should not be run - anymore the next time the app opens, but we leave it running so that - the UI doesn't change during the user session. - */ -- (void)finish; - -/*! - Unsets the finished flag on this variant, does not take any actions. - - If the finished flag is unset, the variant will continue to run the - next time the app starts. - */ -- (void)restart; - -@end - -@interface MPVariantAction : NSObject - -@end - -@interface MPVariantTweak : NSObject - -@end diff --git a/Mixpanel/Mixpanel/MPVariant.m b/Mixpanel/Mixpanel/MPVariant.m deleted file mode 100644 index 9d0d906e..00000000 --- a/Mixpanel/Mixpanel/MPVariant.m +++ /dev/null @@ -1,748 +0,0 @@ -// -// MPVariant.m -// HelloMixpanel -// -// Created by Alex Hofsteede on 28/4/14. -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -#import "MixpanelPrivate.h" -#import "MPLogger.h" -#import "MPObjectSelector.h" -#import "MPSwizzler.h" -#import "MPTweak.h" -#import "MPTweakStore.h" -#import "MPValueTransformers.h" -#import "MPVariant.h" -#import "NSThread+MPHelpers.h" - -@interface MPVariant () - -@property (nonatomic, strong) NSMutableOrderedSet *actions; -@property (nonatomic, strong) NSMutableArray *tweaks; - -@end - -@interface MPVariantAction () - -@property (nonatomic, strong) NSString *name; - -@property (nonatomic, strong) MPObjectSelector *path; -@property (nonatomic, assign) SEL selector; -@property (nonatomic, strong) NSArray *args; -@property (nonatomic, strong) NSArray *original; -@property (nonatomic, assign) BOOL cacheOriginal; - -@property (nonatomic, assign) BOOL swizzle; -@property (nonatomic, assign) Class swizzleClass; -@property (nonatomic, assign) SEL swizzleSelector; - -@property (nonatomic, copy) NSHashTable *appliedTo; - -+ (MPVariantAction *)actionWithJSONObject:(NSDictionary *)object; -- (instancetype)initWithName:(NSString *)name - path:(MPObjectSelector *)path - selector:(SEL)selector - args:(NSArray *)args - cacheOriginal:(BOOL)cacheOriginal - original:(NSArray *)original - swizzle:(BOOL)swizzle - swizzleClass:(Class)swizzleClass - swizzleSelector:(SEL)swizzleSelector; - -- (void)execute; -- (void)stop; - -@end - -#pragma mark - - -@interface MPVariantTweak () - -@property (nonatomic, strong) NSString *name; -@property (nonatomic, strong) NSString *encoding; -@property (nonatomic, strong) MPTweakValue value; - -+ (MPVariantTweak *)tweakWithJSONObject:(NSDictionary *)object; -- (instancetype)initWithName:(NSString *)name - encoding:(NSString *)encoding - value:(MPTweakValue)value; -- (void)execute; -- (void)stop; - -@end - -#pragma mark - - -@implementation MPVariant - -#pragma mark Constructing Variants - -+ (MPVariant *)variantWithJSONObject:(NSDictionary *)object { - - NSNumber *ID = object[@"id"]; - if (!([ID isKindOfClass:[NSNumber class]] && ID.integerValue > 0)) { - MPLogError(@"invalid variant id: %@", ID); - return nil; - } - - NSNumber *experimentID = object[@"experiment_id"]; - if (!([experimentID isKindOfClass:[NSNumber class]] && experimentID.integerValue > 0)) { - MPLogError(@"invalid experiment id: %@", experimentID); - return nil; - } - - NSArray *actions = object[@"actions"]; - if (![actions isKindOfClass:[NSArray class]]) { - MPLogError(@"variant requires an array of actions"); - return nil; - } - - NSArray *tweaks = object[@"tweaks"]; - if (![tweaks isKindOfClass:[NSArray class]]) { - MPLogError(@"variant requires an array of tweaks"); - return nil; - } - - return [[MPVariant alloc] initWithID:ID.unsignedIntegerValue - experimentID:experimentID.unsignedIntegerValue - actions:actions - tweaks:tweaks]; -} - -- (instancetype)init -{ - return [self initWithID:0 experimentID:0 actions:nil tweaks:nil]; -} - -- (instancetype)initWithID:(NSUInteger)ID experimentID:(NSUInteger)experimentID actions:(NSArray *)actions tweaks:(NSArray *)tweaks -{ - if (self = [super init]) { - self.ID = ID; - self.experimentID = experimentID; - self.actions = [NSMutableOrderedSet orderedSet]; - self.tweaks = [NSMutableArray array]; - [self addTweaksFromJSONObject:tweaks andExecute:NO]; - [self addActionsFromJSONObject:actions andExecute:NO]; - _finished = NO; - _running = NO; - } - return self; -} - -#pragma mark NSCoding - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - if (self = [super init]) { - self.ID = [(NSNumber *)[aDecoder decodeObjectForKey:@"ID"] unsignedLongValue]; - self.experimentID = [(NSNumber *)[aDecoder decodeObjectForKey:@"experimentID"] unsignedLongValue]; - self.actions = [aDecoder decodeObjectForKey:@"actions"]; - self.tweaks = [aDecoder decodeObjectForKey:@"tweaks"]; - _finished = [(NSNumber *)[aDecoder decodeObjectForKey:@"finished"] boolValue]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:@(_ID) forKey:@"ID"]; - [aCoder encodeObject:@(_experimentID) forKey:@"experimentID"]; - [aCoder encodeObject:_actions forKey:@"actions"]; - [aCoder encodeObject:_tweaks forKey:@"tweaks"]; - [aCoder encodeObject:@(_finished) forKey:@"finished"]; -} - -#pragma mark Actions - -- (void)addActionsFromJSONObject:(NSArray *)actions andExecute:(BOOL)exec -{ - for (NSDictionary *object in actions) { - [self addActionFromJSONObject:object andExecute:exec]; - } -} - -- (void)addActionFromJSONObject:(NSDictionary *)object andExecute:(BOOL)exec -{ - MPVariantAction *action = [MPVariantAction actionWithJSONObject:object]; - if (action) { - // Remove any action already in use for this name - [self.actions removeObject:action]; - [self.actions addObject:action]; - if (exec) { - [action execute]; - } - } -} - -- (void)removeActionWithName:(NSString *)name -{ - for (MPVariantAction *action in self.actions) { - if ([action.name isEqualToString:name]) { - [action stop]; - [self.actions removeObject:action]; - break; - } - } -} - -#pragma mark Tweaks - -- (void)addTweaksFromJSONObject:(NSArray *)tweaks andExecute:(BOOL)exec -{ - for (NSDictionary *object in tweaks) { - [self addTweakFromJSONObject:object andExecute:exec]; - } -} - -- (void)addTweakFromJSONObject:(NSDictionary *)object andExecute:(BOOL)exec -{ - MPVariantTweak *tweak = [MPVariantTweak tweakWithJSONObject:object]; - if (tweak) { - [self.tweaks addObject:tweak]; - if (exec) { - [tweak execute]; - } - } -} - -#pragma mark Execution - -- (void)execute { - if (!self.running && !self.finished) { - for (MPVariantTweak *tweak in self.tweaks) { - [tweak execute]; - } - for (MPVariantAction *action in self.actions) { - [action execute]; - } - _running = YES; - } -} - -- (void)stop { - for (MPVariantAction *action in self.actions) { - [action stop]; - } - for (MPVariantTweak *tweak in self.tweaks) { - [tweak stop]; - } - _running = NO; -} - -- (void)finish { - [self stop]; - _finished = YES; -} - -- (void)restart { - _finished = NO; -} - -#pragma mark Equality - -- (BOOL)isEqualToVariant:(MPVariant *)variant { - return self.ID == variant.ID && [self.actions isEqual:variant.actions] && [self.tweaks isEqual:variant.tweaks]; -} - -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - - if (![object isKindOfClass:[MPVariant class]]) { - return NO; - } - - return [self isEqualToVariant:(MPVariant *)object]; -} - -- (NSUInteger)hash { - return self.ID; -} - -@end - -#pragma mark - - -@implementation MPVariantAction - -/* - A map of setter selectors to getters. If we have an action that attempts - to call the setter, we first cache the value returned from the getter - */ -static NSMapTable *gettersForSetters; -/* - A map of UIViews to UIImages. The UIImage is the original image for each - view before this VariantAction changed it, so we can quickly switch back - to it if we need to stop this action. We cache the original for every - view we apply to, as they may all have different original images. The view - is weakly held, so if the view is deallocated for any reason, it will disappear - from this map along with the cached original image for it. -*/ -static NSMapTable *originalCache; - -+ (void)load -{ - gettersForSetters = [[NSMapTable alloc] initWithKeyOptions:(NSPointerFunctionsOpaqueMemory|NSPointerFunctionsOpaquePersonality) valueOptions:(NSPointerFunctionsOpaqueMemory|NSPointerFunctionsOpaquePersonality) capacity:2]; - [gettersForSetters setObject:MAPTABLE_ID(NSSelectorFromString(@"imageForState:")) forKey:MAPTABLE_ID(NSSelectorFromString(@"setImage:forState:"))]; - [gettersForSetters setObject:MAPTABLE_ID(NSSelectorFromString(@"image")) forKey:MAPTABLE_ID(NSSelectorFromString(@"setImage:"))]; - [gettersForSetters setObject:MAPTABLE_ID(NSSelectorFromString(@"backgroundImageForState:")) forKey:MAPTABLE_ID(NSSelectorFromString(@"setBackgroundImage:forState:"))]; - - originalCache = [NSMapTable mapTableWithKeyOptions:(NSMapTableWeakMemory|NSMapTableObjectPointerPersonality) - valueOptions:(NSMapTableStrongMemory|NSMapTableObjectPointerPersonality)]; -} - -+ (MPVariantAction *)actionWithJSONObject:(NSDictionary *)object -{ - // Required parameters - MPObjectSelector *path = [MPObjectSelector objectSelectorWithString:object[@"path"]]; - if (!path) { - MPLogError(@"invalid action path: %@", object[@"path"]); - return nil; - } - - SEL selector = NSSelectorFromString(object[@"selector"]); - if (selector == (SEL)0) { - MPLogError(@"invalid action selector: %@", object[@"selector"]); - return nil; - } - - NSArray *args = object[@"args"]; - if (![args isKindOfClass:[NSArray class]]) { - MPLogError(@"invalid action arguments: %@", args); - return nil; - } - - // Optional parameters - BOOL cacheOriginal = !object[@"cacheOriginal"] || [object[@"swizzle"] boolValue]; - NSArray *original = [object[@"original"] isKindOfClass:[NSArray class]] ? object[@"original"] : nil; - NSString *name = object[@"name"]; - BOOL swizzle = !object[@"swizzle"] || [object[@"swizzle"] boolValue]; - Class swizzleClass = NSClassFromString(object[@"swizzleClass"]); - SEL swizzleSelector = NSSelectorFromString(object[@"swizzleSelector"]); - - return [[MPVariantAction alloc] initWithName:name - path:path - selector:selector - args:args - cacheOriginal:cacheOriginal - original:original - swizzle:swizzle - swizzleClass:swizzleClass - swizzleSelector:swizzleSelector]; -} - -- (instancetype)init -{ - [NSException raise:@"NotSupported" format:@"Please call initWithName: path: selector: args: original: swizzle: swizzleClass: swizzleSelector:"]; - return nil; -} - -- (instancetype)initWithName:(NSString *)name - path:(MPObjectSelector *)path - selector:(SEL)selector - args:(NSArray *)args - cacheOriginal:(BOOL)cacheOriginal - original:(NSArray *)original - swizzle:(BOOL)swizzle - swizzleClass:(Class)swizzleClass - swizzleSelector:(SEL)swizzleSelector -{ - if ((self = [super init])) { - self.path = path; - self.selector = selector; - self.args = args; - self.original = original; - self.swizzle = swizzle; - self.cacheOriginal = cacheOriginal; - - if (!name) { - name = [NSUUID UUID].UUIDString; - } - self.name = name; - - if (!swizzleClass) { - swizzleClass = [path selectedClass]; - } - if (!swizzleClass) { - swizzleClass = [UIView class]; - } - self.swizzleClass = swizzleClass; - - if (!swizzleSelector) { - BOOL shouldUseLayoutSubviews = NO; - NSArray *classesToUseLayoutSubviews = @[[UITableViewCell class], [UINavigationBar class]]; - for (Class klass in classesToUseLayoutSubviews) { - if ([self.swizzleClass isSubclassOfClass:klass] || - [self.path pathContainsObjectOfClass:klass]) { - shouldUseLayoutSubviews = YES; - break; - } - } - if (shouldUseLayoutSubviews) { - swizzleSelector = NSSelectorFromString(@"layoutSubviews"); - } else { - swizzleSelector = NSSelectorFromString(@"didMoveToWindow"); - } - } - self.swizzleSelector = swizzleSelector; - - self.appliedTo = [NSHashTable hashTableWithOptions:(NSHashTableWeakMemory|NSHashTableObjectPointerPersonality)]; - } - return self; -} - -#pragma mark NSCoding - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - if (self = [super init]) { - self.name = [aDecoder decodeObjectForKey:@"name"]; - - self.path = [MPObjectSelector objectSelectorWithString:[aDecoder decodeObjectForKey:@"path"]]; - self.selector = NSSelectorFromString([aDecoder decodeObjectForKey:@"selector"]); - self.args = [aDecoder decodeObjectForKey:@"args"]; - self.original = [aDecoder decodeObjectForKey:@"original"]; - - self.swizzle = [(NSNumber *)[aDecoder decodeObjectForKey:@"swizzle"] boolValue]; - self.swizzleClass = NSClassFromString([aDecoder decodeObjectForKey:@"swizzleClass"]); - self.swizzleSelector = NSSelectorFromString([aDecoder decodeObjectForKey:@"swizzleSelector"]); - - self.appliedTo = [NSHashTable hashTableWithOptions:(NSHashTableWeakMemory|NSHashTableObjectPointerPersonality)]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder { - [aCoder encodeObject:_name forKey:@"name"]; - - [aCoder encodeObject:_path.string forKey:@"path"]; - [aCoder encodeObject:NSStringFromSelector(_selector) forKey:@"selector"]; - [aCoder encodeObject:_args forKey:@"args"]; - [aCoder encodeObject:_original forKey:@"original"]; - - [aCoder encodeObject:@(_swizzle) forKey:@"swizzle"]; - [aCoder encodeObject:NSStringFromClass(_swizzleClass) forKey:@"swizzleClass"]; - [aCoder encodeObject:NSStringFromSelector(_swizzleSelector) forKey:@"swizzleSelector"]; -} - -#pragma mark Executing Actions - -- (void)execute { - // Block to execute on swizzle - void (^executeBlock)(id, SEL) = ^(id view, SEL command) { - [NSThread mp_safelyRunOnMainThreadSync:^{ - if (self.cacheOriginal) { - [self cacheOriginalImage:view]; - } - - NSArray *invocations = [[self class] executeSelector:self.selector - withArgs:self.args - onPath:self.path - fromRoot:[Mixpanel sharedUIApplication].keyWindow.rootViewController - toLeaf:view]; - - for (NSInvocation *invocation in invocations) { - [self.appliedTo addObject:invocation.target]; - } - }]; - }; - - // Execute once in case the view to be changed is already on screen. - executeBlock(nil, _cmd); - - if (self.swizzle && self.swizzleClass != nil) { - // Swizzle the method needed to check for this object coming onscreen - [MPSwizzler swizzleSelector:self.swizzleSelector - onClass:self.swizzleClass - withBlock:executeBlock - named:self.name]; - } -} - -- (void)stop { - if (self.swizzle && self.swizzleClass != nil) { - // Stop this change from applying in future - [MPSwizzler unswizzleSelector:self.swizzleSelector - onClass:self.swizzleClass - named:self.name]; - } - - [NSThread mp_safelyRunOnMainThreadSync:^{ - if (self.original) { - // Undo the changes with the original values specified in the action - [[self class] executeSelector:self.selector withArgs:self.original onObjects:self.appliedTo.allObjects]; - } else if (self.cacheOriginal) { - // Or undo them from the local cache of original images - [self restoreCachedImage]; - } - - [self.appliedTo removeAllObjects]; - }]; -} - -- (void)cacheOriginalImage:(id)view -{ - NSEnumerator *selectorEnum = [gettersForSetters keyEnumerator]; - SEL selector = nil, cacheSelector = nil; - while ((selector = (SEL)((__bridge void *)[selectorEnum nextObject]))) { - if (selector == self.selector) { - cacheSelector = (SEL)(__bridge void *)[gettersForSetters objectForKey:MAPTABLE_ID(selector)]; - break; - } - } - if (cacheSelector) { - NSArray *cacheInvocations = [[self class] executeSelector:cacheSelector - withArgs:self.args - onPath:self.path - fromRoot:[Mixpanel sharedUIApplication].keyWindow.rootViewController - toLeaf:view]; - for (NSInvocation *invocation in cacheInvocations) { - if (![originalCache objectForKey:invocation.target]) { - // Retrieve the image through a void* and then - // __bridge cast to force a retain. If we populated - // originalImage directly from getReturnValue, it would - // not be correctly retained. - void *result; - [invocation getReturnValue:&result]; - UIImage *originalImage = (__bridge UIImage *)result; - [originalCache setObject:originalImage forKey:invocation.target]; - } - } - } -} - -- (void)restoreCachedImage -{ - for (NSObject *o in self.appliedTo.allObjects) { - id originalImage = [originalCache objectForKey:o]; - if (originalImage) { - NSMutableArray *originalArgs = [self.args mutableCopy]; - for (NSUInteger i = 0, n = originalArgs.count; i < n; i++) { - id originalArg = originalArgs[i]; - if ([originalArg isKindOfClass:[NSArray class]] && [originalArg[1] isEqual:@"UIImage"]) { - originalArgs[i] = @[originalImage, @"UIImage"]; - break; - } - } - [[self class] executeSelector:self.selector withArgs:originalArgs onObjects:@[o]]; - [originalCache removeObjectForKey:o]; - } - } -} - - -- (NSString *)description { - return [NSString stringWithFormat:@"Action: Change %@ on %@ matching %@ from %@ to %@", NSStringFromSelector(self.selector), NSStringFromClass(self.class), self.path.string, self.original ?: (self.cacheOriginal ? @"Cached Original" : nil), self.args]; -} - -+ (NSArray *)executeSelector:(SEL)selector withArgs:(NSArray *)args onPath:(MPObjectSelector *)path fromRoot:(NSObject *)root toLeaf:(NSObject *)leaf -{ - if (leaf) { - if ([path isLeafSelected:leaf fromRoot:root]) { - return [self executeSelector:selector withArgs:args onObjects:@[leaf]]; - } else { - return @[]; - } - } else { - return [self executeSelector:selector withArgs:args onObjects:[path selectFromRoot:root]]; - } -} - -+ (NSArray *)executeSelector:(SEL)selector withArgs:(NSArray *)args onObjects:(NSArray *)objects -{ - NSMutableArray *invocations = [NSMutableArray array]; - for (NSObject *o in objects) { - NSMethodSignature *signature = [o methodSignatureForSelector:selector]; - if (signature != nil) { - NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature]; - [invocation retainArguments]; - NSUInteger requiredArgs = signature.numberOfArguments - 2; - if (args.count >= requiredArgs) { - [invocation setSelector:selector]; - for (NSUInteger i = 0; i < requiredArgs; i++) { - NSArray *argTuple = args[i]; - // Ensure we only send strings to the transform method - if (![argTuple[1] isKindOfClass:[NSString class]]) continue; - - id arg = transformValue(argTuple[0], argTuple[1]); - - // Unpack NSValues to their base types. - if ([arg isKindOfClass:[NSValue class]]) { - const char *ctype = [(NSValue *)arg objCType]; - NSUInteger size; - NSGetSizeAndAlignment(ctype, &size, nil); - void *buf = malloc(size); - [(NSValue *)arg getValue:buf]; - [invocation setArgument:buf atIndex:(int)(i+2)]; - free(buf); - } else { - [invocation setArgument:(void *)&arg atIndex:(int)(i+2)]; - } - } - @try { - // This check is done to avoid moving and resizing UI components that you are not allowed to change. - if ([NSStringFromSelector(selector) isEqualToString:@"setFrame:"] && ![o isKindOfClass:[UINavigationBar class]]) { - ((UIView *)o).translatesAutoresizingMaskIntoConstraints = YES; - } - [invocation invokeWithTarget:o]; - } - @catch (NSException *exception) { - MPLogError(@"Exception during invocation: %@", exception); - } - [invocations addObject:invocation]; - } else { - MPLogError(@"Not enough args"); - } - } else { - MPLogError(@"No method found for %@", NSStringFromSelector(selector)); - } - } - return [invocations copy]; -} - - -#pragma mark Equality - -- (BOOL)isEqualToAction:(MPVariantAction *)action -{ - return [self.name isEqualToString:action.name]; -} - -- (BOOL)isEqual:(id)object -{ - if (self == object) { - return YES; - } - if (![object isKindOfClass:[MPVariantAction class]]) { - return NO; - } - return [self isEqualToAction:(MPVariantAction *)object]; -} - -- (NSUInteger)hash -{ - return [self.name hash]; -} - -@end - -#pragma mark - - -@implementation MPVariantTweak - -+ (MPVariantTweak *)tweakWithJSONObject:(NSDictionary *)object -{ - // Required parameters - NSString *name = object[@"name"]; - if (![name isKindOfClass:[NSString class]]) { - MPLogError(@"invalid name: %@", name); - return nil; - } - - NSString *encoding = object[@"encoding"]; - if (![encoding isKindOfClass:[NSString class]]) { - MPLogError(@"invalid encoding: %@", encoding); - return nil; - } - - MPTweakValue value = object[@"value"]; - if (value == nil) { - MPLogError(@"invalid value: %@", value); - return nil; - } - - return [[MPVariantTweak alloc] initWithName:name - encoding:encoding - value:value]; -} - -- (instancetype)init -{ - [NSException raise:@"NotSupported" format:@"Please call initWithName:name encoding:encoding value:value"]; - return nil; - -} - -- (instancetype)initWithName:(NSString *)name - encoding:(NSString *)encoding - value:(MPTweakValue)value -{ - if ((self = [super init])) { - self.name = name; - self.encoding = encoding; - self.value = value; - } - return self; -} - -#pragma mark NSCoding - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - if (self = [super init]) { - self.name = [aDecoder decodeObjectForKey:@"name"]; - self.encoding = [aDecoder decodeObjectForKey:@"encoding"]; - self.value = [aDecoder decodeObjectForKey:@"value"]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.name forKey:@"name"]; - [aCoder encodeObject:self.encoding forKey:@"encoding"]; - [aCoder encodeObject:self.value forKey:@"value"]; -} - -#pragma mark Executing Actions - -- (void)execute -{ - MPTweak *mpTweak = [[MPTweakStore sharedInstance] tweakWithName:self.name]; - if (mpTweak) { - //TODO, this may change, but for now sending an NSNull will revert the MPTweak back to its default. - if ([self.value isKindOfClass:[NSNull class]]) { - mpTweak.currentValue = mpTweak.defaultValue; - } else { - mpTweak.currentValue = self.value; - } - } -} - -- (void)stop -{ - MPTweak *mpTweak = [[MPTweakStore sharedInstance] tweakWithName:self.name]; - if (mpTweak) { - mpTweak.currentValue = mpTweak.defaultValue; - } -} - -- (NSString *)description { - return [NSString stringWithFormat:@"Tweak: %@ = %@", self.name, self.value]; -} - -#pragma mark Equality - -- (BOOL)isEqualToTweak:(MPVariantTweak *)tweak { - return [self.name isEqualToString:tweak.name] && [self.value isEqual:tweak.value]; -} - -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - - if (![object isKindOfClass:[MPVariantTweak class]]) { - return NO; - } - - return [self isEqualToTweak:(MPVariantTweak *)object]; -} - -- (NSUInteger)hash { - return self.name.hash; -} - -@end diff --git a/Mixpanel/Mixpanel/MPWebSocket.h b/Mixpanel/Mixpanel/MPWebSocket.h deleted file mode 100644 index abd2170c..00000000 --- a/Mixpanel/Mixpanel/MPWebSocket.h +++ /dev/null @@ -1,117 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. -// - -// Portions Copyright 2012 Square Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT 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 -#import - -typedef NS_ENUM(unsigned int, MPWebSocketReadyState) { - MPWebSocketStateConnecting = 0, - MPWebSocketStateOpen = 1, - MPWebSocketStateClosing = 2, - MPWebSocketStateClosed = 3, -}; - -@class MPWebSocket; - -extern NSString *const MPWebSocketErrorDomain; - -#pragma mark - MPWebSocketDelegate - -@protocol MPWebSocketDelegate; - -#pragma mark - MPWebSocket - -@interface MPWebSocket : NSObject - -@property (nonatomic, assign) id delegate; - -@property (nonatomic, readonly) MPWebSocketReadyState readyState; -@property (nonatomic, readonly, retain) NSURL *url; - -// This returns the negotiated protocol. -// It will be nil until after the handshake completes. -@property (nonatomic, readonly, copy) NSString *protocol; - -// Protocols should be an array of strings that turn into Sec-WebSocket-Protocol. -- (instancetype)initWithURLRequest:(NSURLRequest *)request protocols:(NSArray *)protocols; -- (instancetype)initWithURLRequest:(NSURLRequest *)request; - -// Some helper constructors. -- (instancetype)initWithURL:(NSURL *)url protocols:(NSArray *)protocols; -- (instancetype)initWithURL:(NSURL *)url; - -// Delegate queue will be dispatch_main_queue by default. -// You cannot set both OperationQueue and dispatch_queue. -- (void)setDelegateOperationQueue:(NSOperationQueue*) queue; -- (void)setDelegateDispatchQueue:(dispatch_queue_t) queue; - -// By default, it will schedule itself on +[NSRunLoop mp_networkRunLoop] using defaultModes. -- (void)scheduleInRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode; -- (void)unscheduleFromRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode; - -// MPWebSockets are intended for one-time-use only. Open should be called once and only once. -- (void)open; - -- (void)close; -- (void)closeWithCode:(NSInteger)code reason:(NSString *)reason; - -// Send a UTF8 String or Data. -- (void)send:(id)data; - -@end - -#pragma mark - MPWebSocketDelegate - -@protocol MPWebSocketDelegate - -// message will either be an NSString if the server is using text -// or NSData if the server is using binary. -- (void)webSocket:(MPWebSocket *)webSocket didReceiveMessage:(id)message; - -@optional - -- (void)webSocketDidOpen:(MPWebSocket *)webSocket; -- (void)webSocket:(MPWebSocket *)webSocket didFailWithError:(NSError *)error; -- (void)webSocket:(MPWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean; - -@end - -#pragma mark - NSURLRequest (MPCertificateAdditions) - -@interface NSURLRequest (MPCertificateAdditions) - -@property (nonatomic, retain, readonly) NSArray *mp_SSLPinnedCertificates; - -@end - -#pragma mark - NSMutableURLRequest (MPCertificateAdditions) - -@interface NSMutableURLRequest (MPCertificateAdditions) - -@property (nonatomic, retain) NSArray *mp_SSLPinnedCertificates; - -@end - -#pragma mark - NSRunLoop (SRWebSocket) - -@interface NSRunLoop (MPWebSocket) - -+ (NSRunLoop *)mp_networkRunLoop; - -@end diff --git a/Mixpanel/Mixpanel/MPWebSocket.m b/Mixpanel/Mixpanel/MPWebSocket.m deleted file mode 100644 index 5fd0222d..00000000 --- a/Mixpanel/Mixpanel/MPWebSocket.m +++ /dev/null @@ -1,1782 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -// -// Portions Copyright 2012 Square Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT 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 "MPWebSocket.h" - -#if TARGET_OS_IPHONE -#define HAS_ICU -#endif - -#ifdef HAS_ICU - -#import - -#endif - -#if TARGET_OS_IPHONE - -#import - -#else - -#import - -#endif - -#import -#import -#import "MPLogger.h" - -#if OS_OBJECT_USE_OBJC_RETAIN_RELEASE -#define mp_dispatch_retain(x) -#define mp_dispatch_release(x) -#define maybe_bridge(x) ((__bridge void *) x) -#else -#define mp_dispatch_retain(x) dispatch_retain(x) -#define mp_dispatch_release(x) dispatch_release(x) -#define maybe_bridge(x) (x) -#endif - -typedef NS_OPTIONS(unsigned int, MPOpCode) { - MPOpCodeTextFrame = 0x1, - MPOpCodeBinaryFrame = 0x2, - // 3-7 reserved. - MPOpCodeConnectionClose = 0x8, - MPOpCodePing = 0x9, - MPOpCodePong = 0xA, - // B-F reserved. -}; - -typedef NS_ENUM(unsigned int, MPStatusCode) { - MPStatusCodeNormal = 1000, - MPStatusCodeGoingAway = 1001, - MPStatusCodeProtocolError = 1002, - MPStatusCodeUnhandledType = 1003, - // 1004 reserved. - MPStatusNoStatusReceived = 1005, - // 1004-1006 reserved. - MPStatusCodeInvalidUTF8 = 1007, - MPStatusCodePolicyViolated = 1008, - MPStatusCodeMessageTooBig = 1009, -}; - -typedef struct { - BOOL fin; -// BOOL rsv1; -// BOOL rsv2; -// BOOL rsv3; - uint8_t opcode; - BOOL masked; - uint64_t payload_length; -} frame_header; - -static NSString *const MPWebSocketAppendToSecKeyString = @"258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; - -static inline int32_t validate_dispatch_data_partial_string(NSData *data); - -@interface NSData (MPWebSocket) - -- (NSString *)stringBySHA1ThenBase64Encoding; - -@end - - -@interface NSString (MPWebSocket) - -- (NSString *)stringBySHA1ThenBase64Encoding; - -@end - - -@interface NSURL (MPWebSocket) - -// The origin isn't really applicable for a native application. -// So instead, just map ws -> http and wss -> https. -- (NSString *)mp_origin; - -@end - - -@interface _MPRunLoopThread : NSThread - -@property (nonatomic, readonly) NSRunLoop *runLoop; - -@end - - -static NSData *newSHA1(const char *bytes, size_t length) { - uint8_t md[CC_SHA1_DIGEST_LENGTH]; - - CC_SHA1(bytes, (uint)length, md); - - return [NSData dataWithBytes:md length:CC_SHA1_DIGEST_LENGTH]; -} - -@implementation NSData (MPWebSocket) - -- (NSString *)stringBySHA1ThenBase64Encoding -{ - return [newSHA1(self.bytes, self.length) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; -} - -@end - - -@implementation NSString (MPWebSocket) - -- (NSString *)stringBySHA1ThenBase64Encoding -{ - return [newSHA1(self.UTF8String, self.length) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; -} - -@end - -NSString *const MPWebSocketErrorDomain = @"com.mixpanel.error.WebSocket"; - -// Returns number of bytes consumed. Returning 0 means you didn't match. -// Sends bytes to callback handler; -typedef size_t (^stream_scanner)(NSData *collected_data); - -typedef void (^data_callback)(MPWebSocket *webSocket, NSData *data); - -@interface MPIOConsumer : NSObject { - stream_scanner _scanner; - data_callback _handler; - size_t _bytesNeeded; - BOOL _readToCurrentFrame; - BOOL _unmaskBytes; -} -@property (nonatomic, copy, readonly) stream_scanner consumer; -@property (nonatomic, copy, readonly) data_callback handler; -@property (nonatomic, assign) size_t bytesNeeded; -@property (nonatomic, assign, readonly) BOOL readToCurrentFrame; -@property (nonatomic, assign, readonly) BOOL unmaskBytes; - -@end - -// This class is not thread-safe, and is expected to always be run on the same queue. -@interface MPIOConsumerPool : NSObject - -- (instancetype)initWithBufferCapacity:(NSUInteger)poolSize; - -- (MPIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes; -- (void)returnConsumer:(MPIOConsumer *)consumer; - -@end - -@interface MPWebSocket () - -- (void)_writeData:(NSData *)data; -- (void)_closeWithProtocolError:(NSString *)message; -- (void)_failWithError:(NSError *)error; - -- (void)_disconnect; - -- (void)_readFrameNew; -- (void)_readFrameContinue; - -- (void)_pumpScanner; - -- (void)_pumpWriting; - -- (void)_addConsumerWithScanner:(stream_scanner)consumer callback:(data_callback)callback; -- (void)_addConsumerWithDataLength:(size_t)dataLength callback:(data_callback)callback readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes; -- (void)_addConsumerWithScanner:(stream_scanner)consumer callback:(data_callback)callback dataLength:(size_t)dataLength; -- (void)_readUntilBytes:(const void *)bytes length:(size_t)length callback:(data_callback)dataHandler; -- (void)_readUntilHeaderCompleteWithCallback:(data_callback)dataHandler; - -- (void)_sendFrameWithOpcode:(MPOpCode)opcode data:(id)data; - -- (BOOL)_checkHandshake:(CFHTTPMessageRef)httpMessage; -- (void)_MP_commonInit; - -- (void)_initializeStreams; -- (void)_connect; - -@property (nonatomic) MPWebSocketReadyState readyState; - -@property (nonatomic) NSOperationQueue *delegateOperationQueue; -@property (nonatomic) dispatch_queue_t delegateDispatchQueue; - -@end - - -@implementation MPWebSocket { - NSInteger _webSocketVersion; - - NSOperationQueue *_delegateOperationQueue; - dispatch_queue_t _delegateDispatchQueue; - - dispatch_queue_t _workQueue; - NSMutableArray *_consumers; - - NSInputStream *_inputStream; - NSOutputStream *_outputStream; - - NSMutableData *_readBuffer; - NSUInteger _readBufferOffset; - - NSMutableData *_outputBuffer; - NSUInteger _outputBufferOffset; - - uint8_t _currentFrameOpcode; - size_t _currentFrameCount; - size_t _readOpCount; - uint32_t _currentStringScanPosition; - NSMutableData *_currentFrameData; - - NSString *_closeReason; - - NSString *_secKey; - - BOOL _pinnedCertFound; - - uint8_t _currentReadMaskKey[4]; - size_t _currentReadMaskOffset; - - BOOL _consumerStopped; - - BOOL _closeWhenFinishedWriting; - BOOL _failed; - - BOOL _secure; - NSURLRequest *_urlRequest; - - CFHTTPMessageRef _receivedHTTPHeaders; - - BOOL _sentClose; - BOOL _didFail; - BOOL _cleanupScheduled; - int _closeCode; - - BOOL _isPumping; - - NSMutableSet *_scheduledRunloops; - - // We use this to retain ourselves. - __strong MPWebSocket *_selfRetain; - - NSArray *_requestedProtocols; - MPIOConsumerPool *_consumerPool; -} - -@synthesize delegate = _delegate; -@synthesize url = _url; -@synthesize readyState = _readyState; -@synthesize protocol = _protocol; - -static __strong NSData *CRLFCRLF; - -+ (void)initialize -{ - CRLFCRLF = [[NSData alloc] initWithBytes:"\r\n\r\n" length:4]; -} - -- (instancetype)initWithURLRequest:(NSURLRequest *)request protocols:(NSArray *)protocols -{ - self = [super init]; - if (self) { - assert(request.URL); - _url = request.URL; - _urlRequest = request; - - _requestedProtocols = [protocols copy]; - - [self _MP_commonInit]; - } - - return self; -} - -- (instancetype)initWithURLRequest:(NSURLRequest *)request -{ - return [self initWithURLRequest:request protocols:nil]; -} - -- (instancetype)initWithURL:(NSURL *)url -{ - return [self initWithURL:url protocols:nil]; -} - -- (instancetype)initWithURL:(NSURL *)url protocols:(NSArray *)protocols -{ - NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; - return [self initWithURLRequest:request protocols:protocols]; -} - -- (void)_MP_commonInit -{ - - NSString *scheme = _url.scheme.lowercaseString; - assert([scheme isEqualToString:@"ws"] || [scheme isEqualToString:@"http"] || [scheme isEqualToString:@"wss"] || [scheme isEqualToString:@"https"]); - - if ([scheme isEqualToString:@"wss"] || [scheme isEqualToString:@"https"]) { - _secure = YES; - } - - _readyState = MPWebSocketStateConnecting; - _consumerStopped = YES; - _webSocketVersion = 13; - - _workQueue = dispatch_queue_create(NULL, DISPATCH_QUEUE_SERIAL); - - // Going to set a specific on the queue so we can validate we're on the work queue - dispatch_queue_set_specific(_workQueue, (__bridge void *)self, maybe_bridge(_workQueue), NULL); - - _delegateDispatchQueue = dispatch_get_main_queue(); - mp_dispatch_retain(_delegateDispatchQueue); - - _readBuffer = [[NSMutableData alloc] init]; - _outputBuffer = [[NSMutableData alloc] init]; - - _currentFrameData = [[NSMutableData alloc] init]; - - _consumers = [NSMutableArray array]; - - _consumerPool = [[MPIOConsumerPool alloc] init]; - - _scheduledRunloops = [NSMutableSet set]; - - [self _initializeStreams]; - - // default handlers -} - -- (void)assertOnWorkQueue -{ - assert(dispatch_get_specific((__bridge void *)self) == maybe_bridge(_workQueue)); -} - -- (void)dealloc -{ - _inputStream.delegate = nil; - _outputStream.delegate = nil; - - [_inputStream close]; - [_outputStream close]; - - if (_workQueue) { - mp_dispatch_release(_workQueue); - _workQueue = NULL; - } - - if (_receivedHTTPHeaders) { - CFRelease(_receivedHTTPHeaders); - _receivedHTTPHeaders = NULL; - } - - if (_delegateDispatchQueue) { - mp_dispatch_release(_delegateDispatchQueue); - _delegateDispatchQueue = NULL; - } -} - -#ifndef NDEBUG - -- (void)setReadyState:(MPWebSocketReadyState)aReadyState -{ - [self willChangeValueForKey:@"readyState"]; - assert(aReadyState > _readyState); - _readyState = aReadyState; - [self didChangeValueForKey:@"readyState"]; -} - -#endif - -- (void)open -{ - assert(_url); - NSAssert(_readyState == MPWebSocketStateConnecting, @"Cannot call -(void)open on MPWebSocket more than once"); - - _selfRetain = self; - - [self _connect]; -} - -// Calls block on delegate queue -- (void)_performDelegateBlock:(dispatch_block_t)block -{ - if (_delegateOperationQueue) { - [_delegateOperationQueue addOperationWithBlock:block]; - } else { - assert(_delegateDispatchQueue); - dispatch_async(_delegateDispatchQueue, block); - } -} - -- (void)setDelegateDispatchQueue:(dispatch_queue_t)queue -{ - if (queue) { - mp_dispatch_retain(queue); - } - - if (_delegateDispatchQueue) { - mp_dispatch_release(_delegateDispatchQueue); - } - - _delegateDispatchQueue = queue; -} - -- (BOOL)_checkHandshake:(CFHTTPMessageRef)httpMessage -{ - NSString *acceptHeader = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(httpMessage, CFSTR("Sec-WebSocket-Accept"))); - - if (acceptHeader == nil) { - return NO; - } - - NSString *concatenatedString = [_secKey stringByAppendingString:MPWebSocketAppendToSecKeyString]; - NSString *expectedAccept = [concatenatedString stringBySHA1ThenBase64Encoding]; - - return [acceptHeader isEqualToString:expectedAccept]; -} - -- (void)_HTTPHeadersDidFinish -{ - NSInteger responseCode = CFHTTPMessageGetResponseStatusCode(_receivedHTTPHeaders); - - if (responseCode >= 400) { - MPLogError(@"Request failed with response code %d", responseCode); - [self _failWithError:[NSError errorWithDomain:MPWebSocketErrorDomain code:2132 userInfo:@{NSLocalizedDescriptionKey: [NSString stringWithFormat:@"received bad response code from server %ld", (long)responseCode]}]]; - return; - - } - - if (![self _checkHandshake:_receivedHTTPHeaders]) { - [self _failWithError:[NSError errorWithDomain:MPWebSocketErrorDomain code:2133 userInfo:@{NSLocalizedDescriptionKey: [NSString stringWithFormat:@"Invalid Sec-WebSocket-Accept response"]}]]; - return; - } - - NSString *negotiatedProtocol = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(_receivedHTTPHeaders, CFSTR("Sec-WebSocket-Protocol"))); - if (negotiatedProtocol) { - // Make sure we requested the protocol - if ([_requestedProtocols indexOfObject:negotiatedProtocol] == NSNotFound) { - [self _failWithError:[NSError errorWithDomain:MPWebSocketErrorDomain code:2133 userInfo:@{NSLocalizedDescriptionKey: [NSString stringWithFormat:@"Server specified Sec-WebSocket-Protocol that wasn't requested"]}]]; - return; - } - - _protocol = negotiatedProtocol; - } - - self.readyState = MPWebSocketStateOpen; - - if (!_didFail) { - [self _readFrameNew]; - } - - [self _performDelegateBlock:^{ - if ([self.delegate respondsToSelector:@selector(webSocketDidOpen:)]) { - [self.delegate webSocketDidOpen:self]; - } - }]; -} - - -- (void)_readHTTPHeader -{ - if (_receivedHTTPHeaders == NULL) { - _receivedHTTPHeaders = CFHTTPMessageCreateEmpty(NULL, NO); - } - - [self _readUntilHeaderCompleteWithCallback:^(MPWebSocket *websocket, NSData *data) { - CFHTTPMessageAppendBytes(websocket->_receivedHTTPHeaders, (const UInt8 *)data.bytes, (CFIndex)data.length); - - if (CFHTTPMessageIsHeaderComplete(websocket->_receivedHTTPHeaders)) { - MPLogDebug(@"Finished reading headers %@", CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(websocket->_receivedHTTPHeaders))); - [websocket _HTTPHeadersDidFinish]; - } else { - [websocket _readHTTPHeader]; - } - }]; -} - -- (void)didConnect -{ - MPLogInfo(@"Connected"); - CFHTTPMessageRef request = CFHTTPMessageCreateRequest(NULL, CFSTR("GET"), (__bridge CFURLRef)_url, kCFHTTPVersion1_1); - - // Set host first so it defaults - CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Host"), (__bridge CFStringRef)(_url.port != nil ? [NSString stringWithFormat:@"%@:%@", _url.host, _url.port] : _url.host)); - - NSMutableData *keyBytes = [[NSMutableData alloc] initWithLength:16]; - int result = SecRandomCopyBytes(kSecRandomDefault, keyBytes.length, keyBytes.mutableBytes); - if (result != 0) { - MPLogError(@"Failed to generate random bytes with status: %d", result); - } - _secKey = [keyBytes base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; - assert(_secKey.length == 24); - - CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Upgrade"), CFSTR("websocket")); - CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Connection"), CFSTR("Upgrade")); - CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Key"), (__bridge CFStringRef)_secKey); - CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Version"), (__bridge CFStringRef)[NSString stringWithFormat:@"%ld", (long)_webSocketVersion]); - - CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Origin"), (__bridge CFStringRef)_url.mp_origin); - - if (_requestedProtocols) { - CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Protocol"), (__bridge CFStringRef)[_requestedProtocols componentsJoinedByString:@", "]); - } - - [_urlRequest.allHTTPHeaderFields enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { - CFHTTPMessageSetHeaderFieldValue(request, (__bridge CFStringRef)key, (__bridge CFStringRef)obj); - }]; - - NSData *message = CFBridgingRelease(CFHTTPMessageCopySerializedMessage(request)); - - CFRelease(request); - - [self _writeData:message]; - [self _readHTTPHeader]; -} - -- (void)_initializeStreams -{ - NSInteger port = _url.port.integerValue; - if (port == 0) { - if (!_secure) { - port = 80; - } else { - port = 443; - } - } - NSString *host = _url.host; - - CFReadStreamRef readStream = NULL; - CFWriteStreamRef writeStream = NULL; - - CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)host, (UInt32)port, &readStream, &writeStream); - - _outputStream = CFBridgingRelease(writeStream); - _inputStream = CFBridgingRelease(readStream); - - - if (_secure) { - NSMutableDictionary *SSLOptions = [NSMutableDictionary dictionary]; - - [_outputStream setProperty:(__bridge id)kCFStreamSocketSecurityLevelNegotiatedSSL forKey:(__bridge id)kCFStreamPropertySocketSecurityLevel]; - - // If we're using pinned certs, don't validate the certificate chain - if ([_urlRequest mp_SSLPinnedCertificates].count) { - [SSLOptions setValue:@NO forKey:(__bridge id)kCFStreamSSLValidatesCertificateChain]; - } - -#if DEBUG - [SSLOptions setValue:@NO forKey:(__bridge id)kCFStreamSSLValidatesCertificateChain]; - MPLogDebug(@"SocketRocket: In debug mode. Allowing connection to any root cert"); -#endif - - [_outputStream setProperty:SSLOptions - forKey:(__bridge id)kCFStreamPropertySSLSettings]; - } - - _inputStream.delegate = self; - _outputStream.delegate = self; -} - -- (void)_connect -{ - if (!_scheduledRunloops.count) { - [self scheduleInRunLoop:[NSRunLoop mp_networkRunLoop] forMode:NSDefaultRunLoopMode]; - } - - - [_outputStream open]; - [_inputStream open]; -} - -- (void)scheduleInRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode -{ - [_outputStream scheduleInRunLoop:aRunLoop forMode:mode]; - [_inputStream scheduleInRunLoop:aRunLoop forMode:mode]; - - [_scheduledRunloops addObject:@[aRunLoop, mode]]; -} - -- (void)unscheduleFromRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode -{ - [_outputStream removeFromRunLoop:aRunLoop forMode:mode]; - [_inputStream removeFromRunLoop:aRunLoop forMode:mode]; - - [_scheduledRunloops removeObject:@[aRunLoop, mode]]; -} - -- (void)close -{ - [self closeWithCode:MPStatusCodeNormal reason:nil]; -} - -- (void)closeWithCode:(NSInteger)code reason:(NSString *)reason -{ - assert(code); - dispatch_async(_workQueue, ^{ - if (self.readyState == MPWebSocketStateClosing || self.readyState == MPWebSocketStateClosed) { - return; - } - - BOOL wasConnecting = self.readyState == MPWebSocketStateConnecting; - - self.readyState = MPWebSocketStateClosing; - - MPLogDebug(@"Closing with code %d reason %@", code, reason); - - if (wasConnecting) { - [self _disconnect]; - return; - } - - size_t maxMsgSize = [reason maximumLengthOfBytesUsingEncoding:NSUTF8StringEncoding]; - NSMutableData *mutablePayload = [[NSMutableData alloc] initWithLength:sizeof(uint16_t) + maxMsgSize]; - NSData *payload = mutablePayload; - - ((uint16_t *)mutablePayload.mutableBytes)[0] = EndianU16_BtoN(code); - - if (reason) { - NSRange remainingRange = NSMakeRange(0, 0); - NSUInteger usedLength = 0; - - BOOL success = [reason getBytes:(char *)mutablePayload.mutableBytes + sizeof(uint16_t) maxLength:payload.length - sizeof(uint16_t) usedLength:&usedLength encoding:NSUTF8StringEncoding options:NSStringEncodingConversionExternalRepresentation range:NSMakeRange(0, reason.length) remainingRange:&remainingRange]; - - assert(success); - assert(remainingRange.length == 0); - - if (usedLength != maxMsgSize) { - payload = [payload subdataWithRange:NSMakeRange(0, usedLength + sizeof(uint16_t))]; - } - } - - [self _sendFrameWithOpcode:MPOpCodeConnectionClose data:payload]; - }); -} - -- (void)_closeWithProtocolError:(NSString *)message -{ - // Need to shunt this on the _callbackQueue first to see if they received any messages - [self _performDelegateBlock:^{ - [self closeWithCode:MPStatusCodeProtocolError reason:message]; - dispatch_async(self->_workQueue, ^{ - [self _disconnect]; - }); - }]; -} - -- (void)_failWithError:(NSError *)error -{ - dispatch_async(_workQueue, ^{ - if (self.readyState != MPWebSocketStateClosed) { - self->_failed = YES; - [self _performDelegateBlock:^{ - if ([self.delegate respondsToSelector:@selector(webSocket:didFailWithError:)]) { - [self.delegate webSocket:self didFailWithError:error]; - } - }]; - - self.readyState = MPWebSocketStateClosed; - - MPLogError(@"Failing with error %@", error.localizedDescription); - - [self _disconnect]; - [self _scheduleCleanup]; - } - }); -} - -- (void)_writeData:(NSData *)data -{ - [self assertOnWorkQueue]; - - if (_closeWhenFinishedWriting) { - return; - } - [_outputBuffer appendData:data]; - [self _pumpWriting]; -} - -- (void)send:(id)data -{ - NSAssert(self.readyState != MPWebSocketStateConnecting, @"Invalid State: Cannot call send: until connection is open"); - // TODO: maybe not copy this for performance - data = [data copy]; - dispatch_async(_workQueue, ^{ - if ([data isKindOfClass:[NSString class]]) { - [self _sendFrameWithOpcode:MPOpCodeTextFrame data:[(NSString *)data dataUsingEncoding:NSUTF8StringEncoding]]; - } else if ([data isKindOfClass:[NSData class]]) { - [self _sendFrameWithOpcode:MPOpCodeBinaryFrame data:data]; - } else if (data == nil) { - [self _sendFrameWithOpcode:MPOpCodeTextFrame data:data]; - } else { - assert(NO); - } - }); -} - -- (void)handlePing:(NSData *)pingData -{ - // Need to pingpong this off _callbackQueue first to make sure messages happen in order - [self _performDelegateBlock:^{ - dispatch_async(self->_workQueue, ^{ - [self _sendFrameWithOpcode:MPOpCodePong data:pingData]; - }); - }]; -} - -- (void)handlePong -{ - // NOOP -} - -- (void)_handleMessage:(id)message -{ - MPLogDebug(@"Received message"); - [self _performDelegateBlock:^{ - [self.delegate webSocket:self didReceiveMessage:message]; - }]; -} - - -static inline BOOL closeCodeIsValid(int closeCode) { - if (closeCode < 1000) { - return NO; - } - - if (closeCode >= 1000 && closeCode <= 1011) { - if (closeCode == 1004 || - closeCode == 1005 || - closeCode == 1006) { - return NO; - } - return YES; - } - - if (closeCode >= 3000 && closeCode <= 3999) { - return YES; - } - - if (closeCode >= 4000 && closeCode <= 4999) { - return YES; - } - - return NO; -} - -// Note from RFC: -// -// If there is a body, the first two -// bytes of the body MUST be a 2-byte unsigned integer (in network byte -// order) representing a status code with value /code/ defined in -// Section 7.4. Following the 2-byte integer the body MAY contain UTF-8 -// encoded data with value /reason/, the interpretation of which is not -// defined by this specification. - -- (void)handleCloseWithData:(NSData *)data -{ - size_t dataSize = data.length; - __block uint16_t closeCode = 0; - - MPLogDebug(@"Received close frame"); - - if (dataSize == 1) { - // TODO handle error - [self _closeWithProtocolError:@"Payload for close must be larger than 2 bytes"]; - return; - } else if (dataSize >= 2) { - [data getBytes:&closeCode length:sizeof(closeCode)]; - _closeCode = EndianU16_BtoN(closeCode); - if (!closeCodeIsValid(_closeCode)) { - [self _closeWithProtocolError:[NSString stringWithFormat:@"Cannot have close code of %d", _closeCode]]; - return; - } - if (dataSize > 2) { - _closeReason = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(2, dataSize - 2)] encoding:NSUTF8StringEncoding]; - if (!_closeReason) { - [self _closeWithProtocolError:@"Close reason MUST be valid UTF-8"]; - return; - } - } - } else { - _closeCode = MPStatusNoStatusReceived; - } - - [self assertOnWorkQueue]; - - if (self.readyState == MPWebSocketStateOpen) { - [self closeWithCode:MPStatusCodeNormal reason:nil]; - } - dispatch_async(_workQueue, ^{ - [self _disconnect]; - }); -} - -- (void)_disconnect -{ - [self assertOnWorkQueue]; - MPLogDebug(@"Trying to disconnect"); - _closeWhenFinishedWriting = YES; - [self _pumpWriting]; -} - -- (void)_handleFrameWithData:(NSData *)frameData opCode:(NSInteger)opcode -{ - // Check that the current data is valid UTF8 - - BOOL isControlFrame = (opcode == MPOpCodePing || opcode == MPOpCodePong || opcode == MPOpCodeConnectionClose); - if (!isControlFrame) { - [self _readFrameNew]; - } else { - dispatch_async(_workQueue, ^{ - [self _readFrameContinue]; - }); - } - - switch (opcode) { - case MPOpCodeTextFrame: { - NSString *str = [[NSString alloc] initWithData:frameData encoding:NSUTF8StringEncoding]; - if (str == nil && frameData) { - [self closeWithCode:MPStatusCodeInvalidUTF8 reason:@"Text frames must be valid UTF-8"]; - dispatch_async(_workQueue, ^{ - [self _disconnect]; - }); - - return; - } - [self _handleMessage:str]; - break; - } - case MPOpCodeBinaryFrame: - [self _handleMessage:[frameData copy]]; - break; - case MPOpCodeConnectionClose: - [self handleCloseWithData:frameData]; - break; - case MPOpCodePing: - [self handlePing:frameData]; - break; - case MPOpCodePong: - [self handlePong]; - break; - default: - [self _closeWithProtocolError:[NSString stringWithFormat:@"Unknown opcode %ld", (long)opcode]]; - // TODO: Handle invalid opcode - break; - } -} - -- (void)_handleFrameHeader:(frame_header)frame_header curData:(NSData *)curData -{ - NSParameterAssert(frame_header.opcode != 0); - - if (self.readyState != MPWebSocketStateOpen) { - return; - } - - - BOOL isControlFrame = (frame_header.opcode == MPOpCodePing || frame_header.opcode == MPOpCodePong || frame_header.opcode == MPOpCodeConnectionClose); - - if (isControlFrame && !frame_header.fin) { - [self _closeWithProtocolError:@"Fragmented control frames not allowed"]; - return; - } - - if (isControlFrame && frame_header.payload_length >= 126) { - [self _closeWithProtocolError:@"Control frames cannot have payloads larger than 126 bytes"]; - return; - } - - if (!isControlFrame) { - _currentFrameOpcode = frame_header.opcode; - _currentFrameCount += 1; - } - - if (frame_header.payload_length == 0) { - if (isControlFrame) { - [self _handleFrameWithData:curData opCode:frame_header.opcode]; - } else { - if (frame_header.fin) { - [self _handleFrameWithData:_currentFrameData opCode:frame_header.opcode]; - } else { - // TODO add assert that opcode is not a control; - [self _readFrameContinue]; - } - } - } else { - [self _addConsumerWithDataLength:(size_t)frame_header.payload_length callback:^(MPWebSocket *websocket, NSData *newData) { - if (isControlFrame) { - [websocket _handleFrameWithData:newData opCode:frame_header.opcode]; - } else { - if (frame_header.fin) { - [websocket _handleFrameWithData:websocket->_currentFrameData opCode:frame_header.opcode]; - } else { - // TODO add assert that opcode is not a control; - [websocket _readFrameContinue]; - } - - } - } readToCurrentFrame:!isControlFrame unmaskBytes:frame_header.masked]; - } -} - -/* From RFC: - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-------+-+-------------+-------------------------------+ - |F|R|R|R| opcode|M| Payload len | Extended payload length | - |I|S|S|S| (4) |A| (7) | (16/64) | - |N|V|V|V| |S| | (if payload len==126/127) | - | |1|2|3| |K| | | - +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - + - | Extended payload length continued, if payload len == 127 | - + - - - - - - - - - - - - - - - +-------------------------------+ - | |Masking-key, if MASK set to 1 | - +-------------------------------+-------------------------------+ - | Masking-key (continued) | Payload Data | - +-------------------------------- - - - - - - - - - - - - - - - + - : Payload Data continued ... : - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - | Payload Data continued ... | - +---------------------------------------------------------------+ - */ - -static const uint8_t MPFinMask = 0x80; -static const uint8_t MPOpCodeMask = 0x0F; -static const uint8_t MPRsvMask = 0x70; -static const uint8_t MPMaskMask = 0x80; -static const uint8_t MPPayloadLenMask = 0x7F; - - -- (void)_readFrameContinue -{ - assert((_currentFrameCount == 0 && _currentFrameOpcode == 0) || (_currentFrameCount > 0 && _currentFrameOpcode > 0)); - - [self _addConsumerWithDataLength:2 callback:^(MPWebSocket *websocket, NSData *data) { - __block frame_header header = { .fin = NO, .opcode = 0, .masked = NO, .payload_length = 0 }; - - const uint8_t *headerBuffer = data.bytes; - assert(data.length >= 2); - - if (headerBuffer[0] & MPRsvMask) { - [websocket _closeWithProtocolError:@"Server used RSV bits"]; - return; - } - - uint8_t receivedOpcode = (MPOpCodeMask & headerBuffer[0]); - - BOOL isControlFrame = (receivedOpcode == MPOpCodePing || receivedOpcode == MPOpCodePong || receivedOpcode == MPOpCodeConnectionClose); - - if (!isControlFrame && receivedOpcode != 0 && websocket->_currentFrameCount > 0) { - [websocket _closeWithProtocolError:@"all data frames after the initial data frame must have opcode 0"]; - return; - } - - if (receivedOpcode == 0 && websocket->_currentFrameCount == 0) { - [websocket _closeWithProtocolError:@"cannot continue a message"]; - return; - } - - header.opcode = receivedOpcode == 0 ? websocket->_currentFrameOpcode : receivedOpcode; - - header.fin = !!(MPFinMask & headerBuffer[0]); - - - header.masked = !!(MPMaskMask & headerBuffer[1]); - header.payload_length = MPPayloadLenMask & headerBuffer[1]; - - if (header.masked) { - [websocket _closeWithProtocolError:@"Client must receive unmasked data"]; - } - - size_t extra_bytes_needed = header.masked ? sizeof(websocket->_currentReadMaskKey) : 0; - - if (header.payload_length == 126) { - extra_bytes_needed += sizeof(uint16_t); - } else if (header.payload_length == 127) { - extra_bytes_needed += sizeof(uint64_t); - } - - if (extra_bytes_needed == 0) { - [websocket _handleFrameHeader:header curData:websocket->_currentFrameData]; - } else { - [websocket _addConsumerWithDataLength:extra_bytes_needed callback:^(MPWebSocket *websocket2, NSData *data2) { - size_t mapped_size = data2.length; - const void *mapped_buffer = data2.bytes; - size_t offset = 0; - - if (header.payload_length == 126) { - assert(mapped_size >= sizeof(uint16_t)); - uint16_t newLen = EndianU16_BtoN(*(uint16_t *)(mapped_buffer)); - header.payload_length = newLen; - offset += sizeof(uint16_t); - } else if (header.payload_length == 127) { - assert(mapped_size >= sizeof(uint64_t)); - header.payload_length = EndianU64_BtoN(*(uint64_t *)(mapped_buffer)); - offset += sizeof(uint64_t); - } else { - assert(header.payload_length < 126 && header.payload_length >= 0); - } - - - if (header.masked) { - assert(mapped_size >= sizeof(websocket2->_currentReadMaskOffset) + offset); - memcpy(websocket2->_currentReadMaskKey, ((uint8_t *)mapped_buffer) + offset, sizeof(websocket2->_currentReadMaskKey)); - } - - [websocket2 _handleFrameHeader:header curData:websocket2->_currentFrameData]; - } readToCurrentFrame:NO unmaskBytes:NO]; - } - } readToCurrentFrame:NO unmaskBytes:NO]; -} - -- (void)_readFrameNew -{ - dispatch_async(_workQueue, ^{ - self->_currentFrameData.length = 0; - - self->_currentFrameOpcode = 0; - self->_currentFrameCount = 0; - self->_readOpCount = 0; - self->_currentStringScanPosition = 0; - - [self _readFrameContinue]; - }); -} - -- (void)_pumpWriting -{ - [self assertOnWorkQueue]; - - NSUInteger dataLength = _outputBuffer.length; - if (dataLength - _outputBufferOffset > 0 && _outputStream.hasSpaceAvailable) { - NSInteger bytesWritten = [_outputStream write:((const uint8_t *)_outputBuffer.bytes + _outputBufferOffset) maxLength:(dataLength - _outputBufferOffset)]; - if (bytesWritten == -1) { - [self _failWithError:[NSError errorWithDomain:MPWebSocketErrorDomain code:2145 userInfo:@{NSLocalizedDescriptionKey: @"Error writing to stream"}]]; - return; - } - - _outputBufferOffset += (NSUInteger) bytesWritten; - - if (_outputBufferOffset > 4096 && _outputBufferOffset > (_outputBuffer.length >> 1)) { - _outputBuffer = [[NSMutableData alloc] initWithBytes:((char *)_outputBuffer.bytes + _outputBufferOffset) length:(_outputBuffer.length - _outputBufferOffset)]; - _outputBufferOffset = 0; - } - } - - if (_closeWhenFinishedWriting && - _outputBuffer.length - _outputBufferOffset == 0 && - (_inputStream.streamStatus != NSStreamStatusNotOpen && - _inputStream.streamStatus != NSStreamStatusClosed) && - !_sentClose) { - _sentClose = YES; - - @synchronized(self) { - [_outputStream close]; - [_inputStream close]; - - - for (NSArray *runLoop in [_scheduledRunloops copy]) { - [self unscheduleFromRunLoop:runLoop[0] forMode:runLoop[1]]; - } - } - - if (!_failed) { - [self _performDelegateBlock:^{ - if ([self.delegate respondsToSelector:@selector(webSocket:didCloseWithCode:reason:wasClean:)]) { - [self.delegate webSocket:self didCloseWithCode:self->_closeCode reason:self->_closeReason wasClean:YES]; - } - }]; - } - - [self _scheduleCleanup]; - } -} - -- (void)_addConsumerWithScanner:(stream_scanner)consumer callback:(data_callback)callback -{ - [self assertOnWorkQueue]; - [self _addConsumerWithScanner:consumer callback:callback dataLength:0]; -} - -- (void)_addConsumerWithDataLength:(size_t)dataLength callback:(data_callback)callback readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes -{ - [self assertOnWorkQueue]; - assert(dataLength); - - [_consumers addObject:[_consumerPool consumerWithScanner:nil handler:callback bytesNeeded:dataLength readToCurrentFrame:readToCurrentFrame unmaskBytes:unmaskBytes]]; - [self _pumpScanner]; -} - -- (void)_addConsumerWithScanner:(stream_scanner)consumer callback:(data_callback)callback dataLength:(size_t)dataLength -{ - [self assertOnWorkQueue]; - [_consumers addObject:[_consumerPool consumerWithScanner:consumer handler:callback bytesNeeded:dataLength readToCurrentFrame:NO unmaskBytes:NO]]; - [self _pumpScanner]; -} - -- (void)_scheduleCleanup -{ - @synchronized(self) { - if (_cleanupScheduled) { - return; - } - - _cleanupScheduled = YES; - - // Cleanup NSStream delegate's in the same RunLoop used by the streams themselves: - // This way we'll prevent race conditions between handleEvent and SRWebsocket's dealloc - NSTimer *timer = [NSTimer timerWithTimeInterval:0.f - target:self - selector:@selector(_cleanupSelfReference) - userInfo:nil - repeats:NO]; - - [[NSRunLoop mp_networkRunLoop] addTimer:timer - forMode:NSDefaultRunLoopMode]; - } -} - -- (void)_cleanupSelfReference -{ - @synchronized(self) { - // Remove the delegates for each stream so we don't fire any events on - // close or error - _inputStream.delegate = nil; - _outputStream.delegate = nil; - - // Close the streams, which will immediately remove them from the run - // loop. - [_inputStream close]; - [_outputStream close]; - } - - // Cleanup self reference in the same GCD queue as usual - dispatch_async(_workQueue, ^{ - self->_selfRetain = nil; - }); -} - - -static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'}; - -- (void)_readUntilHeaderCompleteWithCallback:(data_callback)dataHandler -{ - [self _readUntilBytes:CRLFCRLFBytes length:sizeof(CRLFCRLFBytes) callback:dataHandler]; -} - -- (void)_readUntilBytes:(const void *)bytes length:(size_t)length callback:(data_callback)dataHandler -{ - // TODO optimize so this can continue from where we last searched - stream_scanner consumer = ^size_t(NSData *data) { - __block size_t found_size = 0; - __block size_t match_count = 0; - - size_t size = data.length; - const unsigned char *buffer = data.bytes; - for (size_t i = 0; i < size; i++ ) { - if (buffer[i] == ((const unsigned char *)bytes)[match_count]) { - match_count += 1; - if (match_count == length) { - found_size = i + 1; - break; - } - } else { - match_count = 0; - } - } - return found_size; - }; - [self _addConsumerWithScanner:consumer callback:dataHandler]; -} - - -// Returns true if did work -- (BOOL)_innerPumpScanner { - - BOOL didWork = NO; - - if (self.readyState >= MPWebSocketStateClosing) { - return didWork; - } - - if (!_consumers.count) { - return didWork; - } - - size_t curSize = _readBuffer.length - _readBufferOffset; - if (!curSize) { - return didWork; - } - - MPIOConsumer *consumer = _consumers[0]; - - size_t bytesNeeded = consumer.bytesNeeded; - - size_t foundSize = 0; - if (consumer.consumer) { - NSData *tempView = [NSData dataWithBytesNoCopy:(char *)_readBuffer.bytes + _readBufferOffset length:_readBuffer.length - _readBufferOffset freeWhenDone:NO]; - foundSize = consumer.consumer(tempView); - } else { - assert(consumer.bytesNeeded); - if (curSize >= bytesNeeded) { - foundSize = bytesNeeded; - } else if (consumer.readToCurrentFrame) { - foundSize = curSize; - } - } - - NSData *slice = nil; - if (consumer.readToCurrentFrame || foundSize) { - NSRange sliceRange = NSMakeRange(_readBufferOffset, foundSize); - slice = [_readBuffer subdataWithRange:sliceRange]; - - _readBufferOffset += foundSize; - - if (_readBufferOffset > 4096 && _readBufferOffset > (_readBuffer.length >> 1)) { - _readBuffer = [[NSMutableData alloc] initWithBytes:(char *)_readBuffer.bytes + _readBufferOffset length:_readBuffer.length - _readBufferOffset]; _readBufferOffset = 0; - } - - if (consumer.unmaskBytes) { - NSMutableData *mutableSlice = [slice mutableCopy]; - - NSUInteger len = mutableSlice.length; - uint8_t *bytes = mutableSlice.mutableBytes; - - for (NSUInteger i = 0; i < len; i++) { - bytes[i] = bytes[i] ^ _currentReadMaskKey[_currentReadMaskOffset % sizeof(_currentReadMaskKey)]; - _currentReadMaskOffset += 1; - } - - slice = mutableSlice; - } - - if (consumer.readToCurrentFrame) { - [_currentFrameData appendData:slice]; - - _readOpCount += 1; - - if (_currentFrameOpcode == MPOpCodeTextFrame) { - // Validate UTF8 stuff. - size_t currentDataSize = _currentFrameData.length; - if (_currentFrameOpcode == MPOpCodeTextFrame && currentDataSize > 0) { - // TODO: Optimize the crap out of this. Don't really have to copy all the data each time - - size_t scanSize = currentDataSize - _currentStringScanPosition; - - NSData *scan_data = [_currentFrameData subdataWithRange:NSMakeRange(_currentStringScanPosition, scanSize)]; - int32_t valid_utf8_size = validate_dispatch_data_partial_string(scan_data); - - if (valid_utf8_size == -1) { - [self closeWithCode:MPStatusCodeInvalidUTF8 reason:@"Text frames must be valid UTF-8"]; - dispatch_async(_workQueue, ^{ - [self _disconnect]; - }); - return didWork; - } else { - _currentStringScanPosition += (uint32_t)valid_utf8_size; - } - } - } - - consumer.bytesNeeded -= foundSize; - - if (consumer.bytesNeeded == 0) { - [_consumers removeObjectAtIndex:0]; - consumer.handler(self, nil); - [_consumerPool returnConsumer:consumer]; - didWork = YES; - } - } else if (foundSize) { - [_consumers removeObjectAtIndex:0]; - consumer.handler(self, slice); - [_consumerPool returnConsumer:consumer]; - didWork = YES; - } - } - return didWork; -} - -- (void)_pumpScanner -{ - [self assertOnWorkQueue]; - - if (!_isPumping) { - _isPumping = YES; - } else { - return; - } - - while ([self _innerPumpScanner]) { - - } - - _isPumping = NO; -} - -//#define NOMASK - -static const size_t MPFrameHeaderOverhead = 32; - -- (void)_sendFrameWithOpcode:(MPOpCode)opcode data:(id)data -{ - [self assertOnWorkQueue]; - - NSAssert(data == nil || [data isKindOfClass:[NSData class]] || [data isKindOfClass:[NSString class]], @"Function expects nil, NSString or NSData"); - - size_t payloadLength = [data isKindOfClass:[NSString class]] ? [(NSString *)data lengthOfBytesUsingEncoding:NSUTF8StringEncoding] : [(NSData *)data length]; - - NSMutableData *frame = [[NSMutableData alloc] initWithLength:payloadLength + MPFrameHeaderOverhead]; - if (!frame) { - [self closeWithCode:MPStatusCodeMessageTooBig reason:@"Message too big"]; - return; - } - uint8_t *frame_buffer = (uint8_t *)frame.mutableBytes; - - // set fin - frame_buffer[0] = MPFinMask | opcode; - - BOOL useMask = YES; -#ifdef NOMASK - useMask = NO; -#endif - - if (useMask) { - // set the mask and header - frame_buffer[1] |= MPMaskMask; - } - - size_t frame_buffer_size = 2; - - const uint8_t *unmasked_payload = NULL; - if ([data isKindOfClass:[NSData class]]) { - unmasked_payload = (uint8_t *)[data bytes]; - } else if ([data isKindOfClass:[NSString class]]) { - unmasked_payload = (const uint8_t *)[data UTF8String]; - } else { - assert(NO); - } - - if (payloadLength < 126) { - frame_buffer[1] |= payloadLength; - } else if (payloadLength <= UINT16_MAX) { - frame_buffer[1] |= 126; - *((uint16_t *)(frame_buffer + frame_buffer_size)) = EndianU16_BtoN((uint16_t)payloadLength); - frame_buffer_size += sizeof(uint16_t); - } else { - frame_buffer[1] |= 127; - *((uint64_t *)(frame_buffer + frame_buffer_size)) = EndianU64_BtoN((uint64_t)payloadLength); - frame_buffer_size += sizeof(uint64_t); - } - - if (!useMask) { - for (size_t i = 0; i < payloadLength; i++) { - frame_buffer[frame_buffer_size] = unmasked_payload[i]; - frame_buffer_size += 1; - } - } else { - uint8_t *mask_key = frame_buffer + frame_buffer_size; - int result = SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), mask_key); - if (result != 0) { - MPLogError(@"Failed to generate random bytes with status: %d", result); - } - frame_buffer_size += sizeof(uint32_t); - - // TODO: could probably optimize this with SIMD - for (size_t i = 0; i < payloadLength; i++) { - frame_buffer[frame_buffer_size] = unmasked_payload[i] ^ mask_key[i % sizeof(uint32_t)]; - frame_buffer_size += 1; - } - } - - assert(frame_buffer_size <= frame.length); - frame.length = frame_buffer_size; - - [self _writeData:frame]; -} - -- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode -{ - if (_secure && !_pinnedCertFound && (eventCode == NSStreamEventHasBytesAvailable || eventCode == NSStreamEventHasSpaceAvailable)) { - - NSArray *sslCerts = [_urlRequest mp_SSLPinnedCertificates]; - if (sslCerts) { - SecTrustRef secTrust = (__bridge SecTrustRef)[aStream propertyForKey:(__bridge id)kCFStreamPropertySSLPeerTrust]; - if (secTrust) { - NSInteger numCerts = SecTrustGetCertificateCount(secTrust); - for (NSInteger i = 0; i < numCerts && !_pinnedCertFound; i++) { - SecCertificateRef cert = SecTrustGetCertificateAtIndex(secTrust, i); - NSData *certData = CFBridgingRelease(SecCertificateCopyData(cert)); - - for (id ref in sslCerts) { - SecCertificateRef trustedCert = (__bridge SecCertificateRef)ref; - NSData *trustedCertData = CFBridgingRelease(SecCertificateCopyData(trustedCert)); - - if ([trustedCertData isEqualToData:certData]) { - _pinnedCertFound = YES; - break; - } - } - } - } - - if (!_pinnedCertFound) { - dispatch_async(_workQueue, ^{ - [self _failWithError:[NSError errorWithDomain:@"org.lolrus.SocketRocket" code:23556 userInfo:@{NSLocalizedDescriptionKey: [NSString stringWithFormat:@"Invalid server cert"]}]]; - }); - return; - } - } - } - - dispatch_async(_workQueue, ^{ - switch (eventCode) { - case NSStreamEventOpenCompleted: { - MPLogDebug(@"NSStreamEventOpenCompleted %@", aStream); - if (self.readyState >= MPWebSocketStateClosing) { - return; - } - assert(self->_readBuffer); - - if (self.readyState == MPWebSocketStateConnecting && aStream == self->_inputStream) { - [self didConnect]; - } - [self _pumpWriting]; - [self _pumpScanner]; - break; - } - - case NSStreamEventErrorOccurred: { - MPLogError(@"NSStreamEventErrorOccurred %@ %@", aStream, [[aStream streamError] copy]); - /// TODO specify error better! - [self _failWithError:aStream.streamError]; - self->_readBufferOffset = 0; - [self->_readBuffer setLength:0]; - break; - } - - case NSStreamEventEndEncountered: { - [self _pumpScanner]; - MPLogDebug(@"NSStreamEventEndEncountered %@", aStream); - if (aStream.streamError) { - [self _failWithError:aStream.streamError]; - } else { - if (self.readyState != MPWebSocketStateClosed) { - self.readyState = MPWebSocketStateClosed; - [self _scheduleCleanup]; - } - - if (!self->_sentClose && !self->_failed) { - self->_sentClose = YES; - // If we get closed in this state it's probably not clean because we should be sending this when we send messages - [self _performDelegateBlock:^{ - if ([self.delegate respondsToSelector:@selector(webSocket:didCloseWithCode:reason:wasClean:)]) { - [self.delegate webSocket:self didCloseWithCode:MPStatusCodeGoingAway reason:@"Stream end encountered" wasClean:NO]; - } - }]; - } - } - - break; - } - - case NSStreamEventHasBytesAvailable: { - MPLogDebug(@"NSStreamEventHasBytesAvailable %@", aStream); - const int bufferSize = 2048; - uint8_t buffer[bufferSize]; - - while (self->_inputStream.hasBytesAvailable) { - NSInteger bytes_read = [self->_inputStream read:buffer maxLength:bufferSize]; - - if (bytes_read > 0) { - [self->_readBuffer appendBytes:buffer length:(NSUInteger)bytes_read]; - } else if (bytes_read < 0) { - [self _failWithError:self->_inputStream.streamError]; - } - - if (bytes_read != bufferSize) { - break; - } - } - [self _pumpScanner]; - break; - } - - case NSStreamEventHasSpaceAvailable: { - MPLogDebug(@"NSStreamEventHasSpaceAvailable %@", aStream); - [self _pumpWriting]; - break; - } - - default: - MPLogDebug(@"(default) %@", aStream); - break; - } - }); -} - -@end - - -@implementation MPIOConsumer - -@synthesize bytesNeeded = _bytesNeeded; -@synthesize consumer = _scanner; -@synthesize handler = _handler; -@synthesize readToCurrentFrame = _readToCurrentFrame; -@synthesize unmaskBytes = _unmaskBytes; - -- (void)setupWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes -{ - _scanner = [scanner copy]; - _handler = [handler copy]; - _bytesNeeded = bytesNeeded; - _readToCurrentFrame = readToCurrentFrame; - _unmaskBytes = unmaskBytes; - assert(_scanner || _bytesNeeded); -} - - -@end - - -@implementation MPIOConsumerPool { - NSUInteger _poolSize; - NSMutableArray *_bufferedConsumers; -} - -- (instancetype)initWithBufferCapacity:(NSUInteger)poolSize -{ - self = [super init]; - if (self) { - _poolSize = poolSize; - _bufferedConsumers = [NSMutableArray arrayWithCapacity:poolSize]; - } - return self; -} - -- (instancetype)init -{ - return [self initWithBufferCapacity:8]; -} - -- (MPIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes -{ - MPIOConsumer *consumer = nil; - if (_bufferedConsumers.count) { - consumer = _bufferedConsumers.lastObject; - [_bufferedConsumers removeLastObject]; - } else { - consumer = [[MPIOConsumer alloc] init]; - } - - [consumer setupWithScanner:scanner handler:handler bytesNeeded:bytesNeeded readToCurrentFrame:readToCurrentFrame unmaskBytes:unmaskBytes]; - - return consumer; -} - -- (void)returnConsumer:(MPIOConsumer *)consumer -{ - if (_bufferedConsumers.count < _poolSize) { - [_bufferedConsumers addObject:consumer]; - } -} - -@end - - -@implementation NSURLRequest (MPCertificateAdditions) - -- (NSArray *)mp_SSLPinnedCertificates -{ - return [NSURLProtocol propertyForKey:@"mp_SSLPinnedCertificates" inRequest:self]; -} - -@end - -@implementation NSMutableURLRequest (MPCertificateAdditions) - -- (NSArray *)mp_SSLPinnedCertificates -{ - return [NSURLProtocol propertyForKey:@"mp_SSLPinnedCertificates" inRequest:self]; -} - -- (void)setMp_SSLPinnedCertificates:(NSArray *)pinnedCertificates -{ - [NSURLProtocol setProperty:pinnedCertificates forKey:@"mp_SSLPinnedCertificates" inRequest:self]; -} - -@end - -@implementation NSURL (MPWebSocket) - -- (NSString *)mp_origin -{ - NSString *scheme = self.scheme.lowercaseString; - - if ([scheme isEqualToString:@"wss"]) { - scheme = @"https"; - } else if ([scheme isEqualToString:@"ws"]) { - scheme = @"http"; - } - - if (self.port != nil) { - return [NSString stringWithFormat:@"%@://%@:%@/", scheme, self.host, self.port]; - } else { - return [NSString stringWithFormat:@"%@://%@/", scheme, self.host]; - } -} - -@end - -#ifdef HAS_ICU - -static inline int32_t validate_dispatch_data_partial_string(NSData *data) { - const void * contents = data.bytes; - long size = (long)data.length; - - const uint8_t *str = (const uint8_t *)contents; - - UChar32 codepoint = 1; - int32_t offset = 0; - int32_t lastOffset = 0; - while (offset < size && codepoint > 0) { - lastOffset = offset; - U8_NEXT(str, offset, size, codepoint); - } - - if (codepoint == -1) { - // Check to see if the last byte is valid or whether it was just continuing - if (!U8_IS_LEAD(str[lastOffset]) || U8_COUNT_TRAIL_BYTES(str[lastOffset]) + lastOffset < (int32_t)size) { - - size = -1; - } else { - uint8_t leadByte = str[lastOffset]; - U8_MASK_LEAD_BYTE(leadByte, U8_COUNT_TRAIL_BYTES(leadByte)); - - for (NSInteger i = lastOffset + 1; i < offset; i++) { - if (U8_IS_SINGLE(str[i]) || U8_IS_LEAD(str[i]) || !U8_IS_TRAIL(str[i])) { - size = -1; - } - } - - if (size != -1) { - size = lastOffset; - } - } - } - - if (size != -1 && ![[NSString alloc] initWithBytesNoCopy:(char *)data.bytes length:(NSUInteger)size encoding:NSUTF8StringEncoding freeWhenDone:NO]) { - size = -1; - } - - return (int32_t)size; -} - -#else - -// This is a hack, and probably not optimal -static inline int32_t validate_dispatch_data_partial_string(NSData *data) { - static const int maxCodepointSize = 3; - - for (NSInteger i = 0; i < maxCodepointSize; i++) { - NSString *str = [[NSString alloc] initWithBytesNoCopy:(char *)data.bytes length:data.length - i encoding:NSUTF8StringEncoding freeWhenDone:NO]; - if (str) { - return data.length - i; - } - } - - return -1; -} - -#endif - -static _MPRunLoopThread *networkThread = nil; -static NSRunLoop *networkRunLoop = nil; - -@implementation NSRunLoop (MPWebSocket) - -+ (NSRunLoop *)mp_networkRunLoop { - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - networkThread = [[_MPRunLoopThread alloc] init]; - networkThread.name = @"com.mixpanel.WebSocket.NetworkThread"; - [networkThread start]; - networkRunLoop = networkThread.runLoop; - }); - - return networkRunLoop; -} - -@end - - -@implementation _MPRunLoopThread { - dispatch_group_t _waitGroup; -} - -@synthesize runLoop = _runLoop; - -- (void)dealloc -{ - mp_dispatch_release(_waitGroup); -} - -- (instancetype)init -{ - self = [super init]; - if (self) { - _waitGroup = dispatch_group_create(); - dispatch_group_enter(_waitGroup); - } - return self; -} - -- (void)main -{ - @autoreleasepool { - _runLoop = [NSRunLoop currentRunLoop]; - dispatch_group_leave(_waitGroup); - - // Add an empty run loop source to prevent runloop from spinning. - CFRunLoopSourceContext sourceCtx = { - .version = 0, - .info = NULL, - .retain = NULL, - .release = NULL, - .copyDescription = NULL, - .equal = NULL, - .hash = NULL, - .schedule = NULL, - .cancel = NULL, - .perform = NULL - }; - CFRunLoopSourceRef source = CFRunLoopSourceCreate(NULL, 0, &sourceCtx); - CFRunLoopAddSource(CFRunLoopGetCurrent(), source, kCFRunLoopDefaultMode); - CFRelease(source); - - while ([_runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) { - - } - assert(NO); - } -} - -- (NSRunLoop *)runLoop -{ - dispatch_group_wait(_waitGroup, DISPATCH_TIME_FOREVER); - return _runLoop; -} - -@end diff --git a/Mixpanel/Mixpanel/Mixpanel+AutomaticTracks.h b/Mixpanel/Mixpanel/Mixpanel+AutomaticTracks.h deleted file mode 100755 index b05b6de3..00000000 --- a/Mixpanel/Mixpanel/Mixpanel+AutomaticTracks.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Mixpanel+AutomaticTracks.h -// HelloMixpanel -// -// Created by Sam Green on 2/23/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import "Mixpanel.h" - -@interface Mixpanel (AutomaticTracks) - -+ (instancetype)sharedAutomatedInstance; -+ (void)setSharedAutomatedInstance:(Mixpanel *)instance; - -@end diff --git a/Mixpanel/Mixpanel/Mixpanel+AutomaticTracks.m b/Mixpanel/Mixpanel/Mixpanel+AutomaticTracks.m deleted file mode 100644 index b682382f..00000000 --- a/Mixpanel/Mixpanel/Mixpanel+AutomaticTracks.m +++ /dev/null @@ -1,72 +0,0 @@ -// -// Mixpanel+AutomaticTracks.m -// HelloMixpanel -// -// Created by Sam Green on 2/23/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import "Mixpanel+AutomaticTracks.h" -#import "UIApplication+AutomaticTracks.h" -#import "UIViewController+AutomaticTracks.h" -#import "NSNotificationCenter+AutomaticTracks.h" -#import "AutomaticTracksConstants.h" -#import "MPSwizzle.h" -#import "MPLogger.h" - -@implementation Mixpanel (AutomaticTracks) - -static Mixpanel *gSharedAutomatedInstance = nil; -+ (instancetype)sharedAutomatedInstance { - return gSharedAutomatedInstance; -} - -+ (void)setSharedAutomatedInstance:(Mixpanel *)instance { - gSharedAutomatedInstance = instance; - [self addSwizzles]; -} - -+ (void)addSwizzles { - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - - NSError *error = NULL; - - // Navigation - [UIViewController mp_swizzleMethod:@selector(viewDidAppear:) - withMethod:@selector(mp_viewDidAppear:) - error:&error]; - if (error) { - MPLogError(@"Failed to swizzle viewDidAppear: on UIViewController. Details: %@", error); - error = NULL; - } - - // Actions & Events - [UIApplication mp_swizzleMethod:@selector(sendAction:to:from:forEvent:) - withMethod:@selector(mp_sendAction:to:from:forEvent:) - error:&error]; - if (error) { - MPLogError(@"Failed to swizzle sendAction:to:from:forEvent: on UIAppplication. Details: %@", error); - error = NULL; - } - - // Notifications - [NSNotificationCenter mp_swizzleMethod:@selector(postNotification:) - withMethod:@selector(mp_postNotification:) - error:&error]; - if (error) { - MPLogError(@"Failed to swizzle postNotification: on NSNotificationCenter. Details: %@", error); - error = NULL; - } - - [NSNotificationCenter mp_swizzleMethod:@selector(postNotificationName:object:userInfo:) - withMethod:@selector(mp_postNotificationName:object:userInfo:) - error:&error]; - if (error) { - MPLogError(@"Failed to swizzle postNotificationName:object:userInfo: on NSNotificationCenter. Details: %@", error); - error = NULL; - } - }); -} - -@end diff --git a/Mixpanel/Mixpanel/Mixpanel.h b/Mixpanel/Mixpanel/Mixpanel.h deleted file mode 100644 index fc38432d..00000000 --- a/Mixpanel/Mixpanel/Mixpanel.h +++ /dev/null @@ -1,884 +0,0 @@ -#import -#if !TARGET_OS_OSX -#import -#else -#import -#endif -#import "MixpanelPeople.h" -#import "MixpanelType.h" - - -#if defined(MIXPANEL_WATCHOS) -#define MIXPANEL_FLUSH_IMMEDIATELY 1 -#define MIXPANEL_NO_APP_LIFECYCLE_SUPPORT 1 -#endif - -#if (defined(MIXPANEL_WATCHOS) || defined(MIXPANEL_MACOS)) -#define MIXPANEL_NO_UIAPPLICATION_ACCESS 1 -#endif - -#if (defined(MIXPANEL_TVOS) || defined(MIXPANEL_WATCHOS) || defined(MIXPANEL_MACOS)) -#define MIXPANEL_NO_REACHABILITY_SUPPORT 1 -#define MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT 1 -#define MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT 1 -#define MIXPANEL_NO_CONNECT_INTEGRATION_SUPPORT 1 -#endif - -@class MixpanelPeople; -@class MixpanelGroup; -@protocol MixpanelDelegate; - -NS_ASSUME_NONNULL_BEGIN - -/*! - A string constant "mini" that respresent Mini Notification - */ -extern NSString *const MPNotificationTypeMini; -/*! - A string constant "takeover" that respresent Takeover Notification - */ -extern NSString *const MPNotificationTypeTakeover; - -/*! - Mixpanel API. - - The primary interface for integrating Mixpanel with your app. - - Use the Mixpanel class to set up your project and track events in Mixpanel - Engagement. It now also includes a people property for accessing - the Mixpanel People API. - -
- // Initialize the API
- Mixpanel *mixpanel = [Mixpanel sharedInstanceWithToken:@"YOUR API TOKEN"];
-
- // Track an event in Mixpanel Engagement
- [mixpanel track:@"Button Clicked"];
-
- // Set properties on a user in Mixpanel People
- [mixpanel identify:@"CURRENT USER DISTINCT ID"];
- [mixpanel.people set:@"Plan" to:@"Premium"];
- 
- - For more advanced usage, please see the Mixpanel iPhone - Library Guide. - */ -@interface Mixpanel : NSObject - -#pragma mark Properties - -/*! - Accessor to the Mixpanel People API object. - - See the documentation for MixpanelDelegate below for more information. - */ -@property (atomic, readonly, strong) MixpanelPeople *people; - -/*! - The distinct ID of the current user. - - A distinct ID is a string that uniquely identifies one of your users. By default, - we'll use the device's advertisingIdentifier UUIDString, if that is not available - we'll use the device's identifierForVendor UUIDString, and finally if that - is not available we will generate a new random UUIDString. To change the - current distinct ID, use the identify: method. - */ -@property (atomic, readonly, copy) NSString *distinctId; - -/*! - The default anonymous Id / distinct Id given to the events before identify. - - A default distinct ID is a string that uniquely identifies the anonymous activity. - By default, we'll use the device's advertisingIdentifier UUIDString, if that is not - available we'll use the device's identifierForVendor UUIDString, and finally if that - is not available we will generate a new random UUIDString. - */ -@property (atomic, readonly, copy) NSString *anonymousId; - -/*! - The user ID with which identify: is called with. - - This is null until identify: is called and is set to the id - with which identify is called with. - */ -@property (atomic, readonly, copy) NSString *userId; - -/*! - The alias of the current user. - - An alias is another string that uniquely identifies one of your users. Typically, - this is the user ID from your database. By using an alias you can link pre- and - post-sign up activity as well as cross-platform activity under one distinct ID. - To set the alias use the createAlias:forDistinctID: method. - */ -@property (atomic, readonly, copy) NSString *alias; - -/*! - A flag which says if a distinctId is already in peristence from old sdk - Defaults to NO. - */ -@property (atomic) BOOL hadPersistedDistinctId; - -/*! - The base URL used for Mixpanel API requests. - - Useful if you need to proxy Mixpanel requests. Defaults to - https://api.mixpanel.com. - */ -@property (nonatomic, copy) NSString *serverURL; - -/*! - Flush timer's interval. - - Setting a flush interval of 0 will turn off the flush timer. - */ -@property (atomic) NSUInteger flushInterval; - -/*! - Control whether the library should flush data to Mixpanel when the app - enters the background. - - Defaults to YES. Only affects apps targeted at iOS 4.0, when background - task support was introduced, and later. - */ -@property (atomic) BOOL flushOnBackground; - -/*! - Controls whether to show spinning network activity indicator when flushing - data to the Mixpanel servers. - - Defaults to YES. - */ -@property (atomic) BOOL shouldManageNetworkActivityIndicator; - -/*! - Controls whether to automatically check for notifications for the - currently identified user when the application becomes active. - - Defaults to YES. Will fire a network request on - applicationDidBecomeActive to retrieve a list of valid notifications - for the currently identified user. - */ -@property (atomic) BOOL checkForNotificationsOnActive; - -/*! - Controls whether to automatically check for A/B test variants for the - currently identified user when the application becomes active. - - Defaults to YES. Will fire a network request on - applicationDidBecomeActive to retrieve a list of valid variants - for the currently identified user. - */ -@property (atomic) BOOL checkForVariantsOnActive; - -/*! - Controls whether to automatically check for and show in-app notifications - for the currently identified user when the application becomes active. - - Defaults to YES. - */ -@property (atomic) BOOL showNotificationOnActive; - -/*! - Controls whether to automatically send the client IP Address as part of - event tracking. With an IP address, geo-location is possible down to neighborhoods - within a city, although the Mixpanel Dashboard will just show you city level location - specificity. For privacy reasons, you may be in a situation where you need to forego - effectively having access to such granular location information via the IP Address. - - Defaults to YES. - */ -@property (atomic) BOOL useIPAddressForGeoLocation; - -/*! - Controls whether to enable the visual test designer for A/B testing and codeless on mixpanel.com. - You will be unable to edit A/B tests and codeless events with this disabled, however *previously* - created A/B tests and codeless events will still be delivered. - - Defaults to YES. - */ -@property (atomic) BOOL enableVisualABTestAndCodeless; - -/*! - Controls whether to enable the run time debug logging at all levels. Note that the - Mixpanel SDK uses Apple System Logging to forward log messages to `STDERR`, this also - means that mixpanel logs are segmented by log level. Settings this to `YES` will enable - Mixpanel logging at the following levels: - - * Error - Something has failed - * Warning - Something is amiss and might fail if not corrected - * Info - The lowest priority that is normally logged, purely informational in nature - * Debug - Information useful only to developers, and normally not logged. - - - Defaults to NO. - */ -@property (atomic) BOOL enableLogging; - -/*! - Determines the time, in seconds, that a mini notification will remain on - the screen before automatically hiding itself. - - Defaults to 6.0. - */ -@property (atomic) CGFloat miniNotificationPresentationTime; - -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT -/*! - The minimum session duration (ms) that is tracked in automatic events. - - The default value is 10000 (10 seconds). - */ -@property (atomic) UInt64 minimumSessionDuration; - -/*! - The maximum session duration (ms) that is tracked in automatic events. - - The default value is UINT64_MAX (no maximum session duration). - */ -@property (atomic) UInt64 maximumSessionDuration; -#endif - -/*! - The a MixpanelDelegate object that can be used to assert fine-grain control - over Mixpanel network activity. - - Using a delegate is optional. See the documentation for MixpanelDelegate - below for more information. - */ -@property (atomic, weak) id delegate; // allows fine grain control over uploading (optional) - -#pragma mark Tracking - -/*! - Returns (and creates, if needed) a singleton instance of the API. - - This method will return a singleton instance of the Mixpanel class for - you using the given project token. If an instance does not exist, this method will create - one using initWithToken:launchOptions:andFlushInterval:. If you only have one - instance in your project, you can use sharedInstance to retrieve it. - -
- [Mixpanel sharedInstance] track:@"Something Happened"]];
- 
- - If you are going to use this singleton approach, - sharedInstanceWithToken: must be the first call to the - Mixpanel class, since it performs important initializations to - the API. - - @param apiToken your project token - */ -+ (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken; - -/*! - Initializes a singleton instance of the API, uses it to set whether or not to opt out tracking for - GDPR compliance, and then returns it. - - This is the preferred method for creating a sharedInstance with a mixpanel - like above. With the optOutTrackingByDefault parameter, Mixpanel tracking can be opted out by default. - - @param apiToken your project token - @param optOutTrackingByDefault whether or not to be opted out from tracking by default - - */ -+ (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken optOutTrackingByDefault:(BOOL)optOutTrackingByDefault; - -/*! - Initializes a singleton instance of the API, uses it to track launchOptions information, - and then returns it. - - This is the preferred method for creating a sharedInstance with a mixpanel - like above. With the launchOptions parameter, Mixpanel can track referral - information created by push notifications. - - @param apiToken your project token - @param launchOptions your application delegate's launchOptions - - */ -+ (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken launchOptions:(nullable NSDictionary *)launchOptions; - -/*! - Initializes a singleton instance of the API, uses it to track launchOptions information, - and then returns it. - - This is the preferred method for creating a sharedInstance with a mixpanel - like above. With the trackCrashes and automaticPushTracking parameter, Mixpanel can track crashes and automatic push. - - @param apiToken your project token - @param launchOptions your application delegate's launchOptions - @param trackCrashes whether or not to track crashes in Mixpanel. may want to disable if you're seeing - issues with your crash reporting for either signals or exceptions - @param automaticPushTracking whether or not to automatically track pushes sent from Mixpanel - */ -+ (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken launchOptions:(nullable NSDictionary *)launchOptions trackCrashes:(BOOL)trackCrashes automaticPushTracking:(BOOL)automaticPushTracking; - -/*! - Initializes a singleton instance of the API, uses it to track launchOptions information, - and then returns it. - - This is the preferred method for creating a sharedInstance with a mixpanel - like above. With the optOutTrackingByDefault parameter, Mixpanel tracking can be opted out by default. - - @param apiToken your project token - @param launchOptions your application delegate's launchOptions - @param trackCrashes whether or not to track crashes in Mixpanel. may want to disable if you're seeing - issues with your crash reporting for either signals or exceptions - @param automaticPushTracking whether or not to automatically track pushes sent from Mixpanel - @param optOutTrackingByDefault whether or not to be opted out from tracking by default - */ -+ (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken launchOptions:(nullable NSDictionary *)launchOptions trackCrashes:(BOOL)trackCrashes automaticPushTracking:(BOOL)automaticPushTracking optOutTrackingByDefault:(BOOL)optOutTrackingByDefault; - -/*! - Returns a previously instantiated singleton instance of the API. - - The API must be initialized with sharedInstanceWithToken: or - initWithToken:launchOptions:andFlushInterval before calling this class method. - This method will return nil if there are no instances created. If there is more than - one instace, it will return the first one that was created by using sharedInstanceWithToken: - or initWithToken:launchOptions:andFlushInterval:. - */ -+ (nullable Mixpanel *)sharedInstance; - -/*! - Initializes an instance of the API with the given project token. This also sets - it as a shared instance so you can use sharedInstance or - sharedInstanceWithToken: to retrieve this object later. - - Creates and initializes a new API object. See also sharedInstanceWithToken:. - - @param apiToken your project token - @param launchOptions optional app delegate launchOptions - @param flushInterval interval to run background flushing - @param trackCrashes whether or not to track crashes in Mixpanel. may want to disable if you're seeing - issues with your crash reporting for either signals or exceptions - */ -- (instancetype)initWithToken:(NSString *)apiToken - launchOptions:(nullable NSDictionary *)launchOptions - flushInterval:(NSUInteger)flushInterval - trackCrashes:(BOOL)trackCrashes; - -/*! - Initializes an instance of the API with the given project token. This also sets - it as a shared instance so you can use sharedInstance or - sharedInstanceWithToken: to retrieve this object later. - - Creates and initializes a new API object. See also sharedInstanceWithToken:. - - @param apiToken your project token - @param launchOptions optional app delegate launchOptions - @param flushInterval interval to run background flushing - @param trackCrashes whether or not to track crashes in Mixpanel. may want to disable if you're seeing - issues with your crash reporting for either signals or exceptions - @param automaticPushTracking whether or not to automatically track pushes sent from Mixpanel - */ -- (instancetype)initWithToken:(NSString *)apiToken - launchOptions:(nullable NSDictionary *)launchOptions - flushInterval:(NSUInteger)flushInterval - trackCrashes:(BOOL)trackCrashes - automaticPushTracking:(BOOL)automaticPushTracking; - -/*! - Initializes an instance of the API with the given project token. - - Creates and initializes a new API object. See also sharedInstanceWithToken:. - - @param apiToken your project token - @param launchOptions optional app delegate launchOptions - @param flushInterval interval to run background flushing - */ -- (instancetype)initWithToken:(NSString *)apiToken - launchOptions:(nullable NSDictionary *)launchOptions - andFlushInterval:(NSUInteger)flushInterval; - -/*! - Initializes an instance of the API with the given project token. - - Supports for the old initWithToken method format but really just passes - launchOptions to the above method as nil. - - @param apiToken your project token - @param flushInterval interval to run background flushing - */ -- (instancetype)initWithToken:(NSString *)apiToken andFlushInterval:(NSUInteger)flushInterval; - -/*! - Sets the distinct ID of the current user. - - As of version 2.3.1, Mixpanel will choose a default distinct ID based on - whether you are using the AdSupport.framework or not. - - If you are not using the AdSupport Framework (iAds), then we use the - [UIDevice currentDevice].identifierForVendor (IFV) string as the - default distinct ID. This ID will identify a user across all apps by the same - vendor, but cannot be used to link the same user across apps from different - vendors. - - If you are showing iAds in your application, you are allowed use the iOS ID - for Advertising (IFA) to identify users. If you have this framework in your - app, Mixpanel will use the IFA as the default distinct ID. If you have - AdSupport installed but still don't want to use the IFA, you can define the - MIXPANEL_NO_IFA preprocessor flag in your build settings, and - Mixpanel will use the IFV as the default distinct ID. - - If we are unable to get an IFA or IFV, we will fall back to generating a - random persistent UUID. If you want to always use a random persistent UUID - you can define the MIXPANEL_RANDOM_DISTINCT_ID preprocessor flag - in your build settings. - - For tracking events, you do not need to call identify: if you - want to use the default. However, Mixpanel People always requires an - explicit call to identify:. If calls are made to - set:, increment or other MixpanelPeople - methods prior to calling identify:, then they are queued up and - flushed once identify: is called. - - If you'd like to use the default distinct ID for Mixpanel People as well - (recommended), call identify: using the current distinct ID: - [mixpanel identify:mixpanel.distinctId]. - - @param distinctId string that uniquely identifies the current user - */ -- (void)identify:(NSString *)distinctId; - -/*! - Sets the distinct ID of the current user. With the option of only updating the - distinct ID value and not the Mixpanel People distinct ID. - - This method is not intended to be used unless you wish to prevent updating the Mixpanel - People distinct ID value by passing a value of NO to the usePeople param. This can be - useful if the user wishes to prevent People updates from being sent until the identify - method is called. - - @param distinctId string that uniquely identifies the current user - @param usePeople bool controls whether or not to set the people distinctId to the event distinctId - */ -- (void)identify:(NSString *)distinctId usePeople:(BOOL)usePeople; - -/*! - Add a group to this user's membership for a particular group key. - The groupKey must be an NSString. The groupID should be a legal MixpanelType value. - - @param groupKey the group key - @param groupID the group ID - */ -- (void)addGroup:(NSString *)groupKey groupID:(id)groupID; - -/*! - Remove a group from this user's membership for a particular group key. - The groupKey must be an NSString. The groupID should be a legal MixpanelType value. - - @param groupKey the group key - @param groupID the group ID - */ -- (void)removeGroup:(NSString *)groupKey groupID:(id)groupID; - -/*! - Set the group to which the user belongs. - The groupKey must be an NSString. The groupID should be an array - of MixpanelTypes. - - @param groupKey the group key - @param groupIDs the group IDs - */ -- (void)setGroup:(NSString *)groupKey groupIDs:(NSArray> *)groupIDs; - -/*! - Convenience method to set a single group ID for the current user. - - @param groupKey the group key - @param groupID the group ID - */ -- (void)setGroup:(NSString *)groupKey groupID:(id)groupID; - -/*! - Tracks an event with specific groups. - - Similar to track(), the data will also be sent to the specific group - datasets. Group key/value pairs are upserted into the property map - before tracking. - The keys in groups must be NSString objects. values can be any legal - MixpanelType objects. If the event is being timed, the timer will - stop and be added as a property. - - @param event event name - @param properties properties dictionary - @param groups groups dictionary, which contains key-value pairs - for this event - */ -- (void)trackWithGroups:(NSString *)event properties:(NSDictionary *)properties groups:(NSDictionary *)groups; - -/*! - Get a MixpanelGroup identifier from groupKey and groupID. - The groupKey must be an NSString. The groupID should be a legal MixpanelType value. - - @param groupKey the group key - @param groupID the group ID - */ -- (MixpanelGroup *)getGroup:(NSString *)groupKey groupID:(id)groupID; - -/*! - Tracks an event. - - @param event event name - */ -- (void)track:(NSString *)event; - -/*! - Tracks an event with properties. - - Properties will allow you to segment your events in your Mixpanel reports. - Property keys must be NSString objects and values must be - NSString, NSNumber, NSNull, - NSArray, NSDictionary, NSDate or - NSURL objects. If the event is being timed, the timer will - stop and be added as a property. - - @param event event name - @param properties properties dictionary - */ -- (void)track:(NSString *)event properties:(nullable NSDictionary *)properties; - -/*! - Registers super properties, overwriting ones that have already been set. - - Super properties, once registered, are automatically sent as properties for - all event tracking calls. They save you having to maintain and add a common - set of properties to your events. Property keys must be NSString - objects and values must be NSString, NSNumber, - NSNull, NSArray, NSDictionary, - NSDate or NSURL objects. - - @param properties properties dictionary - */ -- (void)registerSuperProperties:(NSDictionary *)properties; - -/*! - Registers super properties without overwriting ones that have already been - set. - - Property keys must be NSString objects and values must be - NSString, NSNumber, NSNull, - NSArray, NSDictionary, NSDate or - NSURL objects. - - @param properties properties dictionary - */ -- (void)registerSuperPropertiesOnce:(NSDictionary *)properties; - -/*! - Registers super properties without overwriting ones that have already been set - unless the existing value is equal to defaultValue. - - Property keys must be NSString objects and values must be - NSString, NSNumber, NSNull, - NSArray, NSDictionary, NSDate or - NSURL objects. - - @param properties properties dictionary - @param defaultValue overwrite existing properties that have this value - */ -- (void)registerSuperPropertiesOnce:(NSDictionary *)properties defaultValue:(nullable id)defaultValue; - -/*! - Removes a previously registered super property. - - As an alternative to clearing all properties, unregistering specific super - properties prevents them from being recorded on future events. This operation - does not affect the value of other super properties. Any property name that is - not registered is ignored. - - Note that after removing a super property, events will show the attribute as - having the value undefined in Mixpanel until a new value is - registered. - - @param propertyName array of property name strings to remove - */ -- (void)unregisterSuperProperty:(NSString *)propertyName; - -/*! - Clears all currently set super properties. - */ -- (void)clearSuperProperties; - -/*! - Returns the currently set super properties. - */ -- (NSDictionary *)currentSuperProperties; - -/*! - Starts a timer that will be stopped and added as a property when a - corresponding event is tracked. - - This method is intended to be used in advance of events that have - a duration. For example, if a developer were to track an "Image Upload" event - she might want to also know how long the upload took. Calling this method - before the upload code would implicitly cause the track - call to record its duration. - -
- // begin timing the image upload
- [mixpanel timeEvent:@"Image Upload"];
-
- // upload the image
- [self uploadImageWithSuccessHandler:^{
-
-    // track the event
-    [mixpanel track:@"Image Upload"];
- }];
- 
- - @param event a string, identical to the name of the event that will be tracked - - */ -- (void)timeEvent:(NSString *)event; - -/*! - Retrieves the time elapsed for the named event since timeEvent: was called. - - @param event the name of the event to be tracked that was passed to timeEvent: - */ -- (double)eventElapsedTime:(NSString *)event; - -/*! - Clears all current event timers. - */ -- (void)clearTimedEvents; - -/*! - Clears all stored properties and distinct IDs. Useful if your app's user logs out. - */ -- (void)reset; - -/*! - Uploads queued data to the Mixpanel server. - - By default, queued data is flushed to the Mixpanel servers every minute (the - default for flushInterval), and on background (since - flushOnBackground is on by default). You only need to call this - method manually if you want to force a flush at a particular moment. - */ -- (void)flush; - -/*! - Calls flush, then optionally archives and calls a handler when finished. - - When calling flush manually, it is sometimes important to verify - that the flush has finished before further action is taken. This is - especially important when the app is in the background and could be suspended - at any time if protocol is not followed. Delegate methods like - application:didReceiveRemoteNotification:fetchCompletionHandler: - are called when an app is brought to the background and require a handler to - be called when it finishes. - - @param handler completion handler to be called after flush completes - */ -- (void)flushWithCompletion:(nullable void (^)(void))handler; - -/*! - Writes current project info, including distinct ID, super properties and pending event - and People record queues to disk. - - This state will be recovered when the app is launched again if the Mixpanel - library is initialized with the same project token. You do not need to call - this method. The library listens for app state changes and handles - persisting data as needed. It can be useful in some special circumstances, - though, for example, if you'd like to track app crashes from main.m. - */ -- (void)archive; - -/*! - Creates a distinct_id alias from alias to original id. - - This method is used to map an identifier called an alias to the existing Mixpanel - distinct id. This causes all events and people requests sent with the alias to be - mapped back to the original distinct id. The recommended usage pattern is to call - createAlias: and then identify: (with their new user ID) when they log in the next time. - This will keep your signup funnels working correctly. - -
- // This makes the current ID (an auto-generated GUID)
- // and 'Alias' interchangeable distinct ids.
- [mixpanel createAlias:@"Alias"
-    forDistinctID:mixpanel.distinctId];
-
- // You must call identify if you haven't already
- // (e.g., when your app launches).
- [mixpanel identify:mixpanel.distinctId];
-
- -@param alias the new distinct_id that should represent original -@param distinctID the old distinct_id that alias will be mapped to - */ -- (void)createAlias:(NSString *)alias forDistinctID:(NSString *)distinctID; - -/*! - Creates a distinct_id alias from alias to original id. - - This method is not intended to be used unless you wish to prevent updating the Mixpanel - People distinct ID value by passing a value of NO to the usePeople param. This can be - useful if the user wishes to prevent People updates from being sent until the identify - method is called. - - @param alias the new distinct_id that should represent original - @param distinctID the old distinct_id that alias will be mapped to - @param usePeople bool controls whether or not to set the people distinctId to the event distinctId - */ -- (void)createAlias:(NSString *)alias forDistinctID:(NSString *)distinctID usePeople:(BOOL)usePeople; - -/*! - Returns the Mixpanel library version number as a string, e.g. "3.2.3". - */ -- (NSString *)libVersion; - -/*! - Opt out tracking. - - This method is used to opt out tracking. This causes all events and people request no longer - to be sent back to the Mixpanel server. - */ -- (void)optOutTracking; - -/*! - Opt in tracking. - - Use this method to opt in an already opted out user from tracking. People updates and track calls will be - sent to Mixpanel after using this method. - - This method will internally track an opt in event to your project. If you want to identify the opt-in - event and/or pass properties to the event, See also optInTrackingForDistinctId: and - optInTrackingForDistinctId:withEventProperties:. - */ -- (void)optInTracking; - -/*! - Opt in tracking. - - Use this method to opt in an already opted out user from tracking. People updates and track calls will be - sent to Mixpanel after using this method. - - This method will internally track an opt in event to your project. If you want to pass properties to the event, see also - optInTrackingForDistinctId:withEventProperties:. - - @param distinctID optional string to use as the distinct ID for events. This will call identify:. - If you use people profiles make sure you manually call identify: after this method. - */ -- (void)optInTrackingForDistinctID:(nullable NSString *)distinctID; - -/*! - Opt in tracking. - - Use this method to opt in an already opted out user from tracking. People updates and track calls will be - sent to Mixpanel after using this method. - - This method will internally track an opt in event to your project.See also optInTracking or - optInTrackingForDistinctId:. - - @param distinctID optional string to use as the distinct ID for events. This will call identify:. - If you use people profiles make sure you manually call identify: after this method. - @param properties optional properties dictionary that could be passed to add properties to the opt-in event that is sent to - Mixpanel. - */ -- (void)optInTrackingForDistinctID:(nullable NSString *)distinctID withEventProperties:(nullable NSDictionary *)properties; - -/*! - Returns YES if the current user has opted out tracking, NO if the current user has opted in tracking. - */ -- (BOOL)hasOptedOutTracking; - -/*! - Returns the Mixpanel library version number as a string, e.g. "3.2.3". - */ -+ (NSString *)libVersion; - - -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT -#pragma mark - Mixpanel Notifications - -/*! - Shows the notification of the given id. - - You do not need to call this method on the main thread. - - @param ID notification id - */ -- (void)showNotificationWithID:(NSUInteger)ID; - - -/*! - Shows a notification with the given type if one is available. - - You do not need to call this method on the main thread. - - @param type The type of notification to show, either @"mini", or @"takeover" - */ -- (void)showNotificationWithType:(NSString *)type; - -/*! - Shows a notification if one is available. - - You do not need to call this method on the main thread. - */ -- (void)showNotification; - -#pragma mark - Mixpanel A/B Testing - -/*! - Join any experiments (A/B tests) that are available for the current user. - - Mixpanel will check for A/B tests automatically when your app enters - the foreground. Call this method if you would like to to check for, - and join, any experiments are newly available for the current user. - - You do not need to call this method on the main thread. - */ -- (void)joinExperiments; - -/*! - Join any experiments (A/B tests) that are available for the current user. - - Same as joinExperiments but will fire the given callback after all experiments - have been loaded and applied. - - @param experimentsLoadedCallback callback to be called after experiments - joined and applied - */ -- (void)joinExperimentsWithCallback:(nullable void (^)(void))experimentsLoadedCallback; - -#endif // MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT - -#pragma mark - Deprecated -/*! - Current user's name in Mixpanel Streams. - */ -@property (nullable, atomic, copy) NSString *nameTag __deprecated; // Deprecated in v3.0.1 - -@end - -/*! - @protocol - - Delegate protocol for controlling the Mixpanel API's network behavior. - - Creating a delegate for the Mixpanel object is entirely optional. It is only - necessary when you want full control over when data is uploaded to the server, - beyond simply calling stop: and start: before and after a particular block of - your code. - */ - -@protocol MixpanelDelegate - -@optional -/*! - Asks the delegate if data should be uploaded to the server. - - Return YES to upload now, NO to defer until later. - - @param mixpanel Mixpanel API instance - */ -- (BOOL)mixpanelWillFlush:(Mixpanel *)mixpanel; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Mixpanel/Mixpanel/Mixpanel.m b/Mixpanel/Mixpanel/Mixpanel.m deleted file mode 100755 index 0735f8d2..00000000 --- a/Mixpanel/Mixpanel/Mixpanel.m +++ /dev/null @@ -1,2449 +0,0 @@ -#include -#include -#include -#include -#include - -#import -#import "Mixpanel.h" -#import "MixpanelPeople.h" -#import "MixpanelPeoplePrivate.h" -#import "MixpanelGroup.h" -#import "MixpanelGroupPrivate.h" -#import "MixpanelPrivate.h" -#import "MPFoundation.h" -#import "MPLogger.h" -#import "MPNetworkPrivate.h" - - -#import -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT -#import "NSThread+MPHelpers.h" -#endif -#if defined(MIXPANEL_WATCHOS) -#import "MixpanelWatchProperties.h" -#import -#elif defined(MIXPANEL_MACOS) -#import -#endif - -#if !__has_feature(objc_arc) -#error The Mixpanel library must be compiled with ARC enabled -#endif - -#define VERSION @"3.4.7" - -NSString *const MPNotificationTypeMini = @"mini"; -NSString *const MPNotificationTypeTakeover = @"takeover"; - -@implementation Mixpanel - -static NSMutableDictionary *instances; -static NSString *defaultProjectToken; - -+ (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken launchOptions:(NSDictionary *)launchOptions trackCrashes:(BOOL)trackCrashes automaticPushTracking:(BOOL)automaticPushTracking -{ - return [Mixpanel sharedInstanceWithToken:apiToken launchOptions:launchOptions trackCrashes:trackCrashes automaticPushTracking:automaticPushTracking optOutTrackingByDefault:NO]; -} - -+ (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken launchOptions:(NSDictionary *)launchOptions trackCrashes:(BOOL)trackCrashes automaticPushTracking:(BOOL)automaticPushTracking optOutTrackingByDefault:(BOOL)optOutTrackingByDefault -{ - if (instances[apiToken]) { - return instances[apiToken]; - } - -#if defined(DEBUG) - const NSUInteger flushInterval = 1; -#else - const NSUInteger flushInterval = 60; -#endif - - return [[self alloc] initWithToken:apiToken launchOptions:launchOptions flushInterval:flushInterval trackCrashes:trackCrashes automaticPushTracking:automaticPushTracking optOutTrackingByDefault:optOutTrackingByDefault]; -} - -+ (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken launchOptions:(NSDictionary *)launchOptions -{ - return [Mixpanel sharedInstanceWithToken:apiToken launchOptions:launchOptions trackCrashes:YES automaticPushTracking:YES]; -} - -+ (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken -{ - return [Mixpanel sharedInstanceWithToken:apiToken launchOptions:nil]; -} - -+ (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken optOutTrackingByDefault:(BOOL)optOutTrackingByDefault -{ - return [Mixpanel sharedInstanceWithToken:apiToken launchOptions:nil trackCrashes:YES automaticPushTracking:YES optOutTrackingByDefault:optOutTrackingByDefault]; -} - -+ (nullable Mixpanel *)sharedInstance -{ - if (instances.count == 0) { - MPLogWarning(@"sharedInstance called before creating a Mixpanel instance"); - return nil; - } - - if (instances.count > 1) { - MPLogWarning([NSString stringWithFormat:@"sharedInstance called with multiple mixpanel instances. Using (the first) token %@", defaultProjectToken]); - } - - return instances[defaultProjectToken]; -} - -- (instancetype)init:(NSString *)apiToken -{ - if (self = [super init]) { - self.eventsQueue = [NSMutableArray array]; - self.peopleQueue = [NSMutableArray array]; - self.groupsQueue = [NSMutableArray array]; - self.cachedGroups = [NSMutableDictionary dictionary]; - self.timedEvents = [NSMutableDictionary dictionary]; - self.shownNotifications = [NSMutableSet set]; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - instances = [NSMutableDictionary dictionary]; - defaultProjectToken = apiToken; - loggingLockObject = [[NSObject alloc] init]; - }); - } - - return self; -} - -- (instancetype)initWithToken:(NSString *)apiToken - launchOptions:(NSDictionary *)launchOptions - flushInterval:(NSUInteger)flushInterval - trackCrashes:(BOOL)trackCrashes - automaticPushTracking:(BOOL)automaticPushTracking - optOutTrackingByDefault:(BOOL)optOutTrackingByDefault -{ - if (apiToken.length == 0) { - if (apiToken == nil) { - apiToken = @""; - } - MPLogWarning(@"%@ empty api token", self); - } - if (self = [self init:apiToken]) { - if (![Mixpanel isAppExtension]) { -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT - if (trackCrashes) { - // Install signal and exception handlers first - [[MixpanelExceptionHandler sharedHandler] addMixpanelInstance:self]; - } -#endif -#if !MIXPANEL_NO_REACHABILITY_SUPPORT - self.telephonyInfo = [[CTTelephonyNetworkInfo alloc] init]; -#endif - } - self.apiToken = apiToken; - _flushInterval = flushInterval; - self.useIPAddressForGeoLocation = YES; - self.shouldManageNetworkActivityIndicator = YES; - self.flushOnBackground = YES; - - self.serverURL = @"https://api.mixpanel.com"; - self.switchboardURL = @"wss://switchboard.mixpanel.com"; - - self.showNotificationOnActive = YES; - self.checkForNotificationsOnActive = YES; - self.checkForVariantsOnActive = YES; - self.miniNotificationPresentationTime = 6.0; - self.distinctId = [self defaultDistinctId]; - self.superProperties = [NSDictionary dictionary]; - self.automaticProperties = [self collectAutomaticProperties]; - -#if !defined(MIXPANEL_WATCHOS) && !defined(MIXPANEL_MACOS) - if (![Mixpanel isAppExtension]) { - self.taskId = UIBackgroundTaskInvalid; - } -#endif - NSString *label = [NSString stringWithFormat:@"com.mixpanel.%@.%p", apiToken, (void *)self]; - self.serialQueue = dispatch_queue_create([label UTF8String], DISPATCH_QUEUE_SERIAL); - NSString *networkLabel = [label stringByAppendingString:@".network"]; - self.networkQueue = dispatch_queue_create([networkLabel UTF8String], DISPATCH_QUEUE_SERIAL); - -#if defined(DISABLE_MIXPANEL_AB_DESIGNER) // Deprecated in v3.0.1 - self.enableVisualABTestAndCodeless = NO; -#else - self.enableVisualABTestAndCodeless = YES; -#endif - self.sessionMetadata = [[SessionMetadata alloc] init]; - self.network = [[MPNetwork alloc] initWithServerURL:[NSURL URLWithString:self.serverURL] mixpanel:self]; - self.people = [[MixpanelPeople alloc] initWithMixpanel:self]; - [self setUpListeners]; - [self unarchive]; - - // check whether we should opt out by default - // note: we don't override opt out persistence here since opt-out default state is often - // used as an initial state while GDPR information is being collected - if (optOutTrackingByDefault && ([self hasOptedOutTracking] || self.optOutStatusNotSet)) { - [self optOutTracking]; - } - - if (![Mixpanel isAppExtension]) { -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT - self.automaticEvents = [[AutomaticEvents alloc] init]; - self.automaticEvents.delegate = self; - [self.automaticEvents initializeEvents:self.people]; -#endif -#if !MIXPANEL_NO_CONNECT_INTEGRATION_SUPPORT - self.connectIntegrations = [[MPConnectIntegrations alloc] initWithMixpanel:self]; -#endif -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT - [self executeCachedVariants]; - [self executeCachedEventBindings]; - if (automaticPushTracking) { - [self setupAutomaticPushTracking]; - NSDictionary *remoteNotification = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]; - if (remoteNotification) { - [self trackPushNotification:remoteNotification event:@"$app_open"]; - } - } -#endif - } - instances[apiToken] = self; - } - return self; -} - -- (instancetype)initWithToken:(NSString *)apiToken - launchOptions:(NSDictionary *)launchOptions - flushInterval:(NSUInteger)flushInterval - trackCrashes:(BOOL)trackCrashes - automaticPushTracking:(BOOL)automaticPushTracking -{ - return [self initWithToken:apiToken - launchOptions:launchOptions - flushInterval:flushInterval - trackCrashes:trackCrashes - automaticPushTracking:automaticPushTracking - optOutTrackingByDefault:NO]; -} - -- (instancetype)initWithToken:(NSString *)apiToken - launchOptions:(NSDictionary *)launchOptions - andFlushInterval:(NSUInteger)flushInterval -{ - return [self initWithToken:apiToken - launchOptions:launchOptions - flushInterval:flushInterval - trackCrashes:YES]; -} - -- (instancetype)initWithToken:(NSString *)apiToken - launchOptions:(NSDictionary *)launchOptions - flushInterval:(NSUInteger)flushInterval - trackCrashes:(BOOL)trackCrashes -{ - return [self initWithToken:apiToken - launchOptions:launchOptions - flushInterval:flushInterval - trackCrashes:trackCrashes - automaticPushTracking:YES]; -} - -- (instancetype)initWithToken:(NSString *)apiToken andFlushInterval:(NSUInteger)flushInterval -{ - return [self initWithToken:apiToken launchOptions:nil andFlushInterval:flushInterval]; -} - -- (void)dealloc -{ - [[NSNotificationCenter defaultCenter] removeObserver:self]; - - if (![Mixpanel isAppExtension]) { -#if !MIXPANEL_NO_REACHABILITY_SUPPORT - if (_reachability != NULL) { - if (!SCNetworkReachabilitySetCallback(_reachability, NULL, NULL)) { - MPLogError(@"%@ error unsetting reachability callback", self); - } - if (!SCNetworkReachabilitySetDispatchQueue(_reachability, NULL)) { - MPLogError(@"%@ error unsetting reachability dispatch queue", self); - } - CFRelease(_reachability); - _reachability = NULL; - } -#endif -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT - if (self.hasAddedObserver) { - [[UNUserNotificationCenter currentNotificationCenter] removeObserver:self forKeyPath:@"delegate"]; - } -#endif - } -} - -+ (BOOL)isAppExtension -{ -#if TARGET_OS_IOS - return [[NSBundle mainBundle].bundlePath hasSuffix:@".appex"]; -#else - return NO; -#endif -} - -#if !MIXPANEL_NO_UIAPPLICATION_ACCESS -+ (UIApplication *)sharedUIApplication -{ - if ([[UIApplication class] respondsToSelector:@selector(sharedApplication)]) { - return [[UIApplication class] performSelector:@selector(sharedApplication)]; - } - return nil; -} -#endif - -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT -- (void)setValidationEnabled:(BOOL)validationEnabled -{ - _validationEnabled = validationEnabled; - - if (![Mixpanel isAppExtension]) { - if (_validationEnabled) { - [Mixpanel setSharedAutomatedInstance:self]; - } else { - [Mixpanel setSharedAutomatedInstance:nil]; - } - } -} -#endif - -- (BOOL)shouldManageNetworkActivityIndicator -{ - return self.network.shouldManageNetworkActivityIndicator; -} - -- (void)setShouldManageNetworkActivityIndicator:(BOOL)shouldManageNetworkActivityIndicator -{ - self.network.shouldManageNetworkActivityIndicator = shouldManageNetworkActivityIndicator; -} - -- (BOOL)useIPAddressForGeoLocation -{ - return self.network.useIPAddressForGeoLocation; -} - -- (void)setUseIPAddressForGeoLocation:(BOOL)useIPAddressForGeoLocation -{ - self.network.useIPAddressForGeoLocation = useIPAddressForGeoLocation; -} - -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT -- (UInt64)minimumSessionDuration -{ - return self.automaticEvents.minimumSessionDuration; -} - -- (void)setMinimumSessionDuration:(UInt64)minimumSessionDuration -{ - self.automaticEvents.minimumSessionDuration = minimumSessionDuration; -} - -- (UInt64)maximumSessionDuration -{ - return self.automaticEvents.maximumSessionDuration; -} - -- (void)setMaximumSessionDuration:(UInt64)maximumSessionDuration -{ - self.automaticEvents.maximumSessionDuration = maximumSessionDuration; -} -#endif - -#pragma mark - Tracking -+ (void)assertPropertyTypes:(NSDictionary *)properties -{ - [Mixpanel assertPropertyTypesInDictionary:properties depth:0]; -} - -+ (void)assertPropertyType:(id)propertyValue depth:(NSUInteger)depth -{ - // Note that @YES and @NO pass as instances of NSNumber class. - NSAssert([propertyValue isKindOfClass:[NSString class]] || - [propertyValue isKindOfClass:[NSNumber class]] || - [propertyValue isKindOfClass:[NSNull class]] || - [propertyValue isKindOfClass:[NSArray class]] || - [propertyValue isKindOfClass:[NSDictionary class]] || - [propertyValue isKindOfClass:[NSDate class]] || - [propertyValue isKindOfClass:[NSURL class]], - @"%@ property values must be NSString, NSNumber, NSNull, NSArray, NSDictionary, NSDate or NSURL. got: %@ %@", self, [propertyValue class], propertyValue); - -#ifdef DEBUG - if (depth == 3) { - MPLogWarning(@"Your properties are overly nested, specifically 3 or more levels deep. \ - Generally this is not recommended due to its complexity."); - } - if ([propertyValue isKindOfClass:[NSDictionary class]]) { - [Mixpanel assertPropertyTypesInDictionary:propertyValue depth:depth+1]; - } else if ([propertyValue isKindOfClass:[NSArray class]]) { - [Mixpanel assertPropertyTypesInArray:propertyValue depth:depth+1]; - } -#endif -} - -+ (void)assertPropertyTypesInDictionary:(NSDictionary *)properties depth:(NSUInteger)depth -{ - if([properties count] > 1000) { - MPLogWarning(@"You have an NSDictionary in your properties that is bigger than 1000 in size. \ - Generally this is not recommended due to its size."); - } - for (id key in properties) { - id value = properties[key]; - NSAssert([key isKindOfClass:[NSString class]], @"%@ property keys must be NSString. got: %@ %@", self, [key class], key); - [Mixpanel assertPropertyType:value depth:depth]; - } -} - -+ (void)assertPropertyTypesInArray:(NSArray *)arrayOfProperties depth:(NSUInteger)depth -{ - if([arrayOfProperties count] > 1000) { - MPLogWarning(@"You have an NSArray in your properties that is bigger than 1000 in size. \ - Generally this is not recommended due to its size."); - } - for (id value in arrayOfProperties) { - [Mixpanel assertPropertyType:value depth:depth]; - } -} - -- (NSString *)defaultDistinctId -{ - NSString *distinctId; -#if defined(MIXPANEL_RANDOM_DISTINCT_ID) - distinctId = [[NSUUID UUID] UUIDString]; -#elif defined(MIXPANEL_MACOS) - distinctId = [self macOSIdentifier]; -#else - distinctId = [self IFA]; -#endif - -#if !defined(MIXPANEL_WATCHOS) && !defined(MIXPANEL_MACOS) - if (!distinctId && NSClassFromString(@"UIDevice")) { - distinctId = [[UIDevice currentDevice].identifierForVendor UUIDString]; - } -#endif - if (!distinctId) { - MPLogInfo(@"%@ error getting device identifier: falling back to uuid", self); - distinctId = [[NSUUID UUID] UUIDString]; - } - return distinctId; -} - -- (void)identify:(NSString *)distinctId -{ - [self identify:distinctId usePeople:YES]; -} - -- (void)identify:(NSString *)distinctId usePeople:(BOOL)usePeople -{ - if ([self hasOptedOutTracking]) { - return; - } - - if (distinctId.length == 0) { - MPLogWarning(@"%@ cannot identify blank distinct id: %@", self, distinctId); - return; - } - - dispatch_async(self.serialQueue, ^{ - if(!self.anonymousId) { - self.anonymousId = self.distinctId; - self.hadPersistedDistinctId = YES; - } - // identify only changes the distinct id if it doesn't match either the existing or the alias; - // if it's new, blow away the alias as well. - if (![distinctId isEqualToString:self.alias]) { - if (![distinctId isEqualToString:self.distinctId]) { - NSString *oldDistinctId = [self.distinctId copy]; - self.alias = nil; - self.distinctId = distinctId; - self.userId = distinctId; - [self track:@"$identify" properties:@{@"$anon_distinct_id": oldDistinctId}]; - } - if (usePeople) { - self.people.distinctId = distinctId; - if (self.people.unidentifiedQueue.count > 0) { - for (NSMutableDictionary *r in self.people.unidentifiedQueue) { - r[@"$distinct_id"] = self.distinctId; - @synchronized (self) { - [self.peopleQueue addObject:r]; - } - } - [self.people.unidentifiedQueue removeAllObjects]; - [self archivePeople]; - } - } else { - self.people.distinctId = nil; - } - } - [self archiveProperties]; - }); -#if MIXPANEL_FLUSH_IMMEDIATELY - [self flush]; -#else - if ([Mixpanel isAppExtension]) { - [self flush]; - } -#endif -} - -- (void)createAlias:(NSString *)alias forDistinctID:(NSString *)distinctID -{ - [self createAlias:alias forDistinctID:distinctID usePeople:YES]; -} - -- (void)createAlias:(NSString *)alias forDistinctID:(NSString *)distinctID usePeople:(BOOL)usePeople -{ - if ([self hasOptedOutTracking]) { - return; - } - - if (alias.length == 0) { - MPLogError(@"%@ create alias called with empty alias: %@", self, alias); - return; - } - if (distinctID.length == 0) { - MPLogError(@"%@ create alias called with empty distinct id: %@", self, distinctID); - return; - } - if (![alias isEqualToString:distinctID]) { - dispatch_async(self.serialQueue, ^{ - self.alias = alias; - [self archiveProperties]; - }); - [self track:@"$create_alias" properties:@{ @"distinct_id": distinctID, @"alias": alias }]; - [self identify:distinctID usePeople:usePeople]; - [self flush]; - } else { - MPLogWarning(@"alias: %@ matches distinctID: %@ - skipping api call.", alias, distinctID); - } -} - -- (void)track:(NSString *)event -{ - [self track:event properties:nil]; -} - -- (void)track:(NSString *)event properties:(NSDictionary *)properties -{ - if ([self hasOptedOutTracking]) { - return; - } - - if (event.length == 0) { - MPLogWarning(@"%@ mixpanel track called with empty event parameter. using 'mp_event'", self); - event = @"mp_event"; - } - -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT - BOOL isAutomaticTrack = [event isEqualToString:kAutomaticTrackName]; - if (![Mixpanel isAppExtension]) { - // Safety check - if (isAutomaticTrack && !self.isValidationEnabled) return; - } -#endif - - properties = [properties copy]; - [Mixpanel assertPropertyTypes:properties]; - - NSTimeInterval epochInterval = [[NSDate date] timeIntervalSince1970]; - NSNumber *epochSeconds = @(round(epochInterval)); - dispatch_async(self.serialQueue, ^{ - NSNumber *eventStartTime = self.timedEvents[event]; - NSMutableDictionary *p = [NSMutableDictionary dictionaryWithDictionary:self.automaticProperties]; - p[@"token"] = self.apiToken; - p[@"time"] = epochSeconds; - if (eventStartTime != nil) { - [self.timedEvents removeObjectForKey:event]; - p[@"$duration"] = @([[NSString stringWithFormat:@"%.3f", epochInterval - [eventStartTime doubleValue]] floatValue]); - } - if (self.distinctId) { - p[@"distinct_id"] = self.distinctId; - } - if (self.anonymousId) { - p[@"$device_id"] = self.anonymousId; - } - if (self.userId) { - p[@"$user_id"] = self.userId; - } - if (self.hadPersistedDistinctId) { - p[@"$had_persisted_distinct_id"] = [NSNumber numberWithBool:self.hadPersistedDistinctId]; - } - [p addEntriesFromDictionary:self.superProperties]; - if (properties) { - [p addEntriesFromDictionary:properties]; - } - -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT - if (![Mixpanel isAppExtension]) { - if (self.validationEnabled) { - if (self.validationMode == AutomaticTrackModeCount) { - if (isAutomaticTrack) { - self.validationEventCount++; - } else { - if (self.validationEventCount > 0) { - p[@"$__c"] = @(self.validationEventCount); - self.validationEventCount = 0; - } - } - } - } - } -#endif - - NSMutableDictionary *e = [[NSMutableDictionary alloc] initWithDictionary:@{ @"event": event, - @"properties": [NSDictionary dictionaryWithDictionary:p]}]; - [e addEntriesFromDictionary:[self.sessionMetadata toDictionaryForEvent:YES]]; - MPLogInfo(@"%@ queueing event: %@", self, e); - @synchronized (self) { - [self.eventsQueue addObject:e]; - if (self.eventsQueue.count > 5000) { - [self.eventsQueue removeObjectAtIndex:0]; - } - } -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT -#if !TARGET_OS_WATCH - for (MPNotification *notif in self.triggeredNotifications) { - if ([notif matchesEvent:e]) { - [self showNotificationWithObject:notif]; - break; - } - } -#endif -#endif //MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT - // Always archive - [self archiveEvents]; - }); -#if MIXPANEL_FLUSH_IMMEDIATELY - [self flush]; -#else - if ([Mixpanel isAppExtension]) { - [self flush]; - } -#endif -} - -- (void)trackWithGroups:(NSString *)event - properties:(NSDictionary *)properties - groups:(NSDictionary *)groups { - if ([self hasOptedOutTracking]) { - return; - } - if (properties == nil) { - [self track:event properties:groups]; - return; - } - if (groups == nil) { - [self track:event properties:properties]; - return; - } - NSMutableDictionary *mergedProps = [properties mutableCopy]; - [groups enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL *stop) { - if (value != nil) - [mergedProps setObject:value forKey:key]; - }]; - [self track:event properties:mergedProps]; -} - -- (void)addGroup:(NSString *)groupKey groupID:(id)groupID { - if ([self hasOptedOutTracking]) { - return; - } - - [self addValuesToGroupSuperProperty:groupKey groupID:groupID]; - [self.people union:@{groupKey : @[groupID]}]; -} - -- (void)addValuesToGroupSuperProperty:(NSString *)groupKey - groupID:(id)groupID { - [self updateSuperPropertiesAsync:^NSDictionary *(NSDictionary *superProps) { - NSMutableDictionary *mutableSuperProps = [superProps mutableCopy]; - NSMutableArray> *values = - [NSMutableArray arrayWithArray:mutableSuperProps[groupKey]]; - BOOL exist = NO; - for (NSUInteger i = 0; i < [values count]; ++i) { - if ([values[i] equalToMixpanelType:groupID]) { - exist = YES; - break; - } - } - if (!exist) { - [values addObject:groupID]; - } - mutableSuperProps[groupKey] = [values copy]; - return mutableSuperProps; - }]; -} - -- (void)removeGroup:(NSString *)groupKey groupID:(id)groupID { - if ([self hasOptedOutTracking]) { - return; - } - [self updateSuperPropertiesAsync:^NSDictionary *(NSDictionary *superProps) { - NSMutableDictionary *mutableSuperProps = [superProps mutableCopy]; - NSObject *oldValue = superProps[groupKey]; - if (oldValue == nil) { - return superProps; - } - if (![oldValue isKindOfClass:[NSArray class]]) { - [mutableSuperProps removeObjectForKey:groupKey]; - [self.people unset:@[groupKey]]; - return mutableSuperProps; - } - NSMutableArray *vals = - [NSMutableArray arrayWithArray:mutableSuperProps[groupKey]]; - - for (NSUInteger i = 0; i < [vals count]; ++i) { - if ([vals[i] equalToMixpanelType:groupID]) { - [vals removeObjectAtIndex:i]; - break; - } - } - if (![vals count]) { - [mutableSuperProps removeObjectForKey:groupKey]; - } else { - mutableSuperProps[groupKey] = vals; - } - [self.people remove:@{groupKey : groupID}]; - return mutableSuperProps; - }]; -} - -- (void)setGroup:(NSString *)groupKey - groupIDs:(NSArray> *)groupIDs { - if ([self hasOptedOutTracking]) { - return; - } - NSDictionary *properties = @{groupKey : groupIDs}; - [self registerSuperProperties:properties]; - [self.people set:properties]; -} - -- (void)setGroup:(NSString *)groupKey groupID:(id)groupID { - NSArray *groupIDs = @[ groupID ]; - [self setGroup:groupKey groupIDs:groupIDs]; -} -- (NSString *)keyForGroup:(NSString *)groupKey - groupID:(id)groupID { - return [NSString stringWithFormat:@"%@_%@", groupKey, groupID]; -} -- (MixpanelGroup *)getGroup:(NSString *)groupKey - groupID:(id)groupID { - NSString *mapKey = [self keyForGroup:groupKey groupID:groupID]; - @synchronized(self.cachedGroups) { - MixpanelGroup *group = self.cachedGroups[mapKey]; - if (!group || group.groupKey != groupKey || - ![groupID equalToMixpanelType:group.groupID]) { - group = [[MixpanelGroup alloc] init:self groupKey:groupKey groupID:groupID]; - // if key collision happens, the old entry will be evicted - self.cachedGroups[mapKey] = group; - } - return group; - } -} - -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT -- (void)setupAutomaticPushTracking -{ - [NSThread mp_safelyRunOnMainThreadSync:^{ - SEL selector = nil; - Class newCls = [[UNUserNotificationCenter currentNotificationCenter].delegate class]; - Class cls = [[Mixpanel sharedUIApplication].delegate class]; - - if ([UNUserNotificationCenter class] && !newCls) { - [[UNUserNotificationCenter currentNotificationCenter] addObserver:self forKeyPath:@"delegate" options:0 context:nil]; - self.hasAddedObserver = YES; - } - - BOOL selectorFromNewClass = NO; - if (class_getInstanceMethod(newCls, NSSelectorFromString(@"userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"))) { - selector = NSSelectorFromString(@"userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"); - selectorFromNewClass = YES; - } else if (class_getInstanceMethod(cls, NSSelectorFromString(@"application:didReceiveRemoteNotification:fetchCompletionHandler:"))) { - selector = NSSelectorFromString(@"application:didReceiveRemoteNotification:fetchCompletionHandler:"); - } else if (class_getInstanceMethod(cls, NSSelectorFromString(@"application:didReceiveRemoteNotification:"))) { - selector = NSSelectorFromString(@"application:didReceiveRemoteNotification:"); - } - - if (selector) { - if (selectorFromNewClass) { - [MPSwizzler swizzleSelector:selector - onClass:newCls - withBlock:^(id view, SEL command, UIApplication *application, UNNotificationResponse *response) { - [self trackPushNotification:response.notification.request.content.userInfo]; - } - named:@"notification opened"]; - } else { - [MPSwizzler swizzleSelector:selector - onClass:cls - withBlock:^(id view, SEL command, UIApplication *application, NSDictionary *userInfo) { - [self trackPushNotification:userInfo]; - } - named:@"notification opened"]; - } - } - }]; -} - -- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context -{ - if ([keyPath isEqualToString:@"delegate"]) { - Class cls = [[UNUserNotificationCenter currentNotificationCenter].delegate class]; - if (class_getInstanceMethod(cls, NSSelectorFromString(@"userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"))) { - SEL selector = NSSelectorFromString(@"userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"); - if (selector) { - [MPSwizzler swizzleSelector:selector - onClass:cls - withBlock:^(id view, SEL command, UIApplication *application, UNNotificationResponse *response) { - [self trackPushNotification:response.notification.request.content.userInfo]; - } - named:@"notification opened"]; - } - } - } -} - -- (void)trackPushNotification:(NSDictionary *)userInfo event:(NSString *)event -{ - MPLogInfo(@"%@ tracking push payload %@", self, userInfo); - - id rawMp = userInfo[@"mp"]; - if (rawMp) { - - NSDictionary *mpPayload = [rawMp isKindOfClass:[NSDictionary class]] ? rawMp : nil; - - if (mpPayload[@"m"] && mpPayload[@"c"]) { - NSMutableDictionary *properties = [mpPayload mutableCopy]; - properties[@"campaign_id"] = mpPayload[@"c"]; - properties[@"message_id"] = mpPayload[@"m"]; - properties[@"message_type"] = @"push"; - [properties removeObjectForKey:@"c"]; - [properties removeObjectForKey:@"m"]; - - [self track:event properties:properties]; - } else { - MPLogInfo(@"%@ malformed mixpanel push payload %@", self, mpPayload); - } - } -} - -- (void)trackPushNotification:(NSDictionary *)userInfo -{ - [self trackPushNotification:userInfo event:@"$campaign_received"]; -} -#endif - -typedef NSDictionary*(^PropertyUpdate)(NSDictionary*); - -- (void)updateSuperPropertiesAsync:(PropertyUpdate) update{ - dispatch_async(self.serialQueue, ^{ - NSDictionary* newSuperProp = update(self.currentSuperProperties); - [self setSuperProperties:newSuperProp]; - [self archiveProperties]; - }); -} - -- (void)registerSuperProperties:(NSDictionary *)properties -{ - if ([self hasOptedOutTracking]) { - return; - } - - properties = [properties copy]; - [Mixpanel assertPropertyTypes:properties]; - dispatch_async(self.serialQueue, ^{ - NSMutableDictionary *tmp = [NSMutableDictionary dictionaryWithDictionary:self.superProperties]; - [tmp addEntriesFromDictionary:properties]; - self.superProperties = [NSDictionary dictionaryWithDictionary:tmp]; - [self archiveProperties]; - }); -} - -- (void)registerSuperPropertiesOnce:(NSDictionary *)properties -{ - [self registerSuperPropertiesOnce:properties defaultValue:nil]; -} - -- (void)registerSuperPropertiesOnce:(NSDictionary *)properties defaultValue:(id)defaultValue -{ - if ([self hasOptedOutTracking]) { - return; - } - properties = [properties copy]; - [Mixpanel assertPropertyTypes:properties]; - dispatch_async(self.serialQueue, ^{ - NSMutableDictionary *tmp = [NSMutableDictionary dictionaryWithDictionary:self.superProperties]; - for (NSString *key in properties) { - id value = tmp[key]; - if (value == nil || [value isEqual:defaultValue]) { - tmp[key] = properties[key]; - } - } - self.superProperties = [NSDictionary dictionaryWithDictionary:tmp]; - [self archiveProperties]; - }); -} - -- (void)unregisterSuperProperty:(NSString *)propertyName -{ - dispatch_async(self.serialQueue, ^{ - NSMutableDictionary *tmp = [NSMutableDictionary dictionaryWithDictionary:self.superProperties]; - tmp[propertyName] = nil; - self.superProperties = [NSDictionary dictionaryWithDictionary:tmp]; - [self archiveProperties]; - }); -} - -- (void)clearSuperProperties -{ - dispatch_async(self.serialQueue, ^{ - self.superProperties = @{}; - [self archiveProperties]; - }); -} - -- (NSDictionary *)currentSuperProperties -{ - return [self.superProperties copy]; -} - -- (void)timeEvent:(NSString *)event -{ - if ([self hasOptedOutTracking]) { - return; - } - - NSNumber *startTime = @([[NSDate date] timeIntervalSince1970]); - - if (event.length == 0) { - MPLogError(@"Mixpanel cannot time an empty event"); - return; - } - dispatch_async(self.serialQueue, ^{ - self.timedEvents[event] = startTime; - }); -} - -- (double)eventElapsedTime:(NSString *)event -{ - NSNumber *startTime = self.timedEvents[event]; - if (startTime == nil) { - return 0; - } else { - return [[NSDate date] timeIntervalSince1970] - [startTime doubleValue]; - } -} - -- (void)clearTimedEvents -{ dispatch_async(self.serialQueue, ^{ - self.timedEvents = [NSMutableDictionary dictionary]; - }); -} - -- (void)reset -{ - [self flush]; - dispatch_async(self.serialQueue, ^{ - // wait for all current network requests to finish before resetting - dispatch_sync(self.networkQueue, ^{ return; }); - @synchronized (self) { - self.anonymousId = [self defaultDistinctId]; - self.distinctId = self.anonymousId; - self.superProperties = [NSDictionary dictionary]; - self.userId = nil; - self.people.distinctId = nil; - self.alias = nil; - self.hadPersistedDistinctId = NO; - self.people.unidentifiedQueue = [NSMutableArray array]; - self.eventsQueue = [NSMutableArray array]; - self.peopleQueue = [NSMutableArray array]; - self.groupsQueue = [NSMutableArray array]; - self.cachedGroups = [NSMutableDictionary dictionary]; - self.timedEvents = [NSMutableDictionary dictionary]; - self.shownNotifications = [NSMutableSet set]; - self.decideResponseCached = NO; - self.variants = [NSSet set]; - self.eventBindings = [NSSet set]; -#if !MIXPANEL_NO_CONNECT_INTEGRATION_SUPPORT - [self.connectIntegrations reset]; -#endif -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT - if (![Mixpanel isAppExtension]) { - [[MPTweakStore sharedInstance] reset]; - } -#endif - } - [self archive]; - }); -} - -- (void)dispatchOnNetworkQueue:(void (^)(void))dispatchBlock -{ - // so this looks stupid but to make [Mixpanel track]; [Mixpanel flush]; continue to have the track - // guaranteed to be part of the flush we need to make networkQueue stuff be dispatched on serialQueue - // first. still will allow serialQueue stuff to happen at the same time as networkQueue stuff just - // don't want to change track -> flush behavior that people may be relying on - dispatch_async(self.serialQueue, ^{ - dispatch_async(self.networkQueue, dispatchBlock); - }); -} - -- (void)optOutTracking{ - dispatch_async(self.serialQueue, ^{ - [self.eventsQueue removeAllObjects]; - [self.peopleQueue removeAllObjects]; - [self.groupsQueue removeAllObjects]; - }); - if (self.people.distinctId) { - [self.people deleteUser]; - [self.people clearCharges]; - [self flush]; - } - dispatch_async(self.serialQueue, ^{ - self.alias = nil; - self.people.distinctId = nil; - self.userId = nil; - self.anonymousId = [self defaultDistinctId]; - self.distinctId = self.anonymousId; - self.hadPersistedDistinctId = NO; - self.superProperties = [NSDictionary new]; - [self.people.unidentifiedQueue removeAllObjects]; - [self.timedEvents removeAllObjects]; - [self archive]; - }); - self.optOutStatus = YES; - [self archiveOptOut]; -} - -- (void)optInTracking -{ - [self optInTrackingForDistinctID:nil withEventProperties:nil]; -} - -- (void)optInTrackingForDistinctID:(NSString *)distinctID -{ - [self optInTrackingForDistinctID:distinctID withEventProperties:nil]; -} - -- (void)optInTrackingForDistinctID:(NSString *)distinctID withEventProperties:(NSDictionary *)properties -{ - self.optOutStatus = NO; - [self archiveOptOut]; - if (distinctID) { - [self identify:distinctID]; - } - [self track:@"$opt_in" properties:properties]; -} - -- (BOOL)hasOptedOutTracking -{ - return self.optOutStatus; -} - -#pragma mark - Network control -- (void)setServerURL:(NSString *)serverURL -{ - _serverURL = serverURL.copy; - self.network = [[MPNetwork alloc] initWithServerURL:[NSURL URLWithString:serverURL] mixpanel:self]; -} - -- (NSUInteger)flushInterval { - return _flushInterval; -} - -- (void)setFlushInterval:(NSUInteger)interval -{ - @synchronized (self) { - _flushInterval = interval; - } - [self flush]; - [self startFlushTimer]; -} - -- (void)startFlushTimer -{ - [self stopFlushTimer]; - dispatch_async(dispatch_get_main_queue(), ^{ - if (self.flushInterval > 0) { - self.timer = [NSTimer scheduledTimerWithTimeInterval:self.flushInterval - target:self - selector:@selector(flush) - userInfo:nil - repeats:YES]; - MPLogInfo(@"%@ started flush timer: %@", self, self.timer); - } - }); -} - -- (void)stopFlushTimer -{ - dispatch_async(dispatch_get_main_queue(), ^{ - if (self.timer) { - [self.timer invalidate]; - MPLogInfo(@"%@ stopped flush timer: %@", self, self.timer); - self.timer = nil; - } - }); -} - -- (void)flush -{ - [self flushWithCompletion:nil]; -} - -- (void)flushWithCompletion:(void (^)(void))handler -{ - if ([self hasOptedOutTracking]) { - if (handler) { - dispatch_async(dispatch_get_main_queue(), handler); - } - return; - } - - [self dispatchOnNetworkQueue:^{ - MPLogInfo(@"%@ flush starting", self); - - __strong id strongDelegate = self.delegate; - if (strongDelegate && [strongDelegate respondsToSelector:@selector(mixpanelWillFlush:)]) { - if (![strongDelegate mixpanelWillFlush:self]) { - MPLogInfo(@"%@ flush deferred by delegate", self); - return; - } - } - - [self.network flushEventQueue:self.eventsQueue]; - [self.network flushPeopleQueue:self.peopleQueue]; - [self.network flushGroupsQueue:self.groupsQueue]; - - [self archive]; - - if (handler) { - dispatch_async(dispatch_get_main_queue(), handler); - } - - MPLogInfo(@"%@ flush complete", self); - }]; -} - -#pragma mark - Persistence -- (NSString *)filePathFor:(NSString *)data -{ - NSString *filename = [NSString stringWithFormat:@"mixpanel-%@-%@.plist", self.apiToken, data]; -#if !defined(MIXPANEL_TVOS) - return [[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject] - stringByAppendingPathComponent:filename]; -#else - return [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] - stringByAppendingPathComponent:filename]; -#endif -} - -- (NSString *)eventsFilePath -{ - return [self filePathFor:@"events"]; -} - -- (NSString *)peopleFilePath -{ - return [self filePathFor:@"people"]; -} - -- (NSString *)groupsFilePath -{ - return [self filePathFor:@"groups"]; -} - -- (NSString *)propertiesFilePath -{ - return [self filePathFor:@"properties"]; -} - -- (NSString *)variantsFilePath -{ - return [self filePathFor:@"variants"]; -} - -- (NSString *)eventBindingsFilePath -{ - return [self filePathFor:@"event_bindings"]; -} - -- (NSString *)optOutFilePath -{ - return [self filePathFor:@"optOut"]; -} - -- (void)archive -{ - [self archiveEvents]; - [self archivePeople]; - [self archiveGroups]; - [self archiveProperties]; - [self archiveVariants]; - [self archiveEventBindings]; -} - -- (void)archiveEvents -{ - NSString *filePath = [self eventsFilePath]; - MPLogInfo(@"%@ archiving events data to %@: %@", self, filePath, self.eventsQueue); - if (![self archiveObject:[self.eventsQueue copy] withFilePath:filePath]) { - MPLogError(@"%@ unable to archive event data", self); - } -} - -- (void)archivePeople -{ - NSString *filePath = [self peopleFilePath]; - MPLogInfo(@"%@ archiving people data to %@: %@", self, filePath, self.peopleQueue); - if (![self archiveObject:[self.peopleQueue copy] withFilePath:filePath]) { - MPLogError(@"%@ unable to archive people data", self); - } -} - -- (void)archiveGroups -{ - NSString *filePath = [self groupsFilePath]; - MPLogInfo(@"%@ archiving groups data to %@: %@", self, filePath, self.groupsQueue); - if (![self archiveObject:[self.groupsQueue copy] withFilePath:filePath]) { - MPLogError(@"%@ unable to archive groups data", self); - } -} - -- (void)archiveProperties -{ - NSString *filePath = [self propertiesFilePath]; - NSMutableDictionary *p = [NSMutableDictionary dictionary]; - [p setValue:self.anonymousId forKey:@"anonymousId"]; - [p setValue:self.distinctId forKey:@"distinctId"]; - [p setValue:self.userId forKey:@"userId"]; - [p setValue:self.alias forKey:@"alias"]; - [p setValue:[NSNumber numberWithBool:self.hadPersistedDistinctId] forKey:@"hadPersistedDistinctId"]; - [p setValue:self.superProperties forKey:@"superProperties"]; - [p setValue:self.people.distinctId forKey:@"peopleDistinctId"]; - [p setValue:[self.people.unidentifiedQueue copy] forKey:@"peopleUnidentifiedQueue"]; - [p setValue:[self.shownNotifications copy] forKey:@"shownNotifications"]; - [p setValue:[self.timedEvents copy] forKey:@"timedEvents"]; - [p setValue:self.automaticEventsEnabled forKey:@"automaticEvents"]; - MPLogInfo(@"%@ archiving properties data to %@: %@", self, filePath, p); - if (![self archiveObject:p withFilePath:filePath]) { - MPLogError(@"%@ unable to archive properties data", self); - } -} - -- (void)archiveVariants -{ - NSString *filePath = [self variantsFilePath]; - if (![self archiveObject:self.variants withFilePath:filePath]) { - MPLogError(@"%@ unable to archive variants data", self); - } -} - -- (void)archiveEventBindings -{ - NSString *filePath = [self eventBindingsFilePath]; - if (![self archiveObject:self.eventBindings withFilePath:filePath]) { - MPLogError(@"%@ unable to archive tracking events data", self); - } -} - -- (BOOL)archiveObject:(id)object withFilePath:(NSString *)filePath -{ - @try { - if (![NSKeyedArchiver archiveRootObject:object toFile:filePath]) { - return NO; - } - } @catch (NSException* exception) { - MPLogError(@"Got exception: %@, reason: %@. You can only send to Mixpanel values that inherit from NSObject and implement NSCoding.", exception.name, exception.reason); - return NO; - } - - [self addSkipBackupAttributeToItemAtPath:filePath]; - return YES; -} - -- (void)archiveOptOut -{ - NSString *filePath = [self optOutFilePath]; - if (![self archiveObject:[NSNumber numberWithBool:self.optOutStatus] withFilePath:filePath]) { - MPLogError(@"%@ unable to archive opt out status", self); - } -} - -- (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *)filePathString -{ - NSURL *URL = [NSURL fileURLWithPath: filePathString]; - assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]); - - NSError *error = nil; - BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES] - forKey: NSURLIsExcludedFromBackupKey error: &error]; - if (!success) { - MPLogError(@"Error excluding %@ from backup %@", [URL lastPathComponent], error); - } - return success; -} - -- (void)unarchive -{ - [self unarchiveEvents]; - [self unarchivePeople]; - [self unarchiveGroups]; - [self unarchiveProperties]; - [self unarchiveVariants]; - [self unarchiveEventBindings]; - [self unarchiveOptOut]; -} - -+ (nonnull id)unarchiveOrDefaultFromFile:(NSString *)filePath asClass:(Class)class -{ - return [self unarchiveFromFile:filePath asClass:class] ?: [class new]; -} - -+ (id)unarchiveFromFile:(NSString *)filePath asClass:(Class)class -{ - id unarchivedData = nil; - @try { - unarchivedData = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; - // this check is inside the try-catch as the unarchivedData may be a non-NSObject, not responding to `isKindOfClass:` or `respondsToSelector:` - if (![unarchivedData isKindOfClass:class]) { - unarchivedData = nil; - } - MPLogInfo(@"%@ unarchived data from %@: %@", self, filePath, unarchivedData); - } - @catch (NSException *exception) { - MPLogError(@"%@ unable to unarchive data in %@, starting fresh", self, filePath); - // Reset un archived data - unarchivedData = nil; - // Remove the (possibly) corrupt data from the disk - NSError *error = NULL; - BOOL removed = [[NSFileManager defaultManager] removeItemAtPath:filePath error:&error]; - if (!removed) { - MPLogWarning(@"%@ unable to remove archived file at %@ - %@", self, filePath, error); - } - } - return unarchivedData; -} - -- (void)unarchiveEvents -{ - self.eventsQueue = [NSMutableArray arrayWithArray:(NSArray *)[Mixpanel unarchiveOrDefaultFromFile:[self eventsFilePath] asClass:[NSArray class]]]; -} - -- (void)unarchivePeople -{ - self.peopleQueue = [NSMutableArray arrayWithArray:(NSArray *)[Mixpanel unarchiveOrDefaultFromFile:[self peopleFilePath] asClass:[NSArray class]]]; -} - -- (void)unarchiveGroups -{ - self.groupsQueue = [NSMutableArray arrayWithArray:(NSArray *)[Mixpanel unarchiveOrDefaultFromFile:[self groupsFilePath] asClass:[NSArray class]]]; -} - -- (void)unarchiveProperties -{ - NSDictionary *properties = (NSDictionary *)[Mixpanel unarchiveFromFile:[self propertiesFilePath] asClass:[NSDictionary class]]; - if (properties) { - self.distinctId = properties[@"distinctId"]; - self.userId = properties[@"userId"]; - self.anonymousId = properties[@"anonymousId"]; - self.hadPersistedDistinctId = [properties[@"hadPersistedDistinctId"] boolValue]; - if (!self.distinctId) { - self.anonymousId = [self defaultDistinctId]; - self.distinctId = self.anonymousId; - self.userId = nil; - self.hadPersistedDistinctId = NO; - } - self.alias = properties[@"alias"]; - self.superProperties = properties[@"superProperties"] ?: [NSDictionary dictionary]; - self.people.distinctId = properties[@"peopleDistinctId"]; - self.people.unidentifiedQueue = [NSMutableArray arrayWithArray:properties[@"peopleUnidentifiedQueue"]] ?: [NSMutableArray array]; - self.shownNotifications = [NSMutableSet setWithSet:properties[@"shownNotifications"]] ?: [NSMutableSet set]; - self.variants = properties[@"variants"] ?: [NSSet set]; - self.eventBindings = properties[@"event_bindings"] ?: [NSSet set]; - self.timedEvents = [properties[@"timedEvents"] mutableCopy] ?: [NSMutableDictionary dictionary]; - self.automaticEventsEnabled = properties[@"automaticEvents"]; - } -} - -- (void)unarchiveVariants -{ - self.variants = (NSSet *)[Mixpanel unarchiveOrDefaultFromFile:[self variantsFilePath] asClass:[NSSet class]]; -} - -- (void)unarchiveEventBindings -{ - self.eventBindings = (NSSet *)[Mixpanel unarchiveOrDefaultFromFile:[self eventBindingsFilePath] asClass:[NSSet class]]; -} - -- (void)unarchiveOptOut -{ - NSNumber *optOutStatus = (NSNumber *)[Mixpanel unarchiveOrDefaultFromFile:[self optOutFilePath] asClass:[NSNumber class]]; - self.optOutStatus = [optOutStatus boolValue]; - self.optOutStatusNotSet = (optOutStatus == nil); -} - -#pragma mark - Application Helpers - -- (NSString *)description -{ - return [NSString stringWithFormat:@"", (void *)self, self.apiToken]; -} - -- (NSString *)deviceModel -{ - NSString *results = nil; - size_t size; - sysctlbyname("hw.machine", NULL, &size, NULL, 0); - char answer[size]; - sysctlbyname("hw.machine", answer, &size, NULL, 0); - if (size) { - results = @(answer); - } else { - MPLogError(@"Failed fetch hw.machine from sysctl."); - } - return results; -} - -- (NSString *)IFA -{ - NSString *ifa = nil; -#if !defined(MIXPANEL_NO_IFA) - Class ASIdentifierManagerClass = NSClassFromString(@"ASIdentifierManager"); - if (ASIdentifierManagerClass) { - SEL sharedManagerSelector = NSSelectorFromString(@"sharedManager"); - id sharedManager = ((id (*)(id, SEL))[ASIdentifierManagerClass methodForSelector:sharedManagerSelector])(ASIdentifierManagerClass, sharedManagerSelector); - SEL advertisingTrackingEnabledSelector = NSSelectorFromString(@"isAdvertisingTrackingEnabled"); - BOOL isTrackingEnabled = ((BOOL (*)(id, SEL))[sharedManager methodForSelector:advertisingTrackingEnabledSelector])(sharedManager, advertisingTrackingEnabledSelector); - if (isTrackingEnabled) { - SEL advertisingIdentifierSelector = NSSelectorFromString(@"advertisingIdentifier"); - NSUUID *uuid = ((NSUUID* (*)(id, SEL))[sharedManager methodForSelector:advertisingIdentifierSelector])(sharedManager, advertisingIdentifierSelector); - ifa = [uuid UUIDString]; - } - } -#endif - return ifa; -} - -#if defined(MIXPANEL_MACOS) -- (NSString *)macOSIdentifier -{ - io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, - IOServiceMatching("IOPlatformExpertDevice")); - CFStringRef serialNumberAsCFString = NULL; - if (platformExpert) { - serialNumberAsCFString = IORegistryEntryCreateCFProperty(platformExpert, - CFSTR(kIOPlatformSerialNumberKey), - kCFAllocatorDefault, 0); - IOObjectRelease(platformExpert); - } - NSString *serialNumberAsNSString = nil; - if (serialNumberAsCFString) { - serialNumberAsNSString = [NSString stringWithString:(__bridge NSString *)serialNumberAsCFString]; - CFRelease(serialNumberAsCFString); - } - return serialNumberAsNSString; -} -#endif - -- (void)setCurrentRadio -{ - dispatch_async(self.serialQueue, ^{ - NSMutableDictionary *properties = [self.automaticProperties mutableCopy]; - if (properties) { - properties[@"$radio"] = [self currentRadio]; - self.automaticProperties = [properties copy]; - } - }); -} - -- (NSString *)currentRadio -{ -#if !MIXPANEL_NO_REACHABILITY_SUPPORT - if (![Mixpanel isAppExtension]) { - NSString *radio = _telephonyInfo.currentRadioAccessTechnology; - if (!radio) { - radio = @"None"; - } else if ([radio hasPrefix:@"CTRadioAccessTechnology"]) { - radio = [radio substringFromIndex:23]; - } - return radio; - } -#endif - return @""; -} - -- (NSString *)libVersion -{ - return [Mixpanel libVersion]; -} - -+ (NSString *)libVersion -{ - return VERSION; -} - -- (NSDictionary *)collectDeviceProperties -{ -#if defined(MIXPANEL_WATCHOS) - return [MixpanelWatchProperties collectDeviceProperties]; -#elif defined(MIXPANEL_MACOS) - CGSize size = [NSScreen mainScreen].frame.size; - return @{ - @"$os": @"macOS", - @"$os_version": [NSProcessInfo processInfo].operatingSystemVersionString, - @"$screen_height": @((NSInteger)size.height), - @"$screen_width": @((NSInteger)size.width), - }; -#else - UIDevice *device = [UIDevice currentDevice]; - CGSize size = [UIScreen mainScreen].bounds.size; - return @{ - @"$os": [device systemName], - @"$os_version": [device systemVersion], - @"$screen_height": @((NSInteger)size.height), - @"$screen_width": @((NSInteger)size.width), - }; -#endif -} - -- (NSDictionary *)collectAutomaticProperties -{ - NSMutableDictionary *p = [NSMutableDictionary dictionary]; - id deviceModel = [self deviceModel] ? : [NSNull null]; - - // Use setValue semantics to avoid adding keys where value can be nil. - [p setValue:[[NSBundle mainBundle] infoDictionary][@"CFBundleVersion"] forKey:@"$app_version"]; - [p setValue:[[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"] forKey:@"$app_release"]; - [p setValue:[[NSBundle mainBundle] infoDictionary][@"CFBundleVersion"] forKey:@"$app_build_number"]; - [p setValue:[[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"] forKey:@"$app_version_string"]; - [p setValue:[self IFA] forKey:@"$ios_ifa"]; - -#if !MIXPANEL_NO_REACHABILITY_SUPPORT - if (![Mixpanel isAppExtension]) { - CTCarrier *carrier = [self.telephonyInfo subscriberCellularProvider]; - [p setValue:carrier.carrierName forKey:@"$carrier"]; - } -#endif - - [p addEntriesFromDictionary:@{ - @"mp_lib": @"iphone", - @"$lib_version": [self libVersion], - @"$manufacturer": @"Apple", - @"$model": deviceModel, - @"mp_device_model": deviceModel, //legacy - }]; - [p addEntriesFromDictionary:[self collectDeviceProperties]]; - return [p copy]; -} - -#pragma mark - UIApplication Events - -#if !defined(MIXPANEL_MACOS) -- (void)setUpListeners -{ - if (![Mixpanel isAppExtension]) { -#if !MIXPANEL_NO_REACHABILITY_SUPPORT - // wifi reachability - if ((_reachability = SCNetworkReachabilityCreateWithName(NULL, "api.mixpanel.com")) != NULL) { - SCNetworkReachabilityContext context = {0, (__bridge void*)self, NULL, NULL, NULL}; - if (SCNetworkReachabilitySetCallback(_reachability, MixpanelReachabilityCallback, &context)) { - if (!SCNetworkReachabilitySetDispatchQueue(_reachability, self.serialQueue)) { - // cleanup callback if setting dispatch queue failed - SCNetworkReachabilitySetCallback(_reachability, NULL, NULL); - } - } - } - - // cellular info - [self setCurrentRadio]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(setCurrentRadio) - name:CTRadioAccessTechnologyDidChangeNotification - object:nil]; -#endif // MIXPANEL_NO_REACHABILITY_SUPPORT - -#if !MIXPANEL_NO_APP_LIFECYCLE_SUPPORT - NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; - - // Application lifecycle events - [notificationCenter addObserver:self - selector:@selector(applicationWillTerminate:) - name:UIApplicationWillTerminateNotification - object:nil]; - [notificationCenter addObserver:self - selector:@selector(applicationWillResignActive:) - name:UIApplicationWillResignActiveNotification - object:nil]; - [notificationCenter addObserver:self - selector:@selector(applicationDidBecomeActive:) - name:UIApplicationDidBecomeActiveNotification - object:nil]; - [notificationCenter addObserver:self - selector:@selector(applicationDidEnterBackground:) - name:UIApplicationDidEnterBackgroundNotification - object:nil]; - [notificationCenter addObserver:self - selector:@selector(applicationWillEnterForeground:) - name:UIApplicationWillEnterForegroundNotification - object:nil]; - [notificationCenter addObserver:self - selector:@selector(appLinksNotificationRaised:) - name:@"com.parse.bolts.measurement_event" - object:nil]; -#endif // MIXPANEL_NO_APP_LIFECYCLE_SUPPORT - } - - [self initializeGestureRecognizer]; -} -#else -- (void)setUpListeners -{ - NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; - - // Application lifecycle events - [notificationCenter addObserver:self - selector:@selector(applicationWillTerminate:) - name:NSApplicationWillTerminateNotification - object:nil]; - [notificationCenter addObserver:self - selector:@selector(applicationWillResignActive:) - name:NSApplicationWillResignActiveNotification - object:nil]; - [notificationCenter addObserver:self - selector:@selector(applicationDidBecomeActive:) - name:NSApplicationDidBecomeActiveNotification - object:nil]; -} -#endif - -- (void)initializeGestureRecognizer -{ -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT - if (![Mixpanel isAppExtension]) { - dispatch_async(dispatch_get_main_queue(), ^{ - self.testDesignerGestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self - action:@selector(connectGestureRecognized:)]; - self.testDesignerGestureRecognizer.minimumPressDuration = 3; - self.testDesignerGestureRecognizer.cancelsTouchesInView = NO; -#if TARGET_IPHONE_SIMULATOR - self.testDesignerGestureRecognizer.numberOfTouchesRequired = 2; -#else - self.testDesignerGestureRecognizer.numberOfTouchesRequired = 4; -#endif - // because this is in a dispatch_async, if the user sets enableVisualABTestAndCodeless in the first run - // loop then this is initialized after that is set so we have to check here - self.testDesignerGestureRecognizer.enabled = self.enableVisualABTestAndCodeless; - [[Mixpanel sharedUIApplication].keyWindow addGestureRecognizer:self.testDesignerGestureRecognizer]; - }); - } -#endif // MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT -} - -#if !MIXPANEL_NO_REACHABILITY_SUPPORT - -static void MixpanelReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void *info) -{ - Mixpanel *mixpanel = (__bridge Mixpanel *)info; - if (mixpanel && [mixpanel isKindOfClass:[Mixpanel class]]) { - [mixpanel reachabilityChanged:flags]; - } -} - -- (void)reachabilityChanged:(SCNetworkReachabilityFlags)flags -{ - // this should be run in the serial queue. the reason we don't dispatch_async here - // is because it's only ever called by the reachability callback, which is already - // set to run on the serial queue. see SCNetworkReachabilitySetDispatchQueue in init - NSMutableDictionary *properties = [self.automaticProperties mutableCopy]; - if (properties) { - BOOL wifi = (flags & kSCNetworkReachabilityFlagsReachable) && !(flags & kSCNetworkReachabilityFlagsIsWWAN); - properties[@"$wifi"] = @(wifi); - self.automaticProperties = [properties copy]; - MPLogInfo(@"%@ reachability changed, wifi=%d", self, wifi); - } -} - -#endif // MIXPANEL_NO_REACHABILITY_SUPPORT - -#if !MIXPANEL_NO_APP_LIFECYCLE_SUPPORT - -- (void)applicationDidBecomeActive:(NSNotification *)notification -{ - MPLogInfo(@"%@ application did become active", self); - [self startFlushTimer]; - -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT - if (![Mixpanel isAppExtension]) { - if (self.checkForNotificationsOnActive || self.checkForVariantsOnActive) { - [self checkForDecideResponseWithCompletion:^(NSArray *notifications, NSSet *variants, NSSet *eventBindings) { - if (self.showNotificationOnActive && notifications.count > 0) { - [self showNotificationWithObject:notifications[0]]; - } - for (MPVariant *variant in variants) { - [variant execute]; - [self markVariantRun:variant]; - } - for (MPEventBinding *binding in eventBindings) { - [binding execute]; - } - }]; - } - } -#endif // MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT -} - -- (void)applicationWillResignActive:(NSNotification *)notification -{ - MPLogInfo(@"%@ application will resign active", self); - [self stopFlushTimer]; - -#if defined(MIXPANEL_MACOS) - if (self.flushOnBackground) { - [self flush]; - } else { - dispatch_async(self.serialQueue, ^{ - [self archive]; - }); - } -#endif -} - -- (void)applicationWillTerminate:(NSNotification *)notification -{ - MPLogInfo(@"%@ application will terminate", self); - dispatch_async(self.serialQueue, ^{ - [self archive]; - }); -} - -#if !defined(MIXPANEL_MACOS) -- (void)applicationDidEnterBackground:(NSNotification *)notification -{ - MPLogInfo(@"%@ did enter background", self); - if ([self hasOptedOutTracking]) { - return; - } - - __block UIBackgroundTaskIdentifier backgroundTask = [[Mixpanel sharedUIApplication] beginBackgroundTaskWithExpirationHandler:^{ - MPLogInfo(@"%@ flush %lu cut short", self, (unsigned long) backgroundTask); - [[Mixpanel sharedUIApplication] endBackgroundTask:backgroundTask]; - self.taskId = UIBackgroundTaskInvalid; - }]; - self.taskId = backgroundTask; - MPLogInfo(@"%@ starting background cleanup task %lu", self, (unsigned long)self.taskId); - - dispatch_group_t bgGroup = dispatch_group_create(); - NSString *trackedKey = [NSString stringWithFormat:@"MPTracked:%@", self.apiToken]; - if (![[NSUserDefaults standardUserDefaults] boolForKey:trackedKey]) { - dispatch_group_enter(bgGroup); - NSString *requestData = [MPNetwork encodeArrayForAPI:@[@{@"event": @"Integration", - @"properties": @{@"token": @"85053bf24bba75239b16a601d9387e17", @"mp_lib": @"iphone", - @"distinct_id": self.apiToken, @"$lib_version": self.libVersion}}]]; - NSString *postBody = [NSString stringWithFormat:@"ip=%d&data=%@", self.useIPAddressForGeoLocation, requestData]; - NSURLRequest *request = [self.network buildPostRequestForEndpoint:MPNetworkEndpointTrack andBody:postBody]; - [[[MPNetwork sharedURLSession] dataTaskWithRequest:request completionHandler:^(NSData *responseData, - NSURLResponse *urlResponse, - NSError *error) { - if (!error) { - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:trackedKey]; - } - dispatch_group_leave(bgGroup); - }] resume]; - } - - @synchronized (self) { - self.decideResponseCached = NO; - } - if (self.flushOnBackground) { - dispatch_group_enter(bgGroup); - [self flushWithCompletion:^{ - dispatch_group_leave(bgGroup); - }]; - } else { - // only need to archive if don't flush because flush archives at the end - dispatch_async(self.serialQueue, ^{ - [self archive]; - }); - } - - dispatch_group_notify(bgGroup, dispatch_get_main_queue(), ^{ - MPLogInfo(@"%@ ending background cleanup task %lu", self, (unsigned long)self.taskId); - if (self.taskId != UIBackgroundTaskInvalid) { - [[Mixpanel sharedUIApplication] endBackgroundTask:self.taskId]; - self.taskId = UIBackgroundTaskInvalid; - } - }); -} - -- (void)applicationWillEnterForeground:(NSNotificationCenter *)notification -{ - MPLogInfo(@"%@ will enter foreground", self); - dispatch_async(self.serialQueue, ^{ - [self.sessionMetadata reset]; - if (self.taskId != UIBackgroundTaskInvalid) { - [[Mixpanel sharedUIApplication] endBackgroundTask:self.taskId]; - self.taskId = UIBackgroundTaskInvalid; - [self.network updateNetworkActivityIndicator:NO]; - } - }); -} - -- (void)appLinksNotificationRaised:(NSNotification *)notification -{ - NSDictionary *eventMap = @{@"al_nav_out": @"$al_nav_out", - @"al_nav_in": @"$al_nav_in", - @"al_ref_back_out": @"$al_ref_back_out" - }; - NSDictionary *userInfo = notification.userInfo; - if (userInfo[@"event_name"] && userInfo[@"event_args"] && eventMap[userInfo[@"event_name"]]) { - [self track:eventMap[userInfo[@"event_name"]] properties:userInfo[@"event_args"]]; - } -} -#endif // MIXPANEL_MACOS - -#endif // MIXPANEL_NO_APP_LIFECYCLE_SUPPORT - -#pragma mark - Logging -- (void)setEnableLogging:(BOOL)enableLogging -{ - @synchronized (loggingLockObject) { - gLoggingEnabled = enableLogging; - if (@available(iOS 10.0, macOS 10.12, *)) { - return; - } -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - // Legacy logging, will be removed in future as long as we only support iOS 10+ - if (gLoggingEnabled) { - asl_add_log_file(NULL, STDERR_FILENO); - asl_set_filter(NULL, ASL_FILTER_MASK_UPTO(ASL_LEVEL_DEBUG)); - } else { - asl_remove_log_file(NULL, STDERR_FILENO); - } -#pragma clang diagnostic pop - } -} - -- (BOOL)enableLogging -{ - @synchronized (loggingLockObject) { - return gLoggingEnabled; - } -} - -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT - -#pragma mark - Decide - -+ (UIViewController *)topPresentedViewController -{ - UIViewController *controller = [Mixpanel sharedUIApplication].keyWindow.rootViewController; - while (controller.presentedViewController) { - controller = controller.presentedViewController; - } - return controller; -} - -+ (BOOL)canPresentFromViewController:(UIViewController *)viewController -{ - if ([viewController isBeingPresented] || [viewController isBeingDismissed]) { - return NO; - } - - if ([viewController isKindOfClass:UIAlertController.class]) { - return NO; - } - - return YES; -} - -- (void)checkForDecideResponseWithCompletion:(void (^)(NSArray *notifications, NSSet *variants, NSSet *eventBindings))completion -{ - [self checkForDecideResponseWithCompletion:completion useCache:YES]; -} - -- (void)checkForDecideResponseWithCompletion:(void (^)(NSArray *notifications, NSSet *variants, NSSet *eventBindings))completion useCache:(BOOL)useCache -{ - [self dispatchOnNetworkQueue:^{ - NSMutableSet *newVariants = [NSMutableSet set]; - NSMutableSet *newEventBindings = [NSMutableSet set]; - __block BOOL hadError = NO; - - BOOL decideResponseCached; - @synchronized (self) { - decideResponseCached = self.decideResponseCached; - } - - if (!useCache || !decideResponseCached) { - // Build a proper URL from our parameters - NSArray *queryItems = [MPNetwork buildDecideQueryForProperties:self.people.automaticPeopleProperties - withDistinctID:self.people.distinctId ?: self.distinctId - andToken:self.apiToken]; - - - // Build a network request from the URL - NSURLRequest *request = [self.network buildGetRequestForEndpoint:MPNetworkEndpointDecide - withQueryItems:queryItems]; - - // Send the network request - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - [[[MPNetwork sharedURLSession] dataTaskWithRequest:request completionHandler:^(NSData *responseData, - NSURLResponse *urlResponse, - NSError *error) { - - if (error) { - MPLogError(@"%@ decide check http error: %@", self, error); - hadError = YES; - dispatch_semaphore_signal(semaphore); - return; - } - - // Handle network response - NSDictionary *object = [NSJSONSerialization JSONObjectWithData:responseData options:(NSJSONReadingOptions)0 error:&error]; - if (error) { - MPLogError(@"%@ decide check json error: %@, data: %@", self, error, [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]); - hadError = YES; - dispatch_semaphore_signal(semaphore); - return; - } - if (object[@"error"]) { - MPLogError(@"%@ decide check api error: %@", self, object[@"error"]); - hadError = YES; - dispatch_semaphore_signal(semaphore); - return; - } - -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT - NSDictionary *config = object[@"config"]; - if (config && [config isKindOfClass:NSDictionary.class]) { - NSDictionary *validationConfig = config[@"ce"]; - if (validationConfig && [validationConfig isKindOfClass:NSDictionary.class]) { - self.validationEnabled = [validationConfig[@"enabled"] boolValue]; - - NSString *method = validationConfig[@"method"]; - if (method && [method isKindOfClass:NSString.class]) { - if ([method isEqualToString:@"count"]) { - self.validationMode = AutomaticTrackModeCount; - } - } - } - } -#endif - - id rawNotifications = object[@"notifications"]; - NSMutableArray *parsedNotifications = [NSMutableArray array]; - if ([rawNotifications isKindOfClass:[NSArray class]]) { - for (id obj in rawNotifications) { - MPNotification *notification = nil; - NSString *notificationType = obj[@"type"]; - if ([notificationType isEqualToString:MPNotificationTypeTakeover]) { - notification = [[MPTakeoverNotification alloc] initWithJSONObject:obj]; - } else if ([notificationType isEqualToString:MPNotificationTypeMini]) { - notification = [[MPMiniNotification alloc] initWithJSONObject:obj]; - } - - if (notification) { - [parsedNotifications addObject:notification]; - } - } - } else { - MPLogError(@"%@ in-app notifs check response format error: %@", self, object); - } - - id rawVariants = object[@"variants"]; - NSMutableSet *parsedVariants = [NSMutableSet set]; - if ([rawVariants isKindOfClass:[NSArray class]]) { - for (id obj in rawVariants) { - MPVariant *variant = [MPVariant variantWithJSONObject:obj]; - if (variant) { - [parsedVariants addObject:variant]; - } - } - } else { - MPLogError(@"%@ variants check response format error: %@", self, object); - } - - id rawAutomaticEvents = object[@"automatic_events"]; - if ([rawAutomaticEvents isKindOfClass:[NSNumber class]]) { - if (self.automaticEventsEnabled == nil || [self.automaticEventsEnabled boolValue] != [rawAutomaticEvents boolValue]) { - self.automaticEventsEnabled = rawAutomaticEvents; - [self archiveProperties]; - } - } - -#if !MIXPANEL_NO_CONNECT_INTEGRATION_SUPPORT - id integrations = object[@"integrations"]; - if ([integrations isKindOfClass:[NSArray class]]) { - [self.connectIntegrations setupIntegrations:integrations]; - } -#endif - - // Variants that are already running (may or may not have been marked as finished). - NSSet *runningVariants = [NSSet setWithSet:[self.variants objectsPassingTest:^BOOL(MPVariant *var, BOOL *stop) { return var.running; }]]; - // Variants that are marked as finished, (may or may not be running still). - NSSet *finishedVariants = [NSSet setWithSet:[self.variants objectsPassingTest:^BOOL(MPVariant *var, BOOL *stop) { return var.finished; }]]; - // Variants that are running that should be marked finished. - NSMutableSet *toFinishVariants = [NSMutableSet setWithSet:runningVariants]; - [toFinishVariants minusSet:parsedVariants]; - // New variants that we just saw that are not already running. - [newVariants unionSet:parsedVariants]; - [newVariants minusSet:runningVariants]; - // Running variants that were marked finished, but have now started again. - NSMutableSet *restartVariants = [NSMutableSet setWithSet:parsedVariants]; - [restartVariants intersectSet:runningVariants]; - [restartVariants intersectSet:finishedVariants]; - // All variants that we still care about (stopped are thrown out) - NSMutableSet *allVariants = [NSMutableSet setWithSet:newVariants]; - [allVariants unionSet:runningVariants]; - - [restartVariants makeObjectsPerformSelector:NSSelectorFromString(@"restart")]; - [toFinishVariants makeObjectsPerformSelector:NSSelectorFromString(@"finish")]; - - id rawEventBindings = object[@"event_bindings"]; - NSMutableSet *parsedEventBindings = [NSMutableSet set]; - if ([rawEventBindings isKindOfClass:[NSArray class]]) { - for (id obj in rawEventBindings) { - MPEventBinding *binder = [MPEventBinding bindingWithJSONObject:obj]; - if (binder) { - [parsedEventBindings addObject:binder]; - } - } - } else { - MPLogDebug(@"%@ mp tracking events check response format error: %@", self, object); - } - - // Finished bindings are those which should no longer be run. - NSMutableSet *finishedEventBindings = [NSMutableSet setWithSet:self.eventBindings]; - [finishedEventBindings minusSet:parsedEventBindings]; - [finishedEventBindings makeObjectsPerformSelector:NSSelectorFromString(@"stop")]; - - // New bindings are those we are running for the first time. - [newEventBindings unionSet:parsedEventBindings]; - [newEventBindings minusSet:self.eventBindings]; - - NSMutableSet *allEventBindings = [self.eventBindings mutableCopy]; - [allEventBindings unionSet:newEventBindings]; - - NSMutableArray *notifications = [NSMutableArray array]; - NSMutableArray *triggeredNotifications = [NSMutableArray array]; - - for (MPNotification *notif in parsedNotifications) { - if ([notif hasDisplayTriggers]) { - [triggeredNotifications addObject:notif]; - } else { - [notifications addObject:notif]; - } - } - - self.notifications = [NSArray arrayWithArray:notifications]; - self.triggeredNotifications = [NSArray arrayWithArray:triggeredNotifications]; - self.variants = [allVariants copy]; - self.eventBindings = [allEventBindings copy]; - - @synchronized (self) { - self.decideResponseCached = YES; - } - - dispatch_semaphore_signal(semaphore); - }] resume]; - - dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); - - } else { - MPLogInfo(@"%@ decide cache found, skipping network request", self); - } - - if (hadError) { - if (completion) { - completion(nil, nil, nil); - } - } else { - NSArray *unseenNotifications = [self.notifications objectsAtIndexes:[self.notifications indexesOfObjectsPassingTest:^BOOL(MPNotification *obj, NSUInteger idx, BOOL *stop) { - return [self.shownNotifications member:@(obj.ID)] == nil; - }]]; - - MPLogInfo(@"%@ decide check found %lu available notifs out of %lu total: %@", self, (unsigned long)unseenNotifications.count, - (unsigned long)self.notifications.count, unseenNotifications); - MPLogInfo(@"%@ decide check found %lu total triggered notifications %@", self, (unsigned long)self.triggeredNotifications.count, - self.triggeredNotifications); - MPLogInfo(@"%@ decide check found %lu variants: %@", self, (unsigned long)self.variants.count, self.variants); - MPLogInfo(@"%@ decide check found %lu tracking events: %@", self, (unsigned long)self.eventBindings.count, self.eventBindings); - - if (completion) { - completion(unseenNotifications, newVariants, newEventBindings); - } - } - }]; -} - -- (void)checkForNotificationsWithCompletion:(void (^)(NSArray *notifications))completion -{ - [self checkForDecideResponseWithCompletion:^(NSArray *notifications, NSSet *variants, NSSet *eventBindings) { - if (completion) { - completion(notifications); - } - } useCache:NO]; -} - -- (void)checkForVariantsWithCompletion:(void (^)(NSSet *variants))completion -{ - [self checkForDecideResponseWithCompletion:^(NSArray *notifications, NSSet *variants, NSSet *eventBindings) { - if (completion) { - completion(variants); - } - } useCache:NO]; -} - -#pragma mark - Mixpanel Notifications - -- (void)showNotification -{ - [self checkForNotificationsWithCompletion:^(NSArray *notifications) { - if (notifications.count > 0) { - [self showNotificationWithObject:notifications[0]]; - } - }]; -} - -- (void)showNotificationWithType:(NSString *)type -{ - [self checkForNotificationsWithCompletion:^(NSArray *notifications) { - if (type != nil) { - for (MPNotification *notification in notifications) { - if ([notification.type isEqualToString:type]) { - [self showNotificationWithObject:notification]; - break; - } - } - } - }]; -} - -- (void)showNotificationWithID:(NSUInteger)ID -{ - [self checkForNotificationsWithCompletion:^(NSArray *notifications) { - for (MPNotification *notification in notifications) { - if (notification.ID == ID) { - [self showNotificationWithObject:notification]; - break; - } - } - }]; -} - -- (void)showNotificationWithObject:(MPNotification *)notification -{ - NSData *image = notification.image; - - // if images fail to load, remove the notification from the queue - if (!image) { - if ([notification hasDisplayTriggers]) { - NSMutableArray *notifications = [NSMutableArray arrayWithArray:_triggeredNotifications]; - [notifications removeObject:notification]; - self.triggeredNotifications = [NSArray arrayWithArray:notifications]; - } else { - NSMutableArray *notifications = [NSMutableArray arrayWithArray:_notifications]; - [notifications removeObject:notification]; - self.notifications = [NSArray arrayWithArray:notifications]; - } - return; - } - - dispatch_async(dispatch_get_main_queue(), ^{ - if (self.currentlyShowingNotification) { - MPLogWarning(@"%@ already showing in-app notification: %@", self, self.currentlyShowingNotification); - } else { - self.currentlyShowingNotification = notification; - BOOL shown; - if ([notification.type isEqualToString:MPNotificationTypeMini]) { - shown = [self showMiniNotificationWithObject:(MPMiniNotification *)notification]; - } else { - shown = [self showTakeoverNotificationWithObject:(MPTakeoverNotification *)notification]; - } - - if (shown) { - [self markNotificationShown:notification]; - } else { - self.currentlyShowingNotification = nil; - } - } - }); -} - -- (BOOL)showTakeoverNotificationWithObject:(MPTakeoverNotification *)notification -{ - UIViewController *presentingViewController = [Mixpanel topPresentedViewController]; - - if ([[self class] canPresentFromViewController:presentingViewController]) { - MPTakeoverNotificationViewController *controller = [[MPTakeoverNotificationViewController alloc] init]; - controller.notification = notification; - controller.delegate = self; - [controller show]; - self.notificationViewController = controller; - - return YES; - } else { - return NO; - } -} - -- (BOOL)showMiniNotificationWithObject:(MPMiniNotification *)notification -{ - MPMiniNotificationViewController *controller = [[MPMiniNotificationViewController alloc] init]; - controller.notification = notification; - controller.delegate = self; - self.notificationViewController = controller; - - [controller show]; - - dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(self.miniNotificationPresentationTime * NSEC_PER_SEC)); - dispatch_after(popTime, dispatch_get_main_queue(), ^{ - [self notificationController:controller wasDismissedWithCtaUrl:nil shouldTrack:NO additionalTrackingProperties:nil]; - }); - return YES; -} - -- (void)notificationController:(MPNotificationViewController *)controller - wasDismissedWithCtaUrl:(NSURL *)ctaUrl - shouldTrack:(BOOL)shouldTrack - additionalTrackingProperties:(NSDictionary *)trackingProperties -{ - if (controller == nil || self.currentlyShowingNotification != controller.notification) { - return; - } - - void (^completionBlock)(void) = ^{ - if (shouldTrack) { - NSMutableDictionary *properties = nil; - if (trackingProperties) { - properties = [trackingProperties mutableCopy]; - } - if (ctaUrl) { - if (!properties) { - properties = [[NSMutableDictionary alloc] init]; - } - properties[@"url"] = ctaUrl.absoluteString; - } - [self trackNotification:controller.notification event:@"$campaign_open" properties:properties]; - } - self.currentlyShowingNotification = nil; - self.notificationViewController = nil; - }; - - if (ctaUrl) { - [controller hide:YES completion:^{ - MPLogInfo(@"%@ opening URL %@", self, ctaUrl); - - UIApplication *sharedApplication = [Mixpanel sharedUIApplication]; - if ([sharedApplication respondsToSelector:@selector(openURL:)]) { - if (![sharedApplication performSelector:@selector(openURL:) withObject:ctaUrl]) { - MPLogError(@"Mixpanel failed to open given URL: %@", ctaUrl); - } - } - - completionBlock(); - }]; - } else { - [controller hide:YES completion:completionBlock]; - } -} - -- (void)trackNotification:(MPNotification *)notification - event:(NSString *)event - properties:(NSDictionary *)properties -{ - NSMutableDictionary *mutableProperties; - if (!properties) { - mutableProperties = [[NSMutableDictionary alloc] init]; - } else { - mutableProperties = [properties mutableCopy]; - } - [mutableProperties addEntriesFromDictionary:@{@"campaign_id": @(notification.ID), - @"message_id": @(notification.messageID), - @"message_type": @"inapp", - @"message_subtype": notification.type}]; - [self track:event properties:mutableProperties]; -} - -- (void)markNotificationShown:(MPNotification *)notification -{ - MPLogInfo(@"%@ marking notification shown: %@, %@", self, @(notification.ID), self.shownNotifications); - - dispatch_async(self.serialQueue, ^{ - [self.shownNotifications addObject:@(notification.ID)]; - if ([notification hasDisplayTriggers]) { - NSMutableArray *notifications = [NSMutableArray arrayWithArray: self.triggeredNotifications]; - [notifications removeObject:notification]; - self.triggeredNotifications = [NSArray arrayWithArray:notifications]; - } - [self archiveProperties]; - }); - - NSDictionary *properties = @{ - @"$campaigns": @(notification.ID), - @"$notifications": @{ - @"campaign_id": @(notification.ID), - @"message_id": @(notification.messageID), - @"type": @"inapp", - @"time": [NSDate date] - } - }; - - [self.people append:properties]; - - [self trackNotification:notification event:@"$campaign_delivery" properties:nil]; -} - -#pragma mark - Mixpanel A/B Testing and Codeless (Designer) -- (void)setEnableVisualABTestAndCodeless:(BOOL)enableVisualABTestAndCodeless -{ - _enableVisualABTestAndCodeless = enableVisualABTestAndCodeless; - - self.testDesignerGestureRecognizer.enabled = _enableVisualABTestAndCodeless; - if (!_enableVisualABTestAndCodeless) { - // Note that the connection will be closed and cleaned up properly in the dealloc method - [self.abtestDesignerConnection close]; - self.abtestDesignerConnection = nil; - } -} - -- (BOOL)enableVisualABTestAndCodeless -{ - return _enableVisualABTestAndCodeless; -} - -- (void)connectGestureRecognized:(id)sender -{ - if (!sender || ([sender isKindOfClass:[UIGestureRecognizer class]] && ((UIGestureRecognizer *)sender).state == UIGestureRecognizerStateBegan)) { - [self connectToABTestDesigner]; - } -} - -- (void)connectToABTestDesigner -{ - [self connectToABTestDesigner:NO]; -} - -- (void)connectToABTestDesigner:(BOOL)reconnect -{ - // Ignore the gesture if the AB test designer is disabled. - if (!self.enableVisualABTestAndCodeless) return; - - if ([self.abtestDesignerConnection isKindOfClass:[MPABTestDesignerConnection class]] && ((MPABTestDesignerConnection *)self.abtestDesignerConnection).connected) { - MPLogWarning(@"A/B test designer connection already exists"); - return; - } - static NSUInteger oldInterval; - NSString *designerURLString = [NSString stringWithFormat:@"%@/connect?key=%@&type=device", self.switchboardURL, self.apiToken]; - NSURL *designerURL = [NSURL URLWithString:designerURLString]; - __weak Mixpanel *weakSelf = self; - void (^connectCallback)(void) = ^{ - __strong Mixpanel *strongSelf = weakSelf; - oldInterval = strongSelf.flushInterval; - strongSelf.flushInterval = 1; - [Mixpanel sharedUIApplication].idleTimerDisabled = YES; - if (strongSelf) { - for (MPVariant *variant in self.variants) { - [variant stop]; - } - for (MPEventBinding *binding in self.eventBindings) { - [binding stop]; - } - MPABTestDesignerConnection *connection = strongSelf.abtestDesignerConnection; - void (^block)(id, SEL, NSString*, id) = ^(id obj, SEL sel, NSString *event_name, id params) { - MPDesignerTrackMessage *message = [MPDesignerTrackMessage messageWithPayload:@{@"event_name": event_name}]; - [connection sendMessage:message]; - }; - - [MPSwizzler swizzleSelector:@selector(track:properties:) onClass:[Mixpanel class] withBlock:block named:@"track_properties"]; - } - }; - void (^disconnectCallback)(void) = ^{ - __strong Mixpanel *strongSelf = weakSelf; - strongSelf.flushInterval = oldInterval; - [Mixpanel sharedUIApplication].idleTimerDisabled = NO; - if (strongSelf) { - for (MPVariant *variant in self.variants) { - [variant execute]; - } - for (MPEventBinding *binding in self.eventBindings) { - [binding execute]; - } - [MPSwizzler unswizzleSelector:@selector(track:properties:) onClass:[Mixpanel class] named:@"track_properties"]; - } - }; - self.abtestDesignerConnection = [[MPABTestDesignerConnection alloc] initWithURL:designerURL - keepTrying:reconnect - connectCallback:connectCallback - disconnectCallback:disconnectCallback]; -} - -#pragma mark - Mixpanel A/B Testing (Experiment) - -- (void)executeCachedVariants -{ - for (MPVariant *variant in self.variants) { - NSAssert(!variant.running, @"Variant should not be running at this point"); - [variant execute]; - } -} - -- (void)markVariantRun:(MPVariant *)variant -{ - MPLogInfo(@"%@ marking variant %@ shown for experiment %@", self, @(variant.ID), @(variant.experimentID)); - NSDictionary *shownVariant = @{@(variant.experimentID).stringValue: @(variant.ID)}; - [self.people merge:@{@"$experiments": shownVariant}]; - - dispatch_async(self.serialQueue, ^{ - NSMutableDictionary *superProperties = [NSMutableDictionary dictionaryWithDictionary:self.superProperties]; - NSMutableDictionary *shownVariants = [NSMutableDictionary dictionaryWithDictionary:superProperties[@"$experiments"]]; - [shownVariants addEntriesFromDictionary:shownVariant]; - [superProperties addEntriesFromDictionary:@{@"$experiments": [shownVariants copy]}]; - self.superProperties = [superProperties copy]; -#if !MIXPANEL_NO_UIAPPLICATION_ACCESS - if (![Mixpanel isAppExtension]) { - dispatch_async(dispatch_get_main_queue(), ^{ - if ([Mixpanel sharedUIApplication].applicationState == UIApplicationStateBackground) { - [self archiveProperties]; - } - }); - } -#endif - }); - - [self track:@"$experiment_started" properties:@{@"$experiment_id": @(variant.experimentID), @"$variant_id": @(variant.ID)}]; -} - -- (void)joinExperimentsWithCallback:(void(^)(void))experimentsLoadedCallback -{ - [self checkForVariantsWithCompletion:^(NSSet *newVariants) { - for (MPVariant *variant in newVariants) { - [variant execute]; - [self markVariantRun:variant]; - } - - dispatch_async(dispatch_get_main_queue(), ^{ - if (experimentsLoadedCallback) { - experimentsLoadedCallback(); - } - }); - }]; -} - -- (void)joinExperiments -{ - [self joinExperimentsWithCallback:nil]; -} - -#pragma mark - Mixpanel Event Bindings - -- (void)executeCachedEventBindings -{ - for (id binding in self.eventBindings) { - if ([binding isKindOfClass:[MPEventBinding class]]) { - [binding execute]; - } - } -} - -#endif // MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT - -@end diff --git a/Mixpanel/Mixpanel/MixpanelExceptionHandler.h b/Mixpanel/Mixpanel/MixpanelExceptionHandler.h deleted file mode 100644 index a5c2ee00..00000000 --- a/Mixpanel/Mixpanel/MixpanelExceptionHandler.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MixpanelExceptionHandler.h -// HelloMixpanel -// -// Created by Sam Green on 7/28/15. -// Copyright (c) 2015 Mixpanel. All rights reserved. -// - -#import - -@class Mixpanel; - -@interface MixpanelExceptionHandler : NSObject - -+ (instancetype)sharedHandler; -- (void)addMixpanelInstance:(Mixpanel *)instance; -@end diff --git a/Mixpanel/Mixpanel/MixpanelExceptionHandler.m b/Mixpanel/Mixpanel/MixpanelExceptionHandler.m deleted file mode 100644 index 9265e80b..00000000 --- a/Mixpanel/Mixpanel/MixpanelExceptionHandler.m +++ /dev/null @@ -1,142 +0,0 @@ -// -// MixpanelExceptionHandler.m -// HelloMixpanel -// -// Created by Sam Green on 7/28/15. -// Copyright (c) 2015 Mixpanel. All rights reserved. -// - -#import "MixpanelExceptionHandler.h" -#import "Mixpanel.h" -#import "MixpanelPrivate.h" -#import "MPLogger.h" -#include -#include - - -static NSString * const UncaughtExceptionHandlerSignalExceptionName = @"UncaughtExceptionHandlerSignalExceptionName"; -static NSString * const UncaughtExceptionHandlerSignalKey = @"UncaughtExceptionHandlerSignalKey"; - -static volatile atomic_int_fast32_t UncaughtExceptionCount = 0; -static const atomic_int_fast32_t UncaughtExceptionMaximum = 10; - -@interface MixpanelExceptionHandler () - -@property (nonatomic) NSUncaughtExceptionHandler *defaultExceptionHandler; -@property (nonatomic, unsafe_unretained) struct sigaction *prev_signal_handlers; -@property (nonatomic, strong) NSHashTable *mixpanelInstances; - -@end - -@implementation MixpanelExceptionHandler - -+ (instancetype)sharedHandler { - static MixpanelExceptionHandler *gSharedHandler = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - gSharedHandler = [[MixpanelExceptionHandler alloc] init]; - }); - return gSharedHandler; -} - -- (instancetype)init { - self = [super init]; - if (self) { - // Create a hash table of weak pointers to mixpanel instances - _mixpanelInstances = [NSHashTable weakObjectsHashTable]; - _prev_signal_handlers = calloc(NSIG, sizeof(struct sigaction)); - - // Install our handler - [self setupHandlers]; - } - return self; -} - -- (void)dealloc { - free(_prev_signal_handlers); -} - -- (void)setupHandlers { - _defaultExceptionHandler = NSGetUncaughtExceptionHandler(); - NSSetUncaughtExceptionHandler(&MPHandleException); - - struct sigaction action; - sigemptyset(&action.sa_mask); - action.sa_flags = SA_SIGINFO; - action.sa_sigaction = &MPSignalHandler; - int signals[] = {SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS}; -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wsign-compare" - for (int i = 0; i < sizeof(signals) / sizeof(int); i++) { - struct sigaction prev_action; - int err = sigaction(signals[i], &action, &prev_action); - if (err == 0) { - memcpy(_prev_signal_handlers + signals[i], &prev_action, sizeof(prev_action)); - } else { - MPLogWarning(@"Errored while trying to set up sigaction for signal %d", signals[i]); - } - } -#pragma clang diagnostic pop -} - -- (void)addMixpanelInstance:(Mixpanel *)instance { - NSParameterAssert(instance != nil); - - [self.mixpanelInstances addObject:instance]; -} - -void MPSignalHandler(int signalNumber, struct __siginfo *info, void *context) { - MixpanelExceptionHandler *handler = [MixpanelExceptionHandler sharedHandler]; - - atomic_int_fast32_t exceptionCount = atomic_fetch_add_explicit(&UncaughtExceptionCount, 1, memory_order_relaxed); - - if (exceptionCount <= UncaughtExceptionMaximum) { - NSDictionary *userInfo = @{UncaughtExceptionHandlerSignalKey: @(signalNumber)}; - NSException *exception = [NSException exceptionWithName:UncaughtExceptionHandlerSignalExceptionName - reason:[NSString stringWithFormat:@"Signal %d was raised.", signalNumber] - userInfo:userInfo]; - - [handler mp_handleUncaughtException:exception]; - } - - struct sigaction prev_action = handler.prev_signal_handlers[signalNumber]; - // Since there is no way to pass through to the default handler, re-raise the signal as our best efforts - if (prev_action.sa_handler == SIG_DFL) { - signal(signalNumber, SIG_DFL); - raise(signalNumber); - return; - } - if (prev_action.sa_flags & SA_SIGINFO) { - if (prev_action.sa_sigaction) { - prev_action.sa_sigaction(signalNumber, info, context); - } - } else if (prev_action.sa_handler) { - prev_action.sa_handler(signalNumber); - } -} - -void MPHandleException(NSException *exception) { - MixpanelExceptionHandler *handler = [MixpanelExceptionHandler sharedHandler]; - - atomic_int_fast32_t exceptionCount = atomic_fetch_add_explicit(&UncaughtExceptionCount, 1, memory_order_relaxed); - if (exceptionCount <= UncaughtExceptionMaximum) { - [handler mp_handleUncaughtException:exception]; - } - - if (handler.defaultExceptionHandler) { - handler.defaultExceptionHandler(exception); - } -} - -- (void) mp_handleUncaughtException:(NSException *)exception { - // Archive the values for each Mixpanel instance - for (Mixpanel *instance in self.mixpanelInstances) { - NSMutableDictionary *properties = [[NSMutableDictionary alloc] init]; - [properties setValue:[exception reason] forKey:@"$ae_crashed_reason"]; - [instance track:@"$ae_crashed" properties:properties]; - } - MPLogWarning(@"Encountered an uncaught exception. All Mixpanel instances were archived."); -} - - -@end diff --git a/Mixpanel/Mixpanel/MixpanelGroup.h b/Mixpanel/Mixpanel/MixpanelGroup.h deleted file mode 100644 index 3d22b7ed..00000000 --- a/Mixpanel/Mixpanel/MixpanelGroup.h +++ /dev/null @@ -1,73 +0,0 @@ -// -// MixpanelGroup.h -// Mixpanel -// -// Created by Weizhe Yuan on 8/16/18. -// Copyright © 2018 Mixpanel. All rights reserved. -// -#import "Mixpanel.h" -#import - - -NS_ASSUME_NONNULL_BEGIN - -@interface MixpanelGroup : NSObject - -/*! - Set properties on this Mixpanel Group. Keys in properties must be NSString, - and values are MixpanelTypes. - - The properties will be set on the current group. We use an NSAssert to enforce - this type requirement. In release mode, the assert is stripped out and we will silently convert - incorrect types to strings using [NSString stringWithFormat:@"%@", value]. - If the existing group record on the server already has a value for a given property, - the old value is overwritten. Other existing properties will not be affected. - - @param properties properties dictionary - */ -- (void)set:(NSDictionary *)properties; - -/*! - Set properties on this Mixpanel Group, but don't overwrite if - there are existing values. - - This method is identical to set() except it will only set - properties that are not already set. - - @param properties properties dictionary - */ -- (void)setOnce:(NSDictionary *)properties; - -/*! - Remove a property and all its values from this Mixpanel Group. For - properties that aren't set will be no effect. - - @param property the property to be unset - */ -- (void)unset:(NSString *)property; - -/*! - Union list properties. - - Property keys must be NSString objects. - - @param property mapping of list property names to lists to union - */ -- (void)union:(NSString *)property values:(NSArray> *)values; - -/*! - Permanently remove a group on server side. - */ -- (void)deleteGroup; - -/*! - Remove one value from a group property. - - @param property the name of group property - @param value the value to be removed - */ -- (void)remove:(NSString *)property value:(id)value; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Mixpanel/Mixpanel/MixpanelGroup.m b/Mixpanel/Mixpanel/MixpanelGroup.m deleted file mode 100644 index 88b3b248..00000000 --- a/Mixpanel/Mixpanel/MixpanelGroup.m +++ /dev/null @@ -1,142 +0,0 @@ -// -// MixpanelGroup.m -// Mixpanel -// -// Created by Weizhe Yuan on 8/16/18. -// Copyright © 2018 Mixpanel. All rights reserved. -// - -#import "MixpanelGroup.h" -#import "MPLogger.h" -#import "Mixpanel.h" -#import "MixpanelGroupPrivate.h" -#import "MixpanelPrivate.h" - -@implementation MixpanelGroup - -- (instancetype)init:(Mixpanel *)mixpanel groupKey:(NSString *)groupKey groupID:(id)groupID -{ - if (self = [super init]) { - self.mixpanel = mixpanel; - self.groupKey = groupKey; - self.groupID = groupID; - } - return self; -} - -- (void)set:(NSDictionary *)properties -{ - if ([self.mixpanel hasOptedOutTracking]) { - return; - } - NSAssert(properties != nil, @"properties must not be nil"); - [Mixpanel assertPropertyTypes:properties]; - [self addGroupRecordToQueueWithAction:@"$set" andProperties:properties]; -} - -- (void)setOnce:(NSDictionary *)properties -{ - if ([self.mixpanel hasOptedOutTracking]) { - return; - } - NSAssert(properties != nil, @"properties must not be nil"); - [Mixpanel assertPropertyTypes:properties]; - [self addGroupRecordToQueueWithAction:@"$set_once" andProperties:properties]; -} - -- (void)unset:(NSString *)property -{ - if ([self.mixpanel hasOptedOutTracking]) { - return; - } - NSAssert(property != nil, @"property must not be nil"); - // $unset takes a string but addGroupRecordToQueueWithAction:andProperties - // takes an NSDictionary so the array is stored under the key "$properties" - // which the above method expects when action is $unset - [self addGroupRecordToQueueWithAction:@"$unset" andProperties:@{@"$properties" : @[ property ]}]; -} - -- (void)union:(NSString *)property values:(NSArray> *)values -{ - if ([self.mixpanel hasOptedOutTracking]) { - return; - } - [self addGroupRecordToQueueWithAction:@"$union" andProperties:@{property : values}]; -} - -- (void)remove:(NSString *)property value:(id)value -{ - if ([self.mixpanel hasOptedOutTracking]) { - return; - } - NSAssert(property != nil, @"property must not be nil"); - [self addGroupRecordToQueueWithAction:@"$remove" andProperties:@{property : value}]; -} - -- (void)deleteGroup -{ - [self addGroupRecordToQueueWithAction:@"$delete" andProperties:nil]; - // remove cache entry - NSString *key = [self.mixpanel keyForGroup:self.groupKey groupID:self.groupID]; - @synchronized(self.mixpanel.cachedGroups) { - [self.mixpanel.cachedGroups removeObjectForKey:key]; - } -} - -- (void)addGroupRecordToQueueWithAction:(NSString *)action andProperties:(NSDictionary *)properties -{ - if ([self.mixpanel hasOptedOutTracking]) { - return; - } - - NSNumber *epochMilliseconds = @(round([[NSDate date] timeIntervalSince1970] * 1000)); - __strong Mixpanel *strongMixpanel = self.mixpanel; - - const int GroupsQueueMaximumLength = 500; - if (strongMixpanel) { - properties = [properties copy]; - dispatch_async(strongMixpanel.serialQueue, ^{ - NSMutableDictionary *req = [NSMutableDictionary dictionary]; - NSMutableDictionary *props = [NSMutableDictionary dictionary]; - req[@"$token"] = strongMixpanel.apiToken; - if (!req[@"$time"]) { - // milliseconds unix timestamp - req[@"$time"] = epochMilliseconds; - } - req[@"$group_key"] = self.groupKey; - req[@"$group_id"] = self.groupID; - req[@"$token"] = strongMixpanel.apiToken; - if ([action isEqualToString:@"$unset"]) { - // $unset takes an array of property names which is supplied to - // this method in the properties parameter under the key - // "$properties" - req[action] = properties[@"$properties"]; - } - else if ([action isEqualToString:@"delete"]) { - req[action] = @""; - } - else { - [props addEntriesFromDictionary:properties]; - NSDictionary *dict = [NSDictionary dictionaryWithDictionary:props]; - req[action] = dict; - } - - MPLogInfo(@"%@ queueing group record: %@", strongMixpanel, req); - @synchronized(strongMixpanel) { - [strongMixpanel.groupsQueue addObject:req]; - if (strongMixpanel.groupsQueue.count > GroupsQueueMaximumLength) { - [strongMixpanel.groupsQueue removeObjectAtIndex:0]; - } - } - }); -#if MIXPANEL_FLUSH_IMMEDIATELY - [strongMixpanel flush]; -#else - if ([Mixpanel isAppExtension]) { - [strongMixpanel flush]; - } -#endif - } -} - -@end diff --git a/Mixpanel/Mixpanel/MixpanelGroupPrivate.h b/Mixpanel/Mixpanel/MixpanelGroupPrivate.h deleted file mode 100644 index 78060b9c..00000000 --- a/Mixpanel/Mixpanel/MixpanelGroupPrivate.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// MixpanelGroupPrivate.h -// Mixpanel -// -// Created by Weizhe Yuan on 8/21/18. -// Copyright © 2018 Mixpanel. All rights reserved. -// -#import - -@class Mixpanel; - -@interface MixpanelGroup () - -@property (nonatomic, weak) Mixpanel *mixpanel; -@property (nonatomic, copy) NSString *groupKey; -@property (nonatomic, copy) id groupID; - -- (instancetype)init:(Mixpanel *)mixpanel groupKey:(NSString*)groupKey groupID:(id)groupID; - -@end diff --git a/Mixpanel/Mixpanel/MixpanelPeople.h b/Mixpanel/Mixpanel/MixpanelPeople.h deleted file mode 100644 index 13911c68..00000000 --- a/Mixpanel/Mixpanel/MixpanelPeople.h +++ /dev/null @@ -1,229 +0,0 @@ -// -// MixpanelPeople.h -// Mixpanel -// -// Created by Sam Green on 6/16/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -/*! - Mixpanel People API. - - Access to the Mixpanel People API, available as a property on the main - Mixpanel API. - - You should not instantiate this object yourself. An instance of it will - be available as a property of the main Mixpanel object. Calls to Mixpanel - People methods will look like this: - -
- [mixpanel.people increment:@"App Opens" by:[NSNumber numberWithInt:1]];
- 
- - Please note that the core Mixpanel and - MixpanelPeople classes share the identify: method. - The Mixpanel identify: affects the - distinct_id property of events sent by track: and - track:properties: and determines which Mixpanel People user - record will be updated by set:, increment: and other - MixpanelPeople methods. - - If you are going to set your own distinct IDs for core Mixpanel event - tracking, make sure to use the same distinct IDs when using Mixpanel - People. - */ -@interface MixpanelPeople : NSObject -/*! - controls the $ignore_time property in any subsequent MixpanelPeople operation. - - If the $ignore_time property is present and true in your request, - Mixpanel will not automatically update the "Last Seen" property of the profile. - Otherwise, Mixpanel will add a "Last Seen" property associated with the - current time for all $set, $append, and $add operations - - Defaults to NO. - */ -@property (atomic) BOOL ignoreTime; - -/*! - Register the given device to receive push notifications. - - This will associate the device token with the current user in Mixpanel People, - which will allow you to send push notifications to the user from the Mixpanel - People web interface. You should call this method with the NSData - token passed to - application:didRegisterForRemoteNotificationsWithDeviceToken:. - - @param deviceToken device token as returned application:didRegisterForRemoteNotificationsWithDeviceToken: - */ -- (void)addPushDeviceToken:(NSData *)deviceToken; - -/*! - Unregister the given device to receive push notifications. - - This will unset all of the push tokens saved to this people profile. This is useful - in conjunction with a call to `reset`, or when a user is logging out. - */ -- (void)removeAllPushDeviceTokens; - -/*! - Unregister a specific device token from the ability to receive push notifications. - - This will remove the provided push token saved to this people profile. This is useful - in conjunction with a call to `reset`, or when a user is logging out. - - @param deviceToken device token to be unregistered - */ -- (void)removePushDeviceToken:(NSData *)deviceToken; - -/*! - Set properties on the current user in Mixpanel People. - - The properties will be set on the current user. The keys must be NSString - objects and the values should be NSString, NSNumber, NSArray, NSDate, or - NSNull objects. We use an NSAssert to enforce this type requirement. In - release mode, the assert is stripped out and we will silently convert - incorrect types to strings using [NSString stringWithFormat:@"%@", value]. You - can override the default the current project token and distinct ID by - including the special properties: $token and $distinct_id. If the existing - user record on the server already has a value for a given property, the old - value is overwritten. Other existing properties will not be affected. - -
- // applies to both Mixpanel Engagement track: AND Mixpanel People set: and
- // increment: calls
- [mixpanel identify:distinctId];
- 
- - @param properties properties dictionary - - */ -- (void)set:(NSDictionary *)properties; - -/*! - Convenience method for setting a single property in Mixpanel People. - - Property keys must be NSString objects and values must be - NSString, NSNumber, NSNull, - NSArray, NSDictionary, NSDate or - NSURL objects. - - @param property property name - @param object property value - */ -- (void)set:(NSString *)property to:(id)object; - -/*! - Set properties on the current user in Mixpanel People, but don't overwrite if - there is an existing value. - - This method is identical to set: except it will only set - properties that are not already set. It is particularly useful for collecting - data about the user's initial experience and source, as well as dates - representing the first time something happened. - - @param properties properties dictionary - - */ -- (void)setOnce:(NSDictionary *)properties; - -/*! - Remove a list of properties and their values from the current user's profile - in Mixpanel People. - - The properties array must ony contain NSString names of properties. For properties - that don't exist there will be no effect. - - @param properties properties array - - */ -- (void)unset:(NSArray *)properties; - -/*! - Increment the given numeric properties by the given values. - - Property keys must be NSString names of numeric properties. A property is - numeric if its current value is a number. If a property does not exist, it - will be set to the increment amount. Property values must be NSNumber objects. - - @param properties properties dictionary - */ -- (void)increment:(NSDictionary *)properties; - -/*! - Convenience method for incrementing a single numeric property by the specified - amount. - - @param property property name - @param amount amount to increment by - */ -- (void)increment:(NSString *)property by:(NSNumber *)amount; - -/*! - Append values to list properties. - - Property keys must be NSString objects and values must be - NSString, NSNumber, NSNull, - NSArray, NSDictionary, NSDate or - NSURL objects. - - @param properties mapping of list property names to values to append - */ -- (void)append:(NSDictionary *)properties; - -/*! - Union list properties. - - Property keys must be NSString objects. - - @param properties mapping of list property names to lists to union - */ -- (void)union:(NSDictionary *)properties; - -/*! - Remove list properties. - - Property keys must be NSString objects and values must be - NSString, NSNumber, NSNull, - NSArray, NSDictionary, NSDate or - NSURL objects. - - @param properties mapping of list property names to values to remove - */ -- (void)remove:(NSDictionary *)properties; - -/*! - Track money spent by the current user for revenue analytics. - - @param amount amount of revenue received - */ -- (void)trackCharge:(NSNumber *)amount; - -/*! - Track money spent by the current user for revenue analytics and associate - properties with the charge. - - Charge properties allow you segment on types of revenue. For instance, you - could record a product ID with each charge so that you could segment on it in - revenue analytics to see which products are generating the most revenue. - */ -- (void)trackCharge:(NSNumber *)amount withProperties:(nullable NSDictionary *)properties; - - -/*! - Delete current user's revenue history. - */ -- (void)clearCharges; - -/*! - Delete current user's record from Mixpanel People. - */ -- (void)deleteUser; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Mixpanel/Mixpanel/MixpanelPeople.m b/Mixpanel/Mixpanel/MixpanelPeople.m deleted file mode 100644 index 1ac09cb9..00000000 --- a/Mixpanel/Mixpanel/MixpanelPeople.m +++ /dev/null @@ -1,300 +0,0 @@ -// -// MixpanelPeople.m -// Mixpanel -// -// Created by Sam Green on 6/16/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import "MixpanelPeople.h" -#import "MixpanelPeoplePrivate.h" -#import "Mixpanel.h" -#import "MixpanelPrivate.h" -#import "MPLogger.h" - -#if defined(MIXPANEL_WATCHOS) -#import "MixpanelWatchProperties.h" -#endif - -@implementation MixpanelPeople - -- (instancetype)initWithMixpanel:(Mixpanel *)mixpanel -{ - if (self = [self init]) { - self.mixpanel = mixpanel; - self.unidentifiedQueue = [NSMutableArray array]; - self.automaticPeopleProperties = [self collectAutomaticPeopleProperties]; - } - return self; -} - -- (NSString *)description -{ - __strong Mixpanel *strongMixpanel = self.mixpanel; - return [NSString stringWithFormat:@"", (void *)self, (strongMixpanel ? strongMixpanel.apiToken : @"")]; -} - -- (NSString *)deviceSystemVersion -{ -#if defined(MIXPANEL_WATCHOS) - return [MixpanelWatchProperties systemVersion]; -#elif defined(MIXPANEL_MACOS) - return [NSProcessInfo processInfo].operatingSystemVersionString; -#else - return [UIDevice currentDevice].systemVersion; -#endif -} - -- (NSDictionary *)collectAutomaticPeopleProperties -{ - NSMutableDictionary *p = [NSMutableDictionary dictionaryWithDictionary:@{ - @"$ios_version": [self deviceSystemVersion], - @"$ios_lib_version": [Mixpanel libVersion], - }]; - NSDictionary *infoDictionary = [NSBundle mainBundle].infoDictionary; - if (infoDictionary[@"CFBundleVersion"]) { - p[@"$ios_app_version"] = infoDictionary[@"CFBundleVersion"]; - } - if (infoDictionary[@"CFBundleShortVersionString"]) { - p[@"$ios_app_release"] = infoDictionary[@"CFBundleShortVersionString"]; - } - __strong Mixpanel *strongMixpanel = self.mixpanel; - NSString *deviceModel = [strongMixpanel deviceModel]; - if (deviceModel) { - p[@"$ios_device_model"] = deviceModel; - } - -#if !defined(MIXPANEL_MACOS) - NSString *ifa = [strongMixpanel IFA]; - if (ifa) { - p[@"$ios_ifa"] = ifa; - } -#endif - return [p copy]; -} - -- (void)addPeopleRecordToQueueWithAction:(NSString *)action andProperties:(NSDictionary *)properties -{ - if ([self.mixpanel hasOptedOutTracking]) { - return; - } - NSNumber *epochMilliseconds = @(round([[NSDate date] timeIntervalSince1970] * 1000)); - __strong Mixpanel *strongMixpanel = self.mixpanel; - if (strongMixpanel) { - properties = [properties copy]; - BOOL ignore_time = self.ignoreTime; - - dispatch_async(strongMixpanel.serialQueue, ^{ - NSMutableDictionary *r = [NSMutableDictionary dictionary]; - NSMutableDictionary *p = [NSMutableDictionary dictionary]; - r[@"$token"] = strongMixpanel.apiToken; - if (!r[@"$time"]) { - // milliseconds unix timestamp - r[@"$time"] = epochMilliseconds; - } - if (ignore_time) { - r[@"$ignore_time"] = @YES; - } - - if ([action isEqualToString:@"$unset"]) { - // $unset takes an array of property names which is supplied to this method - // in the properties parameter under the key "$properties" - r[action] = properties[@"$properties"]; - } else { - if ([action isEqualToString:@"$set"] || [action isEqualToString:@"$set_once"]) { - [p addEntriesFromDictionary:self.automaticPeopleProperties]; - } - [p addEntriesFromDictionary:properties]; - r[action] = [NSDictionary dictionaryWithDictionary:p]; - } - - [r addEntriesFromDictionary:[strongMixpanel.sessionMetadata toDictionaryForEvent:NO]]; - - if (self.mixpanel.anonymousId) { - r[@"$device_id"] = self.mixpanel.anonymousId; - } - if (self.mixpanel.userId) { - r[@"$user_id"] = self.mixpanel.userId; - } - if (self.mixpanel.hadPersistedDistinctId) { - r[@"$had_persisted_distinct_id"] = [NSNumber numberWithBool: self.mixpanel.hadPersistedDistinctId]; - } - if (self.distinctId) { - r[@"$distinct_id"] = self.distinctId; - MPLogInfo(@"%@ queueing people record: %@", strongMixpanel, r); - @synchronized (strongMixpanel) { - [strongMixpanel.peopleQueue addObject:r]; - if (strongMixpanel.peopleQueue.count > 500) { - [strongMixpanel.peopleQueue removeObjectAtIndex:0]; - } - } - } else { - MPLogInfo(@"%@ queueing unidentified people record: %@", strongMixpanel, r); - [self.unidentifiedQueue addObject:r]; - if (self.unidentifiedQueue.count > 500) { - [self.unidentifiedQueue removeObjectAtIndex:0]; - } - } - - [strongMixpanel archivePeople]; - }); -#if MIXPANEL_FLUSH_IMMEDIATELY - [strongMixpanel flush]; -#else - if ([Mixpanel isAppExtension]) { - [strongMixpanel flush]; - } -#endif - } -} - -+ (NSString *)pushDeviceTokenToString:(NSData *)deviceToken -{ - const unsigned char *buffer = (const unsigned char *)deviceToken.bytes; - if (!buffer) { - return nil; - } - NSMutableString *hex = [NSMutableString stringWithCapacity:(deviceToken.length * 2)]; - for (NSUInteger i = 0; i < deviceToken.length; i++) { - [hex appendString:[NSString stringWithFormat:@"%02lx", (unsigned long)buffer[i]]]; - } - return [hex copy]; -} - -#pragma mark - Public API - -- (void)addPushDeviceToken:(NSData *)deviceToken -{ - NSString *tokenString = [MixpanelPeople pushDeviceTokenToString:deviceToken]; - if (tokenString) { - NSDictionary *properties = @{@"$ios_devices": @[tokenString]}; - [self addPeopleRecordToQueueWithAction:@"$union" andProperties:properties]; - } -} - -- (void)removeAllPushDeviceTokens -{ - NSDictionary *properties = @{ @"$properties": @[@"$ios_devices"] }; - [self addPeopleRecordToQueueWithAction:@"$unset" andProperties:properties]; -} - -- (void)removePushDeviceToken:(NSData *)deviceToken -{ - NSDictionary *properties = @{@"$ios_devices": [MixpanelPeople pushDeviceTokenToString:deviceToken]}; - [self addPeopleRecordToQueueWithAction:@"$remove" andProperties:properties]; -} - -- (void)set:(NSDictionary *)properties -{ - NSAssert(properties != nil, @"properties must not be nil"); - [Mixpanel assertPropertyTypes:properties]; - [self addPeopleRecordToQueueWithAction:@"$set" andProperties:properties]; -} - -- (void)set:(NSString *)property to:(id)object -{ - NSAssert(property != nil, @"property must not be nil"); - NSAssert(object != nil, @"object must not be nil"); - if (property == nil || object == nil) { - return; - } - [self set:@{property: object}]; -} - -- (void)setOnce:(NSDictionary *)properties -{ - NSAssert(properties != nil, @"properties must not be nil"); - [Mixpanel assertPropertyTypes:properties]; - [self addPeopleRecordToQueueWithAction:@"$set_once" andProperties:properties]; -} - -- (void)unset:(NSArray *)properties -{ - NSAssert(properties != nil, @"properties must not be nil"); - for (id __unused v in properties) { - NSAssert([v isKindOfClass:[NSString class]], - @"%@ unset property names should be NSString. found: %@", self, v); - } - // $unset takes an array but addPeopleRecordToQueueWithAction:andProperties takes an NSDictionary - // so the array is stored under the key "$properties" which the above method expects when action is $unset - [self addPeopleRecordToQueueWithAction:@"$unset" andProperties:@{@"$properties": properties}]; -} - -- (void)increment:(NSDictionary *)properties -{ - NSAssert(properties != nil, @"properties must not be nil"); - for (id __unused v in properties.allValues) { - NSAssert([v isKindOfClass:[NSNumber class]], - @"%@ increment property values should be NSNumber. found: %@", self, v); - } - [self addPeopleRecordToQueueWithAction:@"$add" andProperties:properties]; -} - -- (void)increment:(NSString *)property by:(NSNumber *)amount -{ - NSAssert(property != nil, @"property must not be nil"); - NSAssert(amount != nil, @"amount must not be nil"); - if (property == nil || amount == nil) { - return; - } - [self increment:@{property: amount}]; -} - -- (void)append:(NSDictionary *)properties -{ - NSAssert(properties != nil, @"properties must not be nil"); - [Mixpanel assertPropertyTypes:properties]; - [self addPeopleRecordToQueueWithAction:@"$append" andProperties:properties]; -} - -- (void)union:(NSDictionary *)properties -{ - NSAssert(properties != nil, @"properties must not be nil"); - for (id __unused v in properties.allValues) { - NSAssert([v isKindOfClass:[NSArray class]], - @"%@ union property values should be NSArray. found: %@", self, v); - } - [self addPeopleRecordToQueueWithAction:@"$union" andProperties:properties]; -} - -- (void)remove:(NSDictionary *)properties -{ - NSAssert(properties != nil, @"properties must not be nil"); - [Mixpanel assertPropertyTypes:properties]; - [self addPeopleRecordToQueueWithAction:@"$remove" andProperties:properties]; -} - -- (void)merge:(NSDictionary *)properties -{ - NSAssert(properties != nil, @"properties must not be nil"); - [self addPeopleRecordToQueueWithAction:@"$merge" andProperties:properties]; -} - -- (void)trackCharge:(NSNumber *)amount -{ - [self trackCharge:amount withProperties:nil]; -} - -- (void)trackCharge:(NSNumber *)amount withProperties:(NSDictionary *)properties -{ - NSAssert(amount != nil, @"amount must not be nil"); - if (amount != nil) { - NSMutableDictionary *txn = [NSMutableDictionary dictionaryWithObjectsAndKeys:amount, @"$amount", [NSDate date], @"$time", nil]; - if (properties) { - [txn addEntriesFromDictionary:properties]; - } - [self append:@{@"$transactions": txn}]; - } -} - -- (void)clearCharges -{ - [self set:@{@"$transactions": @[]}]; -} - -- (void)deleteUser -{ - [self addPeopleRecordToQueueWithAction:@"$delete" andProperties:@{}]; -} - -@end diff --git a/Mixpanel/Mixpanel/MixpanelPeoplePrivate.h b/Mixpanel/Mixpanel/MixpanelPeoplePrivate.h deleted file mode 100644 index 2c6d0ddc..00000000 --- a/Mixpanel/Mixpanel/MixpanelPeoplePrivate.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// MixpanelPeoplePrivate.h -// Mixpanel -// -// Created by Sam Green on 6/16/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// -#import - -@class Mixpanel; - -@interface MixpanelPeople () - -@property (nonatomic, weak) Mixpanel *mixpanel; -@property (nonatomic, strong) NSMutableArray *unidentifiedQueue; -@property (nonatomic, copy) NSString *distinctId; -@property (nonatomic, strong) NSDictionary *automaticPeopleProperties; - -- (instancetype)initWithMixpanel:(Mixpanel *)mixpanel; -- (void)merge:(NSDictionary *)properties; - -@end diff --git a/Mixpanel/Mixpanel/MixpanelPrivate.h b/Mixpanel/Mixpanel/MixpanelPrivate.h deleted file mode 100644 index e831e619..00000000 --- a/Mixpanel/Mixpanel/MixpanelPrivate.h +++ /dev/null @@ -1,162 +0,0 @@ -// -// MixpanelPrivate.h -// Mixpanel -// -// Created by Sam Green on 6/16/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import "Mixpanel.h" -#import "MPNetwork.h" -#import "SessionMetadata.h" -#import "MixpanelType.h" - -#if TARGET_OS_IOS -#import -#endif - -#if !MIXPANEL_NO_REACHABILITY_SUPPORT -#import -#import -#import -#endif - -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT -#import "Mixpanel+AutomaticTracks.h" -#import "AutomaticTracksConstants.h" -#import "AutomaticEvents.h" -#import "MixpanelExceptionHandler.h" -#endif - -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT -#import "MPResources.h" -#import "MPABTestDesignerConnection.h" -#import "UIView+MPHelpers.h" -#import "MPDesignerEventBindingMessage.h" -#import "MPDesignerSessionCollection.h" -#import "MPEventBinding.h" -#import "MPNotification.h" -#import "MPTakeoverNotification.h" -#import "MPMiniNotification.h" -#import "MPNotificationViewController.h" -#import "MPSwizzler.h" -#import "MPTweakStore.h" -#import "MPVariant.h" -#import "MPWebSocket.h" -#import "MPNotification.h" -#endif - -#if !MIXPANEL_NO_CONNECT_INTEGRATION_SUPPORT -#import "MPConnectIntegrations.h" -#endif - -#if defined(MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT) && defined(MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT) -@interface Mixpanel () -#elif defined(MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT) -@interface Mixpanel () -#elif defined(MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT) -@interface Mixpanel () -#else -@interface Mixpanel () -#endif - -{ - NSUInteger _flushInterval; - BOOL _enableVisualABTestAndCodeless; -} - -#if !MIXPANEL_NO_REACHABILITY_SUPPORT -@property (nonatomic, assign) SCNetworkReachabilityRef reachability; -@property (nonatomic, strong) CTTelephonyNetworkInfo *telephonyInfo; -#endif - -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT -@property (nonatomic, strong) UILongPressGestureRecognizer *testDesignerGestureRecognizer; -@property (nonatomic, strong) MPABTestDesignerConnection *abtestDesignerConnection; -#endif - -#if !MIXPANEL_NO_AUTOMATIC_EVENTS_SUPPORT -@property (nonatomic) AutomaticTrackMode validationMode; -@property (nonatomic) NSUInteger validationEventCount; -@property (nonatomic, getter=isValidationEnabled) BOOL validationEnabled; -@property (atomic, strong) AutomaticEvents *automaticEvents; -#endif - -#if !MIXPANEL_NO_CONNECT_INTEGRATION_SUPPORT -@property (nonatomic, strong) MPConnectIntegrations *connectIntegrations; -#endif - -#if !defined(MIXPANEL_WATCHOS) && !defined(MIXPANEL_MACOS) -@property (nonatomic, assign) UIBackgroundTaskIdentifier taskId; -@property (nonatomic, strong) UIViewController *notificationViewController; -#endif - -// re-declare internally as readwrite -@property (atomic, strong) MixpanelPeople *people; -@property (atomic, strong) NSMutableDictionary * cachedGroups; -@property (atomic, strong) MPNetwork *network; -@property (atomic, copy) NSString *distinctId; -@property (atomic, copy) NSString *alias; -@property (atomic, copy) NSString *anonymousId; -@property (atomic, copy) NSString *userId; - -@property (nonatomic, copy) NSString *apiToken; -@property (atomic, strong) NSDictionary *superProperties; -@property (atomic, strong) NSDictionary *automaticProperties; -@property (nonatomic, strong) NSTimer *timer; -@property (nonatomic, strong) NSMutableArray *eventsQueue; -@property (nonatomic, strong) NSMutableArray *peopleQueue; -@property (nonatomic, strong) NSMutableArray *groupsQueue; -@property (nonatomic) dispatch_queue_t serialQueue; -@property (nonatomic) dispatch_queue_t networkQueue; -@property (nonatomic, strong) NSMutableDictionary *timedEvents; -@property (nonatomic, strong) SessionMetadata *sessionMetadata; - -@property (nonatomic) BOOL decideResponseCached; -@property (nonatomic) BOOL hasAddedObserver; -@property (nonatomic, strong) NSNumber *automaticEventsEnabled; -@property (nonatomic, copy) NSArray *notifications; -@property (nonatomic, copy) NSArray *triggeredNotifications; -@property (nonatomic, strong) id currentlyShowingNotification; -@property (nonatomic, strong) NSMutableSet *shownNotifications; - -@property (nonatomic, strong) NSSet *variants; -@property (nonatomic, strong) NSSet *eventBindings; - -@property (nonatomic, assign) BOOL optOutStatus; -@property (nonatomic, assign) BOOL optOutStatusNotSet; - -@property (nonatomic, strong) NSString *savedUrbanAirshipChannelID; - -@property (atomic, copy) NSString *switchboardURL; - -+ (void)assertPropertyTypes:(NSDictionary *)properties; - -+ (BOOL)isAppExtension; -#if !MIXPANEL_NO_UIAPPLICATION_ACCESS -+ (UIApplication *)sharedUIApplication; -#endif - -- (NSString *)deviceModel; -- (NSString *)IFA; - -- (void)archivePeople; -- (NSString *)defaultDistinctId; -- (void)archive; -- (NSString *)eventsFilePath; -- (NSString *)peopleFilePath; -- (NSString *)groupsFilePath; -- (NSString *)propertiesFilePath; -- (NSString *)optOutFilePath; - -// for group caching -- (NSString *)keyForGroup:(NSString *)groupKey groupID:(id)groupID; -#if !MIXPANEL_NO_NOTIFICATION_AB_TEST_SUPPORT -- (void)trackPushNotification:(NSDictionary *)userInfo; -- (void)showNotificationWithObject:(MPNotification *)notification; -- (void)markVariantRun:(MPVariant *)variant; -- (void)checkForDecideResponseWithCompletion:(void (^)(NSArray *notifications, NSSet *variants, NSSet *eventBindings))completion; -- (void)checkForDecideResponseWithCompletion:(void (^)(NSArray *notifications, NSSet *variants, NSSet *eventBindings))completion useCache:(BOOL)useCache; -#endif - -@end diff --git a/Mixpanel/Mixpanel/MixpanelType.h b/Mixpanel/Mixpanel/MixpanelType.h deleted file mode 100644 index 78db3e49..00000000 --- a/Mixpanel/Mixpanel/MixpanelType.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// MixpanelType.h -// Mixpanel -// -// Created by Weizhe Yuan on 9/6/18. -// Copyright © 2018 Mixpanel. All rights reserved. -// - -#import - -@protocol MixpanelType - -- (BOOL)equalToMixpanelType:(id)rhs; - -@end - -@interface NSString (MixpanelTypeCategory) - -@end - -@interface NSNumber (MixpanelTypeCategory) - -@end - -@interface NSArray (MixpanelTypeCategory) - -@end - -@interface NSDictionary (MixpanelTypeCategory) - -@end - -@interface NSDate (MixpanelTypeCategory) - -@end - -@interface NSURL (MixpanelTypeCategory) - -@end diff --git a/Mixpanel/Mixpanel/MixpanelType.m b/Mixpanel/Mixpanel/MixpanelType.m deleted file mode 100644 index 409a6d17..00000000 --- a/Mixpanel/Mixpanel/MixpanelType.m +++ /dev/null @@ -1,102 +0,0 @@ -// -// MPValue.m -// Mixpanel -// -// Created by Weizhe Yuan on 9/6/18. -// Copyright © 2018 Mixpanel. All rights reserved. -// - -#import "MixpanelType.h" -#import - -@implementation NSString (MixpanelTypeCategory) - -- (BOOL)equalToMixpanelType:(id)mixpanelType -{ - return [mixpanelType isKindOfClass:[NSString class]] && [self isEqual:mixpanelType]; -} - -@end - -@implementation NSNumber (MixpanelTypeCategory) - -- (BOOL)equalToMixpanelType:(id)mixpanelType -{ - return [mixpanelType isKindOfClass:[NSNumber class]] && [self isEqual:mixpanelType]; -} - -@end - -@implementation NSDate (MixpanelTypeCategory) - -- (BOOL)equalToMixpanelType:(id)mixpanelType -{ - return [mixpanelType isKindOfClass:[NSDate class]] && [self isEqual:mixpanelType]; -} - -@end - -@implementation NSURL (MixpanelTypeCategory) - -- (BOOL)equalToMixpanelType:(id)mixpanelType -{ - return [mixpanelType isKindOfClass:[NSURL class]] && [self isEqual:mixpanelType]; -} - -@end - -@implementation NSArray (MixpanelTypeCategory) - -- (BOOL)equalToMixpanelType:(id)mixpanelType -{ - if (![mixpanelType isKindOfClass:[NSArray class]]) { - return NO; - } - - NSArray *mixpanelTypeArray = (NSArray *)mixpanelType; - if ([self count] != [mixpanelTypeArray count]) { - return NO; - } - - for (NSUInteger i = 0; i < [self count]; ++i) { - id v1 = (id)self[i]; - id v2 = (id)mixpanelTypeArray[i]; - if ([v1 class] != [v2 class] || ![v1 conformsToProtocol:@protocol(MixpanelType)] || - ![v1 equalToMixpanelType:v2]) { - return NO; - } - } - - return YES; -} - -@end - -@implementation NSDictionary (MixpanelTypeCategory) - -- (BOOL)equalToMixpanelType:(id)mixpanelType -{ - if (![mixpanelType isKindOfClass:[NSDictionary class]]) { - return NO; - } - - NSDictionary *mixpanelType_ = (NSDictionary *)mixpanelType; - if ([self count] != [mixpanelType_ count]) { - return NO; - } - - __block BOOL ret = YES; - [self enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSObject *value1, BOOL *stop) { - NSObject *value2 = [mixpanelType_ objectForKey:key]; - id v1 = (id)value1; - id v2 = (id)value2; - if ([v1 class] != [v2 class] || ![v1 conformsToProtocol:@protocol(MixpanelType)] || ![v1 equalToMixpanelType:v2]) { - *stop = YES; - ret = NO; - } - }]; - - return ret; -} - -@end diff --git a/Mixpanel/Mixpanel/NSInvocation+MPHelpers.h b/Mixpanel/Mixpanel/NSInvocation+MPHelpers.h deleted file mode 100644 index 1c105c9a..00000000 --- a/Mixpanel/Mixpanel/NSInvocation+MPHelpers.h +++ /dev/null @@ -1,11 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import - -@interface NSInvocation (MPHelpers) - -- (void)mp_setArgumentsFromArray:(NSArray *)argumentArray; -- (id)mp_returnValue; - -@end diff --git a/Mixpanel/Mixpanel/NSInvocation+MPHelpers.m b/Mixpanel/Mixpanel/NSInvocation+MPHelpers.m deleted file mode 100644 index 1ad4dd37..00000000 --- a/Mixpanel/Mixpanel/NSInvocation+MPHelpers.m +++ /dev/null @@ -1,188 +0,0 @@ -// -// Copyright (c) 2014 Mixpanel. All rights reserved. - -#import -#import -#import "MPLogger.h" -#import "NSInvocation+MPHelpers.h" - -typedef union { - char _chr; - unsigned char _uchr; - short _sht; - unsigned short _usht; - int _int; - unsigned int _uint; - long _lng; - unsigned long _ulng; - long long _lng_lng; - unsigned long long _ulng_lng; - float _flt; - double _dbl; - _Bool _bool; -} MPObjCNumericTypes; - -static void MPFree(void *p) -{ - if (p) { - free(p); - } -} - -static void *MPAllocBufferForObjCType(const char *objCType) -{ - void *buffer = NULL; - - NSUInteger size, alignment; - NSGetSizeAndAlignment(objCType, &size, &alignment); - - int result = posix_memalign(&buffer, MAX(sizeof(void *), alignment), size); - if (result != 0) { - MPLogError(@"Error allocating aligned memory: %s", strerror(result)); - } - - if (buffer) { - memset(buffer, 0, size); - } - - return buffer; -} - -@implementation NSInvocation (MPHelpers) - -- (void)mp_setArgument:(id)argumentValue atIndex:(NSUInteger)index -{ - const char *argumentType = [self.methodSignature getArgumentTypeAtIndex:index]; - - if ([argumentValue isKindOfClass:[NSNumber class]] && strlen(argumentType) == 1) { - // Deal with NSNumber instances (converting to primitive numbers) - NSNumber *numberArgument = argumentValue; - - MPObjCNumericTypes arg; - switch (argumentType[0]) - { - case _C_CHR: arg._chr = numberArgument.charValue; break; - case _C_UCHR: arg._uchr = numberArgument.unsignedCharValue; break; - case _C_SHT: arg._sht = numberArgument.shortValue; break; - case _C_USHT: arg._usht = numberArgument.unsignedShortValue; break; - case _C_INT: arg._int = numberArgument.intValue; break; - case _C_UINT: arg._uint = numberArgument.unsignedIntValue; break; - case _C_LNG: arg._lng = numberArgument.longValue; break; - case _C_ULNG: arg._ulng = numberArgument.unsignedLongValue; break; - case _C_LNG_LNG: arg._lng_lng = numberArgument.longLongValue; break; - case _C_ULNG_LNG: arg._ulng_lng = numberArgument.unsignedLongLongValue; break; - case _C_FLT: arg._flt = numberArgument.floatValue; break; - case _C_DBL: arg._dbl = numberArgument.doubleValue; break; - case _C_BOOL: arg._bool = numberArgument.boolValue; break; - default: - NSAssert(NO, @"Currently unsupported argument type!"); - } - - [self setArgument:&arg atIndex:(NSInteger)index]; - } - else if ([argumentValue isKindOfClass:[NSValue class]]) - { - NSValue *valueArgument = argumentValue; - - NSAssert2(strcmp(valueArgument.objCType, argumentType) == 0, @"Objective-C type mismatch (%s != %s)!", valueArgument.objCType, argumentType); - - void *buffer = MPAllocBufferForObjCType(valueArgument.objCType); - - [valueArgument getValue:buffer]; - - [self setArgument:&buffer atIndex:(NSInteger)index]; - - MPFree(buffer); - } else { - switch (argumentType[0]) - { - case _C_ID: - { - [self setArgument:&argumentValue atIndex:(NSInteger)index]; - break; - } - case _C_SEL: - { - SEL sel = NSSelectorFromString(argumentValue); - [self setArgument:&sel atIndex:(NSInteger)index]; - break; - } - default: - NSAssert(NO, @"Currently unsupported argument type!"); - } - } -} - -- (void)mp_setArgumentsFromArray:(NSArray *)argumentArray -{ - NSParameterAssert(argumentArray.count == (self.methodSignature.numberOfArguments - 2)); - - NSUInteger i = 0; - for (id argument in argumentArray) { - NSUInteger argumentIndex = 2 + i; - [self mp_setArgument:argument atIndex:argumentIndex]; - ++i; - } -} - -- (id)mp_returnValue -{ - __strong id returnValue = nil; - - NSMethodSignature *methodSignature = self.methodSignature; - - const char *objCType = methodSignature.methodReturnType; - void *buffer = MPAllocBufferForObjCType(objCType); - - [self getReturnValue:buffer]; - - if (strlen(objCType) == 1) { - switch (objCType[0]) - { - case _C_CHR: returnValue = @(*((char *)buffer)); break; - case _C_UCHR: returnValue = @(*((unsigned char *)buffer)); break; - case _C_SHT: returnValue = @(*((short *)buffer)); break; - case _C_USHT: returnValue = @(*((unsigned short *)buffer)); break; - case _C_INT: returnValue = @(*((int *)buffer)); break; - case _C_UINT: returnValue = @(*((unsigned int *)buffer)); break; - case _C_LNG: returnValue = @(*((long *)buffer)); break; - case _C_ULNG: returnValue = @(*((unsigned long*)buffer)); break; - case _C_LNG_LNG: returnValue = @(*((long long *)buffer)); break; - case _C_ULNG_LNG: returnValue = @(*((unsigned long long*)buffer)); break; - case _C_FLT: returnValue = @(*((float *)buffer)); break; - case _C_DBL: returnValue = @(*((double *)buffer)); break; - case _C_BOOL: returnValue = @(*((_Bool *)buffer)); break; - case _C_ID: returnValue = *((__unsafe_unretained id *)buffer); break; - case _C_SEL: returnValue = NSStringFromSelector(*((SEL *)buffer)); break; - default: - NSAssert1(NO, @"Unhandled return type: %s", objCType); - break; - } - } else { - switch (objCType[0]) - { - case _C_STRUCT_B: returnValue = [NSValue valueWithBytes:buffer objCType:objCType]; break; - case _C_PTR: - { - CFTypeRef cfTypeRef = *(CFTypeRef *)buffer; - if ((strcmp(objCType, @encode(CGImageRef)) == 0 && CFGetTypeID(cfTypeRef) == CGImageGetTypeID()) || - (strcmp(objCType, @encode(CGColorRef)) == 0 && CFGetTypeID(cfTypeRef) == CGColorGetTypeID())) - { - returnValue = (__bridge id)cfTypeRef; - } else { - NSAssert(NO, @"Currently unsupported return type!"); - } - break; - } - default: - NSAssert1(NO, @"Unhandled return type: %s", objCType); - break; - } - } - - MPFree(buffer); - - return returnValue; -} - -@end diff --git a/Mixpanel/Mixpanel/NSNotificationCenter+AutomaticTracks.h b/Mixpanel/Mixpanel/NSNotificationCenter+AutomaticTracks.h deleted file mode 100644 index 8c22aa8b..00000000 --- a/Mixpanel/Mixpanel/NSNotificationCenter+AutomaticTracks.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// NSNotificationCenter+AutomaticTracks.h -// HelloMixpanel -// -// Created by Sam Green on 2/23/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface NSNotificationCenter (AutomaticTracks) - -- (void)mp_postNotification:(NSNotification *)notification; - -- (void)mp_postNotificationName:(NSString *)name - object:(nullable id)object - userInfo:(nullable NSDictionary *)info; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Mixpanel/Mixpanel/NSNotificationCenter+AutomaticTracks.m b/Mixpanel/Mixpanel/NSNotificationCenter+AutomaticTracks.m deleted file mode 100644 index 68b45aeb..00000000 --- a/Mixpanel/Mixpanel/NSNotificationCenter+AutomaticTracks.m +++ /dev/null @@ -1,47 +0,0 @@ -// -// NSNotificationCenter+AutomaticTracks.m -// HelloMixpanel -// -// Created by Sam Green on 2/23/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import "NSNotificationCenter+AutomaticTracks.h" -#import "Mixpanel+AutomaticTracks.h" -#import "AutomaticTracksConstants.h" - -@implementation NSNotificationCenter (AutomaticTracks) - -- (void)mp_postNotification:(NSNotification *)notification { - if ([NSNotificationCenter shouldTrackNotificationNamed:notification.name]) { - [[Mixpanel sharedAutomatedInstance] track:kAutomaticTrackName]; - } - - [self mp_postNotification:notification]; -} - -- (void)mp_postNotificationName:(NSString *)name - object:(nullable id)object - userInfo:(nullable NSDictionary *)info { - if ([NSNotificationCenter shouldTrackNotificationNamed:name]) { - [[Mixpanel sharedAutomatedInstance] track:kAutomaticTrackName]; - } - - [self mp_postNotificationName:name object:object userInfo:info]; -} - -+ (BOOL)shouldTrackNotificationNamed:(NSString *)name { - // iOS spams notifications. We're whitelisting for now. - NSArray *names = @[ - // UITextField Editing - UITextFieldTextDidEndEditingNotification, - - // UIApplication Lifecycle - UIApplicationDidFinishLaunchingNotification, - UIApplicationDidEnterBackgroundNotification, - UIApplicationDidBecomeActiveNotification ]; - NSSet *whiteListedNotificationNames = [NSSet setWithArray:names]; - return [whiteListedNotificationNames containsObject:name]; -} - -@end diff --git a/Mixpanel/Mixpanel/NSThread+MPHelpers.h b/Mixpanel/Mixpanel/NSThread+MPHelpers.h deleted file mode 100644 index 8fde6496..00000000 --- a/Mixpanel/Mixpanel/NSThread+MPHelpers.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// NSThread+MPHelpers.h -// Mixpanel -// -// Created by Peter Chien on 6/29/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import - -@interface NSThread (MPHelpers) - -+ (void)mp_safelyRunOnMainThreadSync:(void (^)(void))block; - -@end diff --git a/Mixpanel/Mixpanel/NSThread+MPHelpers.m b/Mixpanel/Mixpanel/NSThread+MPHelpers.m deleted file mode 100644 index 266dcd8b..00000000 --- a/Mixpanel/Mixpanel/NSThread+MPHelpers.m +++ /dev/null @@ -1,21 +0,0 @@ -// -// NSThread+MPHelpers.m -// Mixpanel -// -// Created by Peter Chien on 6/29/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import "NSThread+MPHelpers.h" - -@implementation NSThread (MPHelpers) - -+ (void)mp_safelyRunOnMainThreadSync:(void (^)(void))block { - if ([self isMainThread]) { - block(); - } else { - dispatch_sync(dispatch_get_main_queue(), block); - } -} - -@end diff --git a/Mixpanel/Mixpanel/SelectorEvaluator.h b/Mixpanel/Mixpanel/SelectorEvaluator.h deleted file mode 100644 index f078c987..00000000 --- a/Mixpanel/Mixpanel/SelectorEvaluator.h +++ /dev/null @@ -1,96 +0,0 @@ -#import - -@interface MPBoolean : NSObject - -@property (nonatomic, readonly) BOOL value; - -- (instancetype)init:(BOOL)value; - -@end - -@interface SelectorEvaluator : NSObject - -+ (NSDate*)currentDate; -+ (NSDateFormatter*)dateFormatter; - -+ (double)toNumber:(id)value - withError:(NSError **)error; - -+ (BOOL)toBoolean:(id)value; - -+ (id)evaluateNode:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (NSDate *)evaluateWindow:(NSDictionary *)value - withError:(NSError **)error; - -+ (id)evaluateOperand:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (id)evaluateOperator:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (NSNumber *)evaluateNumber:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (MPBoolean *)evaluateBoolean:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (NSDate *)evaluateDateTime:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (NSArray *)evaluateList:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (NSString *)evaluateString:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (MPBoolean *)evaluateAnd:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (MPBoolean *)evaluateOr:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (MPBoolean *)evaluateIn:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (id)evaluatePlus:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (NSNumber *)evaluateArithmetic:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (MPBoolean *)evaluateEquality:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (MPBoolean *)evaluateComparison:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (MPBoolean *)evaluateDefined:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (MPBoolean *)evaluateNot:(NSDictionary *)node - properties:(NSDictionary *)properties - withError:(NSError **)error; - -+ (id)evaluate:(NSDictionary *)selector - properties:(NSDictionary *)properties - withError:(NSError **)error; - -@end diff --git a/Mixpanel/Mixpanel/SelectorEvaluator.m b/Mixpanel/Mixpanel/SelectorEvaluator.m deleted file mode 100644 index f6047fe5..00000000 --- a/Mixpanel/Mixpanel/SelectorEvaluator.m +++ /dev/null @@ -1,795 +0,0 @@ -#import "SelectorEvaluator.h" - -static NSString *const errDomain = @"SelectorEvaluatorError"; -static NSInteger const errCode = -1; - -static NSString *const OPERATOR_KEY = @"operator"; -static NSString *const CHILDREN_KEY = @"children"; -static NSString *const PROPERTY_KEY = @"property"; -static NSString *const VALUE_KEY = @"value"; -static NSString *const EVENT_KEY = @"event"; -static NSString *const LITERAL_KEY = @"literal"; -static NSString *const WINDOW_KEY = @"window"; -static NSString *const UNIT_KEY = @"unit"; -static NSString *const HOUR_KEY = @"hour"; -static NSString *const DAY_KEY = @"day"; -static NSString *const WEEK_KEY = @"week"; -static NSString *const MONTH_KEY = @"month"; -// Typecast operators -static NSString *const BOOLEAN_OPERATOR = @"boolean"; -static NSString *const DATETIME_OPERATOR = @"datetime"; -static NSString *const LIST_OPERATOR = @"list"; -static NSString *const NUMBER_OPERATOR = @"number"; -static NSString *const STRING_OPERATOR = @"string"; -// Binary operators -static NSString *const AND_OPERATOR = @"and"; -static NSString *const OR_OPERATOR = @"or"; -static NSString *const IN_OPERATOR = @"in"; -static NSString *const NOT_IN_OPERATOR = @"not in"; -static NSString *const PLUS_OPERATOR = @"+"; -static NSString *const MINUS_OPERATOR = @"-"; -static NSString *const MUL_OPERATOR = @"*"; -static NSString *const DIV_OPERATOR = @"/"; -static NSString *const MOD_OPERATOR = @"%"; -static NSString *const EQUALS_OPERATOR = @"=="; -static NSString *const NOT_EQUALS_OPERATOR = @"!="; -static NSString *const GREATER_THAN_OPERATOR = @">"; -static NSString *const GREATER_THAN_EQUAL_OPERATOR = @">="; -static NSString *const LESS_THAN_OPERATOR = @"<"; -static NSString *const LESS_THAN_EQUAL_OPERATOR = @"<="; -// Unary operators -static NSString *const NOT_OPERATOR = @"not"; -static NSString *const DEFINED_OPERATOR = @"defined"; -static NSString *const NOT_DEFINED_OPERATOR = @"not defined"; -// Special words -static NSString *const NOW_LITERAL = @"now"; - -static NSInteger const kLEFT = 0; -static NSInteger const kRIGHT = 1; - -@implementation MPBoolean: NSObject - -- (instancetype)init:(BOOL)value -{ - self = [super init]; - if (self) { - _value = value; - } - - return self; -} - -- (BOOL)isEqualToMPBoolean:(MPBoolean *)other { - return [self value] == [other value]; -} - -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - - if (![object isKindOfClass:[MPBoolean class]]) { - return NO; - } - - return [self isEqualToMPBoolean:object]; -} - -@end - -@implementation SelectorEvaluator - -// This function exists so that unit tests can inject dates for test cases -+ (NSDate *)currentDate { - return [NSDate date]; -} - -+ (NSDateFormatter *)dateFormatter { - static NSDateFormatter *formatter = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - formatter = [[NSDateFormatter alloc] init]; - [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"]; - [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; - }); - - return formatter; -} - -+ (NSError *)error:(NSString *)errDesc { - NSDictionary *info = @{ - NSLocalizedDescriptionKey: NSLocalizedString(errDesc, nil), - }; - - return [[NSError alloc] initWithDomain:errDomain code:errCode userInfo:info]; -} - -+ (double)toNumber:(id)value withError:(NSError *__autoreleasing *)error { - if ([value isKindOfClass:[NSNumber class]]) { - return [value doubleValue]; - } - if ([value isKindOfClass:[MPBoolean class]]) { - return [(MPBoolean *)value value]; - } - if ([value isKindOfClass:[NSDate class]]) { - double time = [(NSDate *)value timeIntervalSince1970]; - if (time <= 0) { - *error = [self error:@"invalid value for date"]; - return 0.0; - } - return time; - } - if ([value isKindOfClass:[NSString class]]) { - return [(NSString *)value doubleValue]; - } - *error = [self error:@"invalid type"]; - - return 0.0; -} - -+ (BOOL)toBoolean:(id)value { - if ([value isKindOfClass:[NSNumber class]]) { - return [value boolValue]; - } - if ([value isKindOfClass:[MPBoolean class]]) { - return [(MPBoolean *)value value]; - } - if ([value isKindOfClass:[NSDate class]]) { - return [(NSDate *)value timeIntervalSince1970] > 0 ? YES: NO; - } - if ([value isKindOfClass:[NSString class]]) { - return [(NSString *)value length] > 0 ? YES: NO; - } - if ([value isKindOfClass:[NSArray class]]) { - return [(NSArray *)value count] > 0 ? YES: NO; - } - if ([value isKindOfClass:[NSDictionary class]]) { - return [(NSArray *)value count] > 0 ? YES: NO; - } - - return NO; -} - -+ (NSNumber *)evaluateNumber:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:OPERATOR_KEY] || ![node[OPERATOR_KEY] isEqualToString:NUMBER_OPERATOR]) { - if (error) { - *error = [self error:@"invalid operator: number"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 1))) { - if (error) { - *error = [self error:@"invalid operator: number"]; - } - return nil; - } - id child = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - - return [[NSNumber alloc] initWithDouble:[self toNumber:child withError:error]]; -} - -+ (MPBoolean *)evaluateBoolean:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:OPERATOR_KEY] || ![node[OPERATOR_KEY] isEqualToString:BOOLEAN_OPERATOR]) { - if (error) { - *error = [self error:@"invalid operator: boolean"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 1))) { - if (error) { - *error = [self error:@"invalid operator: boolean"]; - } - return nil; - } - id child = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - - return [[MPBoolean alloc] init:[self toBoolean:child]]; -} - -+ (NSDate *)evaluateDateTime:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:OPERATOR_KEY] || ![node[OPERATOR_KEY] isEqualToString:DATETIME_OPERATOR]) { - if (error) { - *error = [self error:@"invalid operator: datetime"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 1))) { - if (error) { - *error = [self error:@"invalid operator: datetime"]; - } - return nil; - } - NSObject *child = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - if ([child isKindOfClass:[MPBoolean class]]) { - return nil; - } - if ([child isKindOfClass:[NSNumber class]]) { - return [NSDate dateWithTimeIntervalSince1970:[(NSNumber *)child integerValue]]; - } - if ([child isKindOfClass:[NSString class]]) { - NSDateFormatter *formatter = [self dateFormatter]; - return [formatter dateFromString:(NSString *)child]; - } - if ([child isKindOfClass:[NSDate class]]) { - return (NSDate *)child; - } - - return nil; -} - -+ (NSArray *)evaluateList:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:OPERATOR_KEY] || ![node[OPERATOR_KEY] isEqualToString:LIST_OPERATOR]) { - if (error) { - *error = [self error:@"invalid operator: list"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 1))) { - if (error) { - *error = [self error:@"invalid operator: list"]; - } - return nil; - } - NSArray *result = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if ([result isKindOfClass:[NSArray class]]) { - return result; - } - - return nil; -} - -+ (NSString *)toJSONString:(NSObject *) obj withError:(NSError *__autoreleasing *)error { - NSData *data = [NSJSONSerialization dataWithJSONObject:obj options:0 error:error]; - - return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; -} - -+ (NSString *)evaluateString:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:OPERATOR_KEY] || ![node[OPERATOR_KEY] isEqualToString:STRING_OPERATOR]) { - if (error) { - *error = [self error:@"invalid operator: string"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 1))) { - if (error) { - *error = [self error:@"invalid operator: string"]; - } - return nil; - } - NSObject *child = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - - if ([child isKindOfClass:[NSString class]]) { - return (NSString *)child; - } - if ([child isKindOfClass:[MPBoolean class]]) { - return [NSString stringWithFormat:@"%@", [(MPBoolean *)child value] ? @"YES" : @"NO"]; - } - if ([child isKindOfClass:[NSDate class]]) { - return [[self dateFormatter] stringFromDate:(NSDate *)child]; - } - if ([child isKindOfClass:[NSNumber class]]) { - return [(NSNumber *)child stringValue]; - } - if ([child isKindOfClass:[NSArray class]] || [child isKindOfClass:[NSDictionary class]]) { - return [self toJSONString:child withError:error]; - } - - return nil; -} - -+ (MPBoolean *)evaluateAnd:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:OPERATOR_KEY] || ![node[OPERATOR_KEY] isEqualToString:AND_OPERATOR]) { - if (error) { - *error = [self error:@"invalid operator: and"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 2))) { - if (error) { - *error = [self error:@"invalid operator: and"]; - } - return nil; - } - - BOOL left = [self toBoolean:[self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]]; - BOOL right = [self toBoolean:[self evaluateNode:node[CHILDREN_KEY][kRIGHT] properties:properties withError:error]]; - - return [[MPBoolean alloc] init:left && right]; -} - -+ (MPBoolean *)evaluateOr:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:OPERATOR_KEY] || ![node[OPERATOR_KEY] isEqualToString:OR_OPERATOR]) { - if (error) { - *error = [self error:@"invalid operator: or"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 2))) { - if (error) { - *error = [self error:@"invalid operator: or"]; - } - return nil; - } - - BOOL left = [self toBoolean:[self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]]; - BOOL right = [self toBoolean:[self evaluateNode:node[CHILDREN_KEY][kRIGHT] properties:properties withError:error]]; - - return [[MPBoolean alloc] init:left || right]; -} - -+ (MPBoolean *)evaluateIn:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - NSArray *supportedOperators = @[IN_OPERATOR, NOT_IN_OPERATOR]; - if (![node objectForKey:OPERATOR_KEY] || !([supportedOperators containsObject:node[OPERATOR_KEY]])) { - if (error) { - *error = [self error:@"invalid operator: in"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 2))) { - if (error) { - *error = [self error:@"invalid operator: in"]; - } - return nil; - } - - id l = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - id r = [self evaluateNode:node[CHILDREN_KEY][kRIGHT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - BOOL b = NO; - if ([(NSString *)l isKindOfClass:[NSString class]] && [(NSString *)r isKindOfClass:[NSString class]]) { - b = [(NSString *)r containsString:(NSString *)l]; - } else if ([(NSArray *)r isKindOfClass:[NSArray class]]) { - b = [(NSArray *)r containsObject:l]; - } - - if ([node[OPERATOR_KEY] isEqualToString:NOT_IN_OPERATOR]) { - b = !b; - } - - return [[MPBoolean alloc] init:b]; -} - -+ (id)evaluatePlus:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:OPERATOR_KEY] || !([node[OPERATOR_KEY] isEqualToString:PLUS_OPERATOR])) { - if (error) { - *error = [self error:@"invalid operator: +"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 2))) { - if (error) { - *error = [self error:@"invalid operator: +"]; - } - return nil; - } - - id l = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - id r = [self evaluateNode:node[CHILDREN_KEY][kRIGHT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - - if ([(NSString *)l isKindOfClass:[NSString class]] && [(NSString *)r isKindOfClass:[NSString class]]) { - return [NSString stringWithFormat:@"%@%@", (NSString *)l, (NSString *)r]; - } - if ([(NSNumber *)l isKindOfClass:[NSNumber class]] && [(NSNumber *)r isKindOfClass:[NSNumber class]]) { - return [NSNumber numberWithDouble:[(NSNumber *)l doubleValue] + [(NSNumber *)r doubleValue]]; - } - - return nil; -} - -+ (NSNumber *)evaluateArithmetic:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - NSArray *supportedOperators = @[MINUS_OPERATOR, DIV_OPERATOR, MUL_OPERATOR, MOD_OPERATOR]; - if (![node objectForKey:OPERATOR_KEY] || !([supportedOperators containsObject:node[OPERATOR_KEY]])) { - if (error) { - *error = [self error:@"invalid arithmetic operator"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 2))) { - if (error) { - *error = [self error:@"invalid arithmetic operator"]; - } - return nil; - } - - id l = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - id r = [self evaluateNode:node[CHILDREN_KEY][kRIGHT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - - if ([(NSNumber *)l isKindOfClass:[NSNumber class]] && [(NSNumber *)r isKindOfClass:[NSNumber class]]) { - double ld = [(NSNumber *)l doubleValue]; - double rd = [(NSNumber *)r doubleValue]; - NSString *op = node[OPERATOR_KEY]; - if ([op isEqualToString:MINUS_OPERATOR]) { - return [NSNumber numberWithDouble:ld - rd]; - } - if ([op isEqualToString:MUL_OPERATOR]) { - return [NSNumber numberWithDouble:ld * rd]; - } - if ([op isEqualToString:DIV_OPERATOR]) { - return (NSInteger)rd != 0 ? [NSNumber numberWithDouble:ld / rd] : nil; - } - if ([op isEqualToString:MOD_OPERATOR]) { - if ((NSInteger)rd == 0) { - return nil; - } - if ((NSInteger)ld == 0) { - return [NSNumber numberWithDouble:0]; - } - if ((ld < 0 && rd > 0) || (ld > 0 && rd < 0)) { - return [NSNumber numberWithDouble:-(floor(ld / rd) * rd - ld)]; - } - return [NSNumber numberWithDouble:fmod(ld, rd)]; - } - } - - return nil; -} - -+ (MPBoolean *)evaluateEquality:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - NSArray *supportedOperators = @[EQUALS_OPERATOR, NOT_EQUALS_OPERATOR]; - if (![node objectForKey:OPERATOR_KEY] || !([supportedOperators containsObject:node[OPERATOR_KEY]])) { - if (error) { - *error = [self error:@"invalid (not) equality operator"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 2))) { - if (error) { - *error = [self error:@"invalid (not) equality operator"]; - } - return nil; - } - - id l = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - id r = [self evaluateNode:node[CHILDREN_KEY][kRIGHT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - - BOOL b = NO; - if (l == nil && r == nil) { - b = YES; - } else if ([(MPBoolean *)l isKindOfClass:[MPBoolean class]]) { - // left operand should be from the evaluation of a non literal type - b = [(MPBoolean *)l value] == [self toBoolean:r]; - } else { - b = [l isEqual:r]; - } - - if ([node[OPERATOR_KEY] isEqualToString:NOT_EQUALS_OPERATOR]) { - b = !b; - } - - return [[MPBoolean alloc] init:b]; -} - -+ (BOOL)compareDoubles:(double) l r:(double) r op:(NSString*) op { - if ([op isEqualToString:GREATER_THAN_OPERATOR]) { - return l > r; - } - if ([op isEqualToString:GREATER_THAN_EQUAL_OPERATOR]) { - return l >= r; - } - if ([op isEqualToString:LESS_THAN_OPERATOR]) { - return l < r; - } - if ([op isEqualToString:LESS_THAN_EQUAL_OPERATOR]) { - return l <= r; - } - - return NO; -} - -+ (MPBoolean *)evaluateComparison:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - NSArray *supportedOperators = @[GREATER_THAN_OPERATOR, GREATER_THAN_EQUAL_OPERATOR, LESS_THAN_OPERATOR, LESS_THAN_EQUAL_OPERATOR]; - if (![node objectForKey:OPERATOR_KEY] || !([supportedOperators containsObject:node[OPERATOR_KEY]])) { - if (error) { - *error = [self error:@"invalid comparison operator"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 2))) { - if (error) { - *error = [self error:@"invalid comparison operator"]; - } - return nil; - } - - id l = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - id r = [self evaluateNode:node[CHILDREN_KEY][kRIGHT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - - BOOL b = NO; - - if ([(NSNumber *)l isKindOfClass:[NSNumber class]] && [(NSNumber *)r isKindOfClass:[NSNumber class]]) { - b = [self compareDoubles:[(NSNumber *)l doubleValue] r:[(NSNumber *)r doubleValue] op:node[OPERATOR_KEY]]; - } else if ([(NSDate *)l isKindOfClass:[NSDate class]] && [(NSDate *)r isKindOfClass:[NSDate class]]) { - b = [self compareDoubles:[(NSDate *)l timeIntervalSince1970] r:[(NSDate *)r timeIntervalSince1970] op:node[OPERATOR_KEY]]; - } else if ([(NSString *)l isKindOfClass:[NSString class]] && [(NSString *)r isKindOfClass:[NSString class]]) { - NSString *op = node[OPERATOR_KEY]; - NSString *ls = [(NSString *)l lowercaseString]; - NSString *rs = [(NSString *)r lowercaseString]; - if ([op isEqualToString:GREATER_THAN_OPERATOR]) { - b = [ls compare:rs] == NSOrderedDescending; - } else if ([op isEqualToString:GREATER_THAN_EQUAL_OPERATOR]) { - b = [ls compare:rs] == NSOrderedDescending || [ls compare:rs] == NSOrderedSame; - } else if ([op isEqualToString:LESS_THAN_OPERATOR]) { - b = [ls compare:rs] == NSOrderedAscending; - } else if ([op isEqualToString:LESS_THAN_EQUAL_OPERATOR]) { - b = [ls compare:rs] == NSOrderedAscending || [ls compare:rs] == NSOrderedSame; - } - } - - return [[MPBoolean alloc] init:b]; -} - -+ (MPBoolean *)evaluateDefined:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - NSArray *supportedOperators = @[DEFINED_OPERATOR, NOT_DEFINED_OPERATOR]; - if (![node objectForKey:OPERATOR_KEY] || !([supportedOperators containsObject:node[OPERATOR_KEY]])) { - if (error) { - *error = [self error:@"invalid operator: defined"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 1))) { - if (error) { - *error = [self error:@"invalid operator: defined"]; - } - return nil; - } - NSObject *child = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - BOOL b = child ? YES : NO; - if ([node[OPERATOR_KEY] isEqualToString:NOT_DEFINED_OPERATOR]) { - b = !b; - } - - return [[MPBoolean alloc] init: b]; -} - -+ (MPBoolean *)evaluateNot:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:OPERATOR_KEY] || ![node[OPERATOR_KEY] isEqualToString:NOT_OPERATOR]) { - if (error) { - *error = [self error:@"invalid operator: not"]; - } - return nil; - } - if (![node objectForKey:CHILDREN_KEY] || !([(NSArray *)node[CHILDREN_KEY] isKindOfClass:[NSArray class]] && - ([(NSArray *)node[CHILDREN_KEY] count] == 1))) { - if (error) { - *error = [self error:@"invalid operator: not"]; - } - return nil; - } - NSObject *child = [self evaluateNode:node[CHILDREN_KEY][kLEFT] properties:properties withError:error]; - if (error && *error) { - return nil; - } - if ([(MPBoolean *)child isKindOfClass:[MPBoolean class]]) { - return [[MPBoolean alloc] init: ![(MPBoolean *)child value]]; - } - if ([(NSNumber *)child isKindOfClass:[NSNumber class]]) { - return [[MPBoolean alloc] init: ![(NSNumber *)child boolValue]]; - } - if (child == nil) { - return [[MPBoolean alloc] init: YES]; - } - - return nil; -} - - -+ (NSDate *)evaluateWindow:(NSDictionary *)value withError:(NSError *__autoreleasing *)error { - if (![value objectForKey:WINDOW_KEY] || ![(NSDictionary *)value[WINDOW_KEY] isKindOfClass:[NSDictionary class]]) { - if (error) { - *error = [self error:@"invalid or missing required key window"]; - } - return nil; - } - NSDictionary *window = [value objectForKey:WINDOW_KEY]; - if (![window objectForKey:VALUE_KEY] || ![(NSNumber *)window[VALUE_KEY] isKindOfClass:[NSNumber class]]) { - if (error) { - *error = [self error:@"invalid or missing required key value"]; - } - return nil; - } - NSNumber *unitValue = window[VALUE_KEY]; - if (![window objectForKey:UNIT_KEY] || ![(NSString *)window[UNIT_KEY] isKindOfClass:[NSString class]]) { - if (error) { - *error = [self error:@"invalid or missing required key unit"]; - } - return nil; - } - NSString *unit = window[UNIT_KEY]; - NSDate *date = [self currentDate]; - if ([unit isEqualToString:HOUR_KEY]) { - return [date dateByAddingTimeInterval:(-1 * unitValue.doubleValue * 60 * 60)]; - } - if ([unit isEqualToString:DAY_KEY]) { - return [date dateByAddingTimeInterval:(-1 * unitValue.doubleValue * 24 * 60 * 60)]; - } - if ([unit isEqualToString:WEEK_KEY]) { - return [date dateByAddingTimeInterval:(-1 * unitValue.doubleValue * 7 * 24 * 60 * 60)]; - } - if ([unit isEqualToString:MONTH_KEY]) { - return [date dateByAddingTimeInterval:(-1 * unitValue.doubleValue * 30 * 24 * 60 * 60)]; - } - if (error) { - *error = [self error:@"invalid unit for window"]; - } - - return nil; -} - -+ (id)evaluateOperand:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:PROPERTY_KEY] || ![node[PROPERTY_KEY] isKindOfClass:[NSString class]]) { - if (error) { - *error = [self error:@"invalid or missing required key property"]; - } - return nil; - } - if (![node objectForKey:VALUE_KEY] || !([node[PROPERTY_KEY] isKindOfClass:[NSString class]] || - [node[PROPERTY_KEY] isKindOfClass:[NSDictionary class]])) { - if (error) { - *error = [self error:@"invalid or missing required key value"]; - } - return nil; - } - - NSString *property = node[PROPERTY_KEY]; - id value = node[VALUE_KEY]; - if ([property isEqualToString:EVENT_KEY]) { - if ([value isKindOfClass:[NSString class]]) { - return properties[(NSString *)value]; - } - *error = [self error:@"invalid type for event property name"]; - return nil; - } - if ([property isEqualToString:LITERAL_KEY]) { - if ([value isKindOfClass:[NSString class]] && [(NSString *)value isEqualToString:NOW_LITERAL]) { - return [self currentDate]; - } - if ([value isKindOfClass:[NSDictionary class]]) { - return [self evaluateWindow:value withError:error]; - } - return value; - } - - if (error) { - *error = [self error:@"invalid value for property key"]; - } - - return nil; -} - -+ (id)evaluateOperator:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if (![node objectForKey:OPERATOR_KEY] || ![(NSString *)node[OPERATOR_KEY] isKindOfClass:[NSString class]]) { - if (error) { - *error = [self error:@"invalid operator key"]; - } - return nil; - } - - NSString *op = node[OPERATOR_KEY]; - if ([op isEqualToString:AND_OPERATOR]) { - return [self evaluateAnd:node properties:properties withError:error]; - } - if ([op isEqualToString:OR_OPERATOR]) { - return [self evaluateOr:node properties:properties withError:error]; - } - if ([@[IN_OPERATOR, NOT_IN_OPERATOR] containsObject:op]) { - return [self evaluateIn:node properties:properties withError:error]; - } - if ([op isEqualToString:PLUS_OPERATOR]) { - return [self evaluatePlus:node properties:properties withError:error]; - } - if ([@[MINUS_OPERATOR, MUL_OPERATOR, DIV_OPERATOR, MOD_OPERATOR] containsObject:op]) { - return [self evaluateArithmetic:node properties:properties withError:error]; - } - if ([@[EQUALS_OPERATOR, NOT_EQUALS_OPERATOR] containsObject:op]) { - return [self evaluateEquality:node properties:properties withError:error]; - } - if ([@[GREATER_THAN_OPERATOR, GREATER_THAN_EQUAL_OPERATOR, LESS_THAN_OPERATOR, LESS_THAN_EQUAL_OPERATOR] containsObject:op]) { - return [self evaluateComparison:node properties:properties withError:error]; - } - if ([op isEqualToString:BOOLEAN_OPERATOR]) { - return [self evaluateBoolean:node properties:properties withError:error]; - } - if ([op isEqualToString:STRING_OPERATOR]) { - return [self evaluateString:node properties:properties withError:error]; - } - if ([op isEqualToString:LIST_OPERATOR]) { - return [self evaluateList:node properties:properties withError:error]; - } - if ([op isEqualToString:NUMBER_OPERATOR]) { - return [self evaluateNumber:node properties:properties withError:error]; - } - if ([op isEqualToString:DATETIME_OPERATOR]) { - return [self evaluateDateTime:node properties:properties withError:error]; - } - if ([@[DEFINED_OPERATOR, NOT_DEFINED_OPERATOR] containsObject:op]) { - return [self evaluateDefined:node properties:properties withError:error]; - } - if ([op isEqualToString:NOT_OPERATOR]) { - return [self evaluateNot:node properties:properties withError:error]; - } - - if (error) { - *error = [self error:[NSString stringWithFormat:@"unknown operator %@", op]]; - } - - return nil; -} - -+ (id)evaluateNode:(NSDictionary *)node properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - if ([node objectForKey:PROPERTY_KEY]) { - return [self evaluateOperand:node properties:properties withError:error]; - } - return [self evaluateOperator:node properties:properties withError:error]; -} - -+ (id)evaluate:(NSDictionary *)selector properties:(NSDictionary *)properties withError:(NSError *__autoreleasing *)error { - id value = [self evaluateOperator:selector properties:properties withError:error]; - if (error && *error) { - return nil; - } - if (value == nil) { - return nil; - } - - return [[NSNumber alloc] initWithBool:[self toBoolean:value]]; -} - -@end diff --git a/Mixpanel/Mixpanel/SessionMetadata.h b/Mixpanel/Mixpanel/SessionMetadata.h deleted file mode 100644 index f7f1b028..00000000 --- a/Mixpanel/Mixpanel/SessionMetadata.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// SessionMetadata.h -// Mixpanel -// -// Created by Yarden Eitan on 10/27/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import - -@interface SessionMetadata : NSObject - -@property (nonatomic, readonly) uint64_t eventsCounter; -@property (nonatomic, readonly) uint64_t peopleCounter; -@property (nonatomic, readonly, copy) NSString *sessionID; -@property (nonatomic, readonly) uint64_t sessionStartEpoch; - -- (instancetype)init; -- (void)reset; -- (NSDictionary *)toDictionaryForEvent:(BOOL)flag; - -@end diff --git a/Mixpanel/Mixpanel/SessionMetadata.m b/Mixpanel/Mixpanel/SessionMetadata.m deleted file mode 100644 index a0c79fa8..00000000 --- a/Mixpanel/Mixpanel/SessionMetadata.m +++ /dev/null @@ -1,53 +0,0 @@ -// -// SessionMetadata.m -// Mixpanel -// -// Created by Yarden Eitan on 10/27/17. -// Copyright © 2017 Mixpanel. All rights reserved. -// - -#import "SessionMetadata.h" - -@interface SessionMetadata() - -@property (nonatomic, readwrite) uint64_t eventsCounter; -@property (nonatomic, readwrite) uint64_t peopleCounter; -@property (nonatomic, readwrite, copy) NSString *sessionID; -@property (nonatomic, readwrite) uint64_t sessionStartEpoch; - -@end - -@implementation SessionMetadata - -- (instancetype)init { - self = [super init]; - if (self) { - self.eventsCounter = 0; - self.peopleCounter = 0; - self.sessionID = [self randomId]; - self.sessionStartEpoch = (uint64_t)[[NSDate date] timeIntervalSince1970]; - } - return self; -} - -- (void)reset { - self.eventsCounter = 0; - self.peopleCounter = 0; - self.sessionID = [self randomId]; - self.sessionStartEpoch = (uint64_t)[[NSDate date] timeIntervalSince1970]; -} - -- (NSString *)randomId { - return [NSString stringWithFormat:@"%08x%08x", arc4random(), arc4random()]; -} - -- (NSDictionary *)toDictionaryForEvent:(BOOL)flag { - NSDictionary *dict = @{@"$mp_metadata":@{@"$mp_event_id": [self randomId], - @"$mp_session_id":self.sessionID, - @"$mp_session_seq_id": [NSNumber numberWithUnsignedLongLong: (flag ? self.eventsCounter : self.peopleCounter)], - @"$mp_session_start_sec": [NSNumber numberWithUnsignedLongLong:self.sessionStartEpoch]}}; - flag ? (self.eventsCounter += 1) : (self.peopleCounter += 1); - return dict; -} - -@end diff --git a/Mixpanel/Mixpanel/UIApplication+AutomaticTracks.h b/Mixpanel/Mixpanel/UIApplication+AutomaticTracks.h deleted file mode 100644 index ba7fe736..00000000 --- a/Mixpanel/Mixpanel/UIApplication+AutomaticTracks.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// UIApplication+AutomaticTracks.h -// HelloMixpanel -// -// Created by Sam Green on 2/23/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface UIApplication (AutomaticTracks) - -- (BOOL)mp_sendAction:(SEL)action - to:(nullable id)to - from:(nullable id)from - forEvent:(nullable UIEvent *)event; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Mixpanel/Mixpanel/UIApplication+AutomaticTracks.m b/Mixpanel/Mixpanel/UIApplication+AutomaticTracks.m deleted file mode 100644 index 3ec28a66..00000000 --- a/Mixpanel/Mixpanel/UIApplication+AutomaticTracks.m +++ /dev/null @@ -1,20 +0,0 @@ -// -// UIApplication+AutomaticTracks.m -// HelloMixpanel -// -// Created by Sam Green on 2/23/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import "UIApplication+AutomaticTracks.h" -#import "Mixpanel+AutomaticTracks.h" -#import "AutomaticTracksConstants.h" - -@implementation UIApplication (AutomaticTracks) - -- (BOOL)mp_sendAction:(SEL)action to:(id)to from:(id)from forEvent:(UIEvent *)event { - [[Mixpanel sharedAutomatedInstance] track:kAutomaticTrackName]; - return [self mp_sendAction:action to:to from:from forEvent:event]; -} - -@end diff --git a/Mixpanel/Mixpanel/UIColor+MPColor.h b/Mixpanel/Mixpanel/UIColor+MPColor.h deleted file mode 100644 index d0c508fc..00000000 --- a/Mixpanel/Mixpanel/UIColor+MPColor.h +++ /dev/null @@ -1,14 +0,0 @@ -#import - -@interface UIColor (MPColor) - -+ (UIColor *)mp_applicationPrimaryColor; -+ (UIColor *)mp_lightEffectColor; -+ (UIColor *)mp_extraLightEffectColor; -+ (UIColor *)mp_darkEffectColor; - -+ (UIColor *)mp_colorFromRGB:(NSUInteger)rgbValue; -- (UIColor *)mp_colorAddColor:(UIColor *)overlay; -- (UIColor *)colorWithSaturationComponent:(CGFloat) saturation; - -@end diff --git a/Mixpanel/Mixpanel/UIColor+MPColor.m b/Mixpanel/Mixpanel/UIColor+MPColor.m deleted file mode 100644 index 9e95597d..00000000 --- a/Mixpanel/Mixpanel/UIColor+MPColor.m +++ /dev/null @@ -1,82 +0,0 @@ -#import "MixpanelPrivate.h" -#import "UIColor+MPColor.h" - -@implementation UIColor (MPColor) - -+ (UIColor *)mp_applicationPrimaryColor { - // First try and find the color of the UINavigationBar of the top UINavigationController that is showing now. - UIViewController *rootViewController = [Mixpanel sharedUIApplication].keyWindow.rootViewController; - UINavigationController *topNavigationController = nil; - - do { - if ([rootViewController isKindOfClass:[UINavigationController class]]) { - topNavigationController = (UINavigationController *)rootViewController; - } else if (rootViewController.navigationController) { - topNavigationController = rootViewController.navigationController; - } - } while ((rootViewController = rootViewController.presentedViewController)); - - UIColor *color = [topNavigationController navigationBar].barTintColor; - - // Then try and use the UINavigationBar default color for the app - if (!color) { - color = [UINavigationBar appearance].barTintColor; - } - - // Or the UITabBar default color - if (!color) { - color = [UITabBar appearance].barTintColor; - } - - return color; -} - -+ (UIColor *)mp_lightEffectColor { - return [UIColor colorWithWhite:1.0f alpha:0.3f]; -} - -+ (UIColor *)mp_extraLightEffectColor { - return [UIColor colorWithWhite:0.97f alpha:0.82f]; -} - -+ (UIColor *)mp_darkEffectColor { - return [UIColor colorWithWhite:0.11f alpha:0.73f]; -} - -+ (UIColor *)mp_colorFromRGB:(NSUInteger)rgbValue { - return [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:((float)((rgbValue & 0xFF000000) >> 24))/255.0]; -} - -- (UIColor *)mp_colorAddColor:(UIColor *)overlay { - CGFloat bgR = 0; - CGFloat bgG = 0; - CGFloat bgB = 0; - CGFloat bgA = 0; - - CGFloat fgR = 0; - CGFloat fgG = 0; - CGFloat fgB = 0; - CGFloat fgA = 0; - - - [self getRed:&bgR green: &bgG blue: &bgB alpha: &bgA]; - [overlay getRed:&fgR green: &fgG blue: &fgB alpha: &fgA]; - - CGFloat r = fgA * fgR + (1 - fgA) * bgR; - CGFloat g = fgA * fgG + (1 - fgA) * bgG; - CGFloat b = fgA * fgB + (1 - fgA) * bgB; - - return [UIColor colorWithRed:r green:g blue:b alpha:1.0]; - -} - -- (UIColor *)colorWithSaturationComponent:(CGFloat) saturation { - UIColor *newColor; - CGFloat h, s, b, a; - if ([self getHue:&h saturation:&s brightness:&b alpha:&a]) { - newColor = [UIColor colorWithHue:h saturation:saturation brightness:b alpha:a]; - } - return newColor; -} - -@end diff --git a/Mixpanel/Mixpanel/UIImage+MPAverageColor.h b/Mixpanel/Mixpanel/UIImage+MPAverageColor.h deleted file mode 100644 index 3092bebb..00000000 --- a/Mixpanel/Mixpanel/UIImage+MPAverageColor.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - -@interface UIImage (MPAverageColor) - -- (UIColor *)mp_averageColor; -- (UIColor *)mp_importantColor; - -@end diff --git a/Mixpanel/Mixpanel/UIImage+MPAverageColor.m b/Mixpanel/Mixpanel/UIImage+MPAverageColor.m deleted file mode 100644 index affba3b1..00000000 --- a/Mixpanel/Mixpanel/UIImage+MPAverageColor.m +++ /dev/null @@ -1,84 +0,0 @@ -#import "UIImage+MPAverageColor.h" - -@implementation UIImage (MPAverageColor) - -- (UIColor *)mp_averageColor -{ - UIGraphicsBeginImageContextWithOptions(CGSizeMake(1, 1), YES, 0.f); - - CGContextRef ctx = UIGraphicsGetCurrentContext(); - CGContextSetInterpolationQuality(ctx, kCGInterpolationMedium); - [self drawInRect:CGRectMake(0, 0, 1, 1) blendMode:kCGBlendModeCopy alpha:1]; - - uint8_t *data = CGBitmapContextGetData(ctx); - UIColor *color = [UIColor colorWithRed:data[2] / 255.0f - green:data[1] / 255.0f - blue:data[0] / 255.0f - alpha:1]; - UIGraphicsEndImageContext(); - - return color; -} - -- (UIColor *)mp_importantColor { - static const size_t kImageStartRow = 40; - static const size_t kNumberOfRows = 124; - static const size_t kNumberOfHexColors = 262144; - - const size_t kImageWidth = CGImageGetWidth(self.CGImage); - const size_t kImageHeight = CGImageGetHeight(self.CGImage); - - const size_t kBytesPerPixel = CGImageGetBitsPerPixel(self.CGImage) / 8; - const size_t kBytesPerRow = CGImageGetBytesPerRow(self.CGImage); - - // Don't calculate - if (kImageHeight < kImageStartRow + kNumberOfRows) { - return [self mp_averageColor]; - } - - CFDataRef imageData = CGDataProviderCopyData(CGImageGetDataProvider(self.CGImage)); - const uint8_t *imageDataBuffer = CFDataGetBytePtr(imageData); - - char colorIndices[kNumberOfHexColors]; - memset(colorIndices, 0, sizeof(char) * kNumberOfHexColors); - - for (size_t rowIndex = kImageStartRow; rowIndex < kImageStartRow + kNumberOfRows; rowIndex++) { - const uint8_t *row = imageDataBuffer + kBytesPerRow * rowIndex; - for (size_t column = 0; column < kImageWidth; column++) { - const uint8_t red = row[0]; - const uint8_t green = row[1]; - const uint8_t blue = row[2]; - - const int hexColor = (red >> 2) + ((green >> 2) << 6) + ((blue >> 2) << 12); - BOOL validHexColor = (0 < hexColor && hexColor < (int)kNumberOfHexColors - 1); - if (validHexColor) { - - BOOL notTooBright = (red + green + blue < 255 + 255 + 200); - if (notTooBright) { - - BOOL notGrayScale = (red != blue && blue != green && green != red); - if (notGrayScale) { - colorIndices[hexColor]++; - } - } - } - row += kBytesPerPixel; - } - } - - NSUInteger index = 0; - char max = 0; - for (NSUInteger i = 0; i < kNumberOfHexColors; i++) { - if (colorIndices[i] > max) { - max = colorIndices[i]; - index = i; - } - } - - return [UIColor colorWithRed:(((index & 63) << 2) + 3) / 255.0f - green:(((index >> 4) & 252) + 3) / 255.0f - blue:(((index >> 10) & 252) + 3) / 255.0f - alpha:1]; -} - -@end diff --git a/Mixpanel/Mixpanel/UIImage+MPImageEffects.h b/Mixpanel/Mixpanel/UIImage+MPImageEffects.h deleted file mode 100644 index 707e8e38..00000000 --- a/Mixpanel/Mixpanel/UIImage+MPImageEffects.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - File: UIImage+MPImageEffects.h - Abstract: This is a category of UIImage that adds methods to apply blur and tint effects to an image. This is the code you’ll want to look out to find out how to use vImage to efficiently calculate a blur. - Version: 1.0 - - Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple - Inc. ("Apple") in consideration of your agreement to the following - terms, and your use, installation, modification or redistribution of - this Apple software constitutes acceptance of these terms. If you do - not agree with these terms, please do not use, install, modify or - redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and - subject to these terms, Apple grants you a personal, non-exclusive - license, under Apple's copyrights in this original Apple software (the - "Apple Software"), to use, reproduce, modify and redistribute the Apple - Software, with or without modifications, in source and/or binary forms; - provided that if you redistribute the Apple Software in its entirety and - without modifications, you must retain this notice and the following - text and disclaimers in all such redistributions of the Apple Software. - Neither the name, trademarks, service marks or logos of Apple Inc. may - be used to endorse or promote products derived from the Apple Software - without specific prior written permission from Apple. Except as - expressly stated in this notice, no other rights or licenses, express or - implied, are granted by Apple herein, including but not limited to any - patent rights that may be infringed by your derivative works or by other - works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE - MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION - THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND - OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, - MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED - AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), - STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - Copyright (C) 2013 Apple Inc. All Rights Reserved. - - - Copyright © 2013 Apple Inc. All rights reserved. - WWDC 2013 License - - NOTE: This Apple Software was supplied by Apple as part of a WWDC 2013 - Session. Please refer to the applicable WWDC 2013 Session for further - information. - - IMPORTANT: This Apple software is supplied to you by Apple Inc. - ("Apple") in consideration of your agreement to the following terms, and - your use, installation, modification or redistribution of this Apple - software constitutes acceptance of these terms. If you do not agree with - these terms, please do not use, install, modify or redistribute this - Apple software. - - In consideration of your agreement to abide by the following terms, and - subject to these terms, Apple grants you a non-exclusive license, under - Apple's copyrights in this original Apple software (the "Apple - Software"), to use, reproduce, modify and redistribute the Apple - Software, with or without modifications, in source and/or binary forms; - provided that if you redistribute the Apple Software in its entirety and - without modifications, you must retain this notice and the following - text and disclaimers in all such redistributions of the Apple Software. - Neither the name, trademarks, service marks or logos of Apple Inc. may - be used to endorse or promote products derived from the Apple Software - without specific prior written permission from Apple. Except as - expressly stated in this notice, no other rights or licenses, express or - implied, are granted by Apple herein, including but not limited to any - patent rights that may be infringed by your derivative works or by other - works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES - NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE - IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND - OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, - MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED - AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), - STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - EA1002 - 5/3/2013 - */ - -@interface UIImage (MPImageEffects) - -- (UIImage *)mp_applyLightEffect; -- (UIImage *)mp_applyExtraLightEffect; -- (UIImage *)mp_applyDarkEffect; -- (UIImage *)mp_applyTintEffectWithColor:(UIColor *)tintColor; - -- (UIImage *)mp_applyBlurWithRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintColor saturationDeltaFactor:(CGFloat)saturationDeltaFactor maskImage:(UIImage *)maskImage; - -@end diff --git a/Mixpanel/Mixpanel/UIImage+MPImageEffects.m b/Mixpanel/Mixpanel/UIImage+MPImageEffects.m deleted file mode 100644 index 891a8329..00000000 --- a/Mixpanel/Mixpanel/UIImage+MPImageEffects.m +++ /dev/null @@ -1,276 +0,0 @@ -/* - File: UIImage+MPImageEffects.m - Abstract: This is a category of UIImage that adds methods to apply blur and tint effects to an image. This is the code you’ll want to look out to find out how to use vImage to efficiently calculate a blur. - Version: 1.0 - - Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple - Inc. ("Apple") in consideration of your agreement to the following - terms, and your use, installation, modification or redistribution of - this Apple software constitutes acceptance of these terms. If you do - not agree with these terms, please do not use, install, modify or - redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and - subject to these terms, Apple grants you a personal, non-exclusive - license, under Apple's copyrights in this original Apple software (the - "Apple Software"), to use, reproduce, modify and redistribute the Apple - Software, with or without modifications, in source and/or binary forms; - provided that if you redistribute the Apple Software in its entirety and - without modifications, you must retain this notice and the following - text and disclaimers in all such redistributions of the Apple Software. - Neither the name, trademarks, service marks or logos of Apple Inc. may - be used to endorse or promote products derived from the Apple Software - without specific prior written permission from Apple. Except as - expressly stated in this notice, no other rights or licenses, express or - implied, are granted by Apple herein, including but not limited to any - patent rights that may be infringed by your derivative works or by other - works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE - MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION - THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND - OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, - MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED - AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), - STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - Copyright (C) 2013 Apple Inc. All Rights Reserved. - - - Copyright © 2013 Apple Inc. All rights reserved. - WWDC 2013 License - - NOTE: This Apple Software was supplied by Apple as part of a WWDC 2013 - Session. Please refer to the applicable WWDC 2013 Session for further - information. - - IMPORTANT: This Apple software is supplied to you by Apple Inc. - ("Apple") in consideration of your agreement to the following terms, and - your use, installation, modification or redistribution of this Apple - software constitutes acceptance of these terms. If you do not agree with - these terms, please do not use, install, modify or redistribute this - Apple software. - - In consideration of your agreement to abide by the following terms, and - subject to these terms, Apple grants you a non-exclusive license, under - Apple's copyrights in this original Apple software (the "Apple - Software"), to use, reproduce, modify and redistribute the Apple - Software, with or without modifications, in source and/or binary forms; - provided that if you redistribute the Apple Software in its entirety and - without modifications, you must retain this notice and the following - text and disclaimers in all such redistributions of the Apple Software. - Neither the name, trademarks, service marks or logos of Apple Inc. may - be used to endorse or promote products derived from the Apple Software - without specific prior written permission from Apple. Except as - expressly stated in this notice, no other rights or licenses, express or - implied, are granted by Apple herein, including but not limited to any - patent rights that may be infringed by your derivative works or by other - works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES - NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE - IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND - OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, - MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED - AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), - STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - EA1002 - 5/3/2013 - */ - -#import -#import -#import "MPLogger.h" -#import "UIColor+MPColor.h" -#import "UIImage+MPImageEffects.h" - -@implementation UIImage (MPImageEffects) - - -- (UIImage *)mp_applyLightEffect -{ - UIColor *tintColor = [UIColor mp_lightEffectColor]; - return [self mp_applyBlurWithRadius:30.0f tintColor:tintColor saturationDeltaFactor:1.8f maskImage:nil]; -} - - -- (UIImage *)mp_applyExtraLightEffect -{ - UIColor *tintColor = [UIColor mp_extraLightEffectColor]; - return [self mp_applyBlurWithRadius:20.0f tintColor:tintColor saturationDeltaFactor:1.8f maskImage:nil]; -} - - -- (UIImage *)mp_applyDarkEffect -{ - UIColor *tintColor = [UIColor mp_darkEffectColor]; - return [self mp_applyBlurWithRadius:20.0f tintColor:tintColor saturationDeltaFactor:1.8f maskImage:nil]; -} - - -- (UIImage *)mp_applyTintEffectWithColor:(UIColor *)tintColor -{ - const CGFloat EffectColorAlpha = 0.6f; - UIColor *effectColor = tintColor; - size_t componentCount = CGColorGetNumberOfComponents(tintColor.CGColor); - if (componentCount == 2) { - CGFloat b; - if ([tintColor getWhite:&b alpha:NULL]) { - effectColor = [UIColor colorWithWhite:b alpha:EffectColorAlpha]; - } - } else { - CGFloat r, g, b; - if ([tintColor getRed:&r green:&g blue:&b alpha:NULL]) { - effectColor = [UIColor colorWithRed:r green:g blue:b alpha:EffectColorAlpha]; - } - } - return [self mp_applyBlurWithRadius:10 tintColor:effectColor saturationDeltaFactor:-1 maskImage:nil]; -} - - -- (UIImage *)mp_applyBlurWithRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintColor saturationDeltaFactor:(CGFloat)saturationDeltaFactor maskImage:(UIImage *)maskImage -{ - // Check pre-conditions. - if (self.size.width < 1 || self.size.height < 1) { - MPLogError(@"invalid size: (%.2f x %.2f). Both dimensions must be >= 1: %@", self.size.width, self.size.height, self); - return nil; - } - if (!self.CGImage) { - MPLogError(@"image must be backed by a CGImage: %@", self); - return nil; - } - if (maskImage && !maskImage.CGImage) { - MPLogError(@"maskImage must be backed by a CGImage: %@", maskImage); - return nil; - } - - CGRect imageRect = { CGPointZero, self.size }; - UIImage *effectImage = self; - - BOOL hasBlur = blurRadius > __FLT_EPSILON__; - BOOL hasSaturationChange = fabs(saturationDeltaFactor - 1.) > __FLT_EPSILON__; - if (hasBlur || hasSaturationChange) { - UIGraphicsBeginImageContextWithOptions(self.size, NO, [UIScreen mainScreen].scale); - CGContextRef effectInContext = UIGraphicsGetCurrentContext(); - CGContextScaleCTM(effectInContext, 1, -1); - CGContextTranslateCTM(effectInContext, 0, -self.size.height); - CGContextDrawImage(effectInContext, imageRect, self.CGImage); - - vImage_Buffer effectInBuffer; - effectInBuffer.data = CGBitmapContextGetData(effectInContext); - effectInBuffer.width = CGBitmapContextGetWidth(effectInContext); - effectInBuffer.height = CGBitmapContextGetHeight(effectInContext); - effectInBuffer.rowBytes = CGBitmapContextGetBytesPerRow(effectInContext); - - UIGraphicsBeginImageContextWithOptions(self.size, NO, [UIScreen mainScreen].scale); - CGContextRef effectOutContext = UIGraphicsGetCurrentContext(); - vImage_Buffer effectOutBuffer; - effectOutBuffer.data = CGBitmapContextGetData(effectOutContext); - effectOutBuffer.width = CGBitmapContextGetWidth(effectOutContext); - effectOutBuffer.height = CGBitmapContextGetHeight(effectOutContext); - effectOutBuffer.rowBytes = CGBitmapContextGetBytesPerRow(effectOutContext); - - if (hasBlur) { - // A description of how to compute the box kernel width from the Gaussian - // radius (aka standard deviation) appears in the SVG spec: - // http://www.w3.org/TR/SVG/filters.html#feGaussianBlurElement - // - // For larger values of 's' (s >= 2.0), an approximation can be used: Three - // successive box-blurs build a piece-wise quadratic convolution kernel, which - // approximates the Gaussian kernel to within roughly 3%. - // - // let d = floor(s * 3*sqrt(2*pi)/4 + 0.5) - // - // ... if d is odd, use three box-blurs of size 'd', centered on the output pixel. - // - CGFloat inputRadius = blurRadius * [UIScreen mainScreen].scale; - uint32_t radius = (uint32_t)floor(inputRadius * 3. * sqrt(2 * M_PI) / 4 + 0.5); - if (radius % 2 != 1) { - radius += 1; // force radius to be odd so that the three box-blur methodology works. - } - vImageBoxConvolve_ARGB8888(&effectInBuffer, &effectOutBuffer, NULL, 0, 0, radius, radius, 0, kvImageEdgeExtend); - vImageBoxConvolve_ARGB8888(&effectOutBuffer, &effectInBuffer, NULL, 0, 0, radius, radius, 0, kvImageEdgeExtend); - vImageBoxConvolve_ARGB8888(&effectInBuffer, &effectOutBuffer, NULL, 0, 0, radius, radius, 0, kvImageEdgeExtend); - } - BOOL effectImageBuffersAreSwapped = NO; - if (hasSaturationChange) { - CGFloat s = saturationDeltaFactor; - CGFloat floatingPointSaturationMatrix[] = { - 0.0722f + 0.9278f * s, 0.0722f - 0.0722f * s, 0.0722f - 0.0722f * s, 0, - 0.7152f - 0.7152f * s, 0.7152f + 0.2848f * s, 0.7152f - 0.7152f * s, 0, - 0.2126f - 0.2126f * s, 0.2126f - 0.2126f * s, 0.2126f + 0.7873f * s, 0, - 0, 0, 0, 1, - }; - const int32_t divisor = 256; - NSUInteger matrixSize = sizeof(floatingPointSaturationMatrix) / sizeof(floatingPointSaturationMatrix[0]); - int16_t saturationMatrix[matrixSize]; - for (NSUInteger i = 0; i < matrixSize; ++i) { - saturationMatrix[i] = (int16_t)round(floatingPointSaturationMatrix[i] * divisor); - } - if (hasBlur) { - vImageMatrixMultiply_ARGB8888(&effectOutBuffer, &effectInBuffer, saturationMatrix, divisor, NULL, NULL, kvImageNoFlags); - effectImageBuffersAreSwapped = YES; - } else { - vImageMatrixMultiply_ARGB8888(&effectInBuffer, &effectOutBuffer, saturationMatrix, divisor, NULL, NULL, kvImageNoFlags); - } - } - if (!effectImageBuffersAreSwapped) - effectImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - if (effectImageBuffersAreSwapped) - effectImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - } - - // Set up output context. - UIGraphicsBeginImageContextWithOptions(self.size, NO, [UIScreen mainScreen].scale); - CGContextRef outputContext = UIGraphicsGetCurrentContext(); - CGContextScaleCTM(outputContext, 1, -1); - CGContextTranslateCTM(outputContext, 0, -self.size.height); - - // Draw base image. - CGContextDrawImage(outputContext, imageRect, self.CGImage); - - // Draw effect image. - if (hasBlur) { - CGContextSaveGState(outputContext); - if (maskImage) { - CGContextClipToMask(outputContext, imageRect, maskImage.CGImage); - } - CGContextDrawImage(outputContext, imageRect, effectImage.CGImage); - CGContextRestoreGState(outputContext); - } - - // Add in color tint. - if (tintColor) { - CGContextSaveGState(outputContext); - CGContextSetFillColorWithColor(outputContext, tintColor.CGColor); - CGContextFillRect(outputContext, imageRect); - CGContextRestoreGState(outputContext); - } - - // Output image is ready. - UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - return outputImage; -} - - -@end diff --git a/Mixpanel/Mixpanel/UIView+MPHelpers.h b/Mixpanel/Mixpanel/UIView+MPHelpers.h deleted file mode 100644 index 5ddd29cb..00000000 --- a/Mixpanel/Mixpanel/UIView+MPHelpers.h +++ /dev/null @@ -1,12 +0,0 @@ -#import -#import - -@interface UIView (MPHelpers) - -- (UIImage *)mp_snapshotImage; -- (UIImage *)mp_snapshotForBlur; -- (int)mp_fingerprintVersion; -- (NSString *)mp_text; - -@end - diff --git a/Mixpanel/Mixpanel/UIView+MPHelpers.m b/Mixpanel/Mixpanel/UIView+MPHelpers.m deleted file mode 100755 index f2be82c0..00000000 --- a/Mixpanel/Mixpanel/UIView+MPHelpers.m +++ /dev/null @@ -1,208 +0,0 @@ -#import -#import -#import -#import "UIView+MPHelpers.h" -#import "MPLogger.h" - -// NB If you add any more fingerprint methods, increment this. -#define MP_FINGERPRINT_VERSION 1 - -@implementation UIView (MPHelpers) - -- (int)mp_fingerprintVersion { - return MP_FINGERPRINT_VERSION; -} - -- (UIImage *)mp_snapshotImage { - UIImage *image = nil; - CGSize size = self.layer.bounds.size; - UIGraphicsBeginImageContext(size); - - @try { - [self drawViewHierarchyInRect:CGRectMake(0.0f, 0.0f, size.width, size.height) afterScreenUpdates:YES]; - image = UIGraphicsGetImageFromCurrentImageContext(); - } @catch (NSException *exception) { - MPLogError(@"exception getting snapshot image %@ for view %@", exception, self); - } - - UIGraphicsEndImageContext(); - - return image; -} - -- (UIImage *)mp_snapshotForBlur { - UIImage *image = [self mp_snapshotImage]; - // hack, helps with colors when blurring - NSData *imageData = UIImageJPEGRepresentation(image, 1); // convert to jpeg - return [UIImage imageWithData:imageData]; -} - -- (NSArray *)mp_targetActions { - NSMutableArray *targetActions = [NSMutableArray array]; - if ([self isKindOfClass:[UIControl class]]) { - for (id target in [(UIControl *)(self) allTargets]) { - UIControlEvents allEvents = UIControlEventAllTouchEvents | UIControlEventAllEditingEvents; - for (NSUInteger e = 0; (allEvents >> e) > 0; e++) { - UIControlEvents event = allEvents & (0x01 << e); - if (event) { - NSArray *actions = [(UIControl *)(self) actionsForTarget:target forControlEvent:event]; - NSArray *ignoreActions = @[@"preVerify:forEvent:", @"execute:forEvent:"]; - for (NSString *action in actions) { - if ([ignoreActions indexOfObject:action] == NSNotFound) - { - [targetActions addObject:[NSString stringWithFormat:@"%lu/%@", (unsigned long)event, action]]; - } - } - } - } - } - } - return [targetActions copy]; -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wundeclared-selector" -// Set by a userDefinedRuntimeAttr in the MPTagNibs.rb script -- (void)setMixpanelViewId:(id)object -{ - objc_setAssociatedObject(self, @selector(mixpanelViewId), [object copy], OBJC_ASSOCIATION_RETAIN_NONATOMIC); -} - -- (NSString *)mp_viewId -{ - return objc_getAssociatedObject(self, @selector(mixpanelViewId)); -} -#pragma clang diagnostic pop - -- (NSString *)mp_controllerVariable -{ - NSString *result = nil; - if ([self isKindOfClass:[UIControl class]]) { - UIResponder *responder = [self nextResponder]; - while (responder && ![responder isKindOfClass:[UIViewController class]]) { - responder = [responder nextResponder]; - } - if (responder) { - uint count; - Ivar *ivars = class_copyIvarList([responder class], &count); - for (uint i = 0; i < count; i++) { - Ivar ivar = ivars[i]; - if (ivar_getTypeEncoding(ivar)[0] == '@' && object_getIvar(responder, ivar) == self) { - result = [NSString stringWithCString:ivar_getName(ivar) encoding:NSUTF8StringEncoding]; - break; - } - } - free(ivars); - } - } - return result; -} - -/* - Creates a short string which is a fingerprint of a UIButton's image property. - It does this by downsampling the image to 8x8 and then downsampling the resulting - 32bit pixel data to 8 bit. This should allow us to select images that are identical or - almost identical in appearance without having to compare the whole image. - - Returns a base64 encoded string representing an 8x8 bitmap of 8 bit rgba data - (2 bits per component). - */ -- (NSString *)mp_imageFingerprint -{ - NSString *result = nil; - UIImage *originalImage = nil; - if ([self isKindOfClass:[UIButton class]]) { - originalImage = [((UIButton *)self) imageForState:UIControlStateNormal]; - } else if ([NSStringFromClass([self.superview class]) isEqual:@"UITabBarButton"] && [self respondsToSelector:@selector(image)]) { - originalImage = (UIImage *)[self performSelector:@selector(image)]; - } - - if (originalImage) { - CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB(); - uint32_t data32[64]; - uint8_t data4[32]; - CGContextRef context = CGBitmapContextCreate(data32, 8, 8, 8, 8*4, space, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Little); - CGContextSetAllowsAntialiasing(context, NO); - CGContextClearRect(context, CGRectMake(0, 0, 8, 8)); - CGContextSetInterpolationQuality(context, kCGInterpolationNone); - CGContextDrawImage(context, CGRectMake(0,0,8,8), [originalImage CGImage]); - CGColorSpaceRelease(space); - CGContextRelease(context); - for (int i = 0; i < 32; i++) { - int j = 2*i; - int k = 2*i + 1; - data4[i] = (((data32[j] & 0x80000000) >> 24) | ((data32[j] & 0x800000) >> 17) | ((data32[j] & 0x8000) >> 10) | ((data32[j] & 0x80) >> 3) | - ((data32[k] & 0x80000000) >> 28) | ((data32[k] & 0x800000) >> 21) | ((data32[k] & 0x8000) >> 14) | ((data32[k] & 0x80) >> 7)); - } - result = [[NSData dataWithBytes:data4 length:32] base64EncodedStringWithOptions:(NSDataBase64EncodingOptions)0]; - } - return result; -} - -- (NSString *)mp_text -{ - NSString *text = nil; - SEL titleSelector = @selector(title); - if ([self isKindOfClass:[UILabel class]]) { - text = ((UILabel *)self).text; - } else if ([self isKindOfClass:[UIButton class]]) { - text = [((UIButton *)self) titleForState:UIControlStateNormal]; - } else if ([self respondsToSelector:titleSelector]) { - IMP titleImp = [self methodForSelector:titleSelector]; - void *(*func)(id, SEL) = (void *(*)(id, SEL))titleImp; - id title = (__bridge id)func(self, titleSelector); - if ([title isKindOfClass:[NSString class]]) { - text = title; - } - } - return text; -} - -static NSString *mp_encryptHelper(id input) -{ - NSString *SALT = @"1l0v3c4a8s4n018cl3d93kxled3kcle3j19384jdo2dk3"; - NSMutableString *encryptedStuff = nil; - if ([input isKindOfClass:[NSString class]]) { - NSData *data = [[input stringByAppendingString:SALT] dataUsingEncoding:NSASCIIStringEncoding]; - uint8_t digest[CC_SHA256_DIGEST_LENGTH]; - CC_SHA256(data.bytes, (CC_LONG)data.length, digest); - encryptedStuff = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2]; - for (int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) { - [encryptedStuff appendFormat:@"%02x", digest[i]]; - } - } - return encryptedStuff; -} - -#pragma mark - Aliases for compatibility -- (NSString *)mp_varA -{ - return mp_encryptHelper([self mp_viewId]); -} - -- (NSString *)mp_varB -{ - return mp_encryptHelper([self mp_controllerVariable]); -} - -- (NSString *)mp_varC -{ - return mp_encryptHelper([self mp_imageFingerprint]); -} - -- (NSArray *)mp_varSetD -{ - NSArray *targetActions = [self mp_targetActions]; - NSMutableArray *encryptedActions = [NSMutableArray array]; - for (id targetAction in targetActions) { - [encryptedActions addObject:mp_encryptHelper(targetAction)]; - } - return encryptedActions; -} - -- (NSString *)mp_varE -{ - return mp_encryptHelper([self mp_text]); -} - -@end diff --git a/Mixpanel/Mixpanel/UIViewController+AutomaticTracks.h b/Mixpanel/Mixpanel/UIViewController+AutomaticTracks.h deleted file mode 100644 index d0bcf8cf..00000000 --- a/Mixpanel/Mixpanel/UIViewController+AutomaticTracks.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// UIViewController+AutomaticTracks.h -// HelloMixpanel -// -// Created by Sam Green on 2/23/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface UIViewController (AutomaticTracks) - -- (void)mp_viewDidAppear:(BOOL)animated; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Mixpanel/Mixpanel/UIViewController+AutomaticTracks.m b/Mixpanel/Mixpanel/UIViewController+AutomaticTracks.m deleted file mode 100644 index 6f400aa5..00000000 --- a/Mixpanel/Mixpanel/UIViewController+AutomaticTracks.m +++ /dev/null @@ -1,40 +0,0 @@ -// -// UIViewController+AutomaticTracks.m -// HelloMixpanel -// -// Created by Sam Green on 2/23/16. -// Copyright © 2016 Mixpanel. All rights reserved. -// - -#import "UIViewController+AutomaticTracks.h" -#import "Mixpanel+AutomaticTracks.h" -#import "AutomaticTracksConstants.h" - -@implementation UIViewController (AutomaticTracks) - -- (void)mp_viewDidAppear:(BOOL)animated { - if ([self shouldTrackClass:self.class]) { - [[Mixpanel sharedAutomatedInstance] track:kAutomaticTrackName]; - } - [self mp_viewDidAppear:animated]; -} - -- (BOOL)shouldTrackClass:(Class)aClass { - static NSSet *blacklistedClasses = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - NSArray *blacklistedClassNames = @[ @"UICompatibilityInputViewController", - @"UIKeyboardCandidateGridCollectionViewController", - @"UIInputWindowController", - @"UICompatibilityInputViewController" ]; - NSMutableSet *transformedClasses = [NSMutableSet setWithCapacity:blacklistedClassNames.count]; - for (NSString *className in blacklistedClassNames) { - [transformedClasses addObject:NSClassFromString(className)]; - } - blacklistedClasses = [transformedClasses copy]; - }); - - return ![blacklistedClasses containsObject:aClass]; -} - -@end diff --git a/Mixpanel/Mixpanel/_MPTweakBindObserver.h b/Mixpanel/Mixpanel/_MPTweakBindObserver.h deleted file mode 100644 index a9afc103..00000000 --- a/Mixpanel/Mixpanel/_MPTweakBindObserver.h +++ /dev/null @@ -1,40 +0,0 @@ -/** - Copyright (c) 2014-present, Facebook, Inc. - All rights reserved. - - This source code is licensed under the BSD-style license found in the - LICENSE file in the root directory of this source tree. An additional grant - of patent rights can be found in the PATENTS file in the same directory. - */ - -#import - -@class MPTweak; - -/** - @abstract Block to call when an update is observed. - @param object The object that the observer is attached to. - */ -typedef void (^_MPTweakBindObserverBlock)(id object); - -/** - @abstract Observes a tweak to issue bind updates. - @discussion This is an implementation detail of {@ref MPTweakBind}. - */ -@interface _MPTweakBindObserver : NSObject - -/** - @abstract Designated initializer. - @param tweak The tweak to observe. - @param block The block to call on change. - @return A new bind observer. -*/ -- (instancetype)initWithTweak:(MPTweak *)tweak block:(_MPTweakBindObserverBlock)block; - -/** - @abstract Attaches to an object and deallocates with it. - @discussion Useful to create a limited lifetime for the observer. - */ -- (void)attachToObject:(id)object; - -@end diff --git a/Mixpanel/Mixpanel/_MPTweakBindObserver.m b/Mixpanel/Mixpanel/_MPTweakBindObserver.m deleted file mode 100644 index a57773b4..00000000 --- a/Mixpanel/Mixpanel/_MPTweakBindObserver.m +++ /dev/null @@ -1,57 +0,0 @@ -/** - Copyright (c) 2014-present, Facebook, Inc. - All rights reserved. - - This source code is licensed under the BSD-style license found in the - LICENSE file in the root directory of this source tree. An additional grant - of patent rights can be found in the PATENTS file in the same directory. - */ - -#import -#import "_MPTweakBindObserver.h" -#import "MPTweak.h" - -@interface _MPTweakBindObserver () - -@end - -@implementation _MPTweakBindObserver { - MPTweak *_tweak; - _MPTweakBindObserverBlock _block; - __weak id _object; -} - -- (instancetype)initWithTweak:(MPTweak *)tweak block:(_MPTweakBindObserverBlock)block -{ - if ((self = [super init])) { - NSAssert(tweak != nil, @"tweak is required"); - NSAssert(block != NULL, @"block is required"); - - _tweak = tweak; - _block = block; - - [tweak addObserver:self]; - } - - return self; -} - -- (void)tweakDidChange:(MPTweak *)tweak -{ - __attribute__((objc_precise_lifetime)) id strongObject = _object; - - if (strongObject != nil) { - _block(strongObject); - } -} - -- (void)attachToObject:(id)object -{ - NSAssert(_object == nil, @"can only attach to an object once"); - NSAssert(object != nil, @"object is required"); - - _object = object; - objc_setAssociatedObject(object, (__bridge void *)self, self, OBJC_ASSOCIATION_RETAIN_NONATOMIC); -} - -@end diff --git a/Mixpanel/README.md b/Mixpanel/README.md deleted file mode 100644 index 9f95d7ce..00000000 --- a/Mixpanel/README.md +++ /dev/null @@ -1,113 +0,0 @@ -[![Build Status](https://travis-ci.org/mixpanel/mixpanel-iphone.svg?branch=yolo-travis-ci)](https://travis-ci.org/mixpanel/mixpanel-iphone) -[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/mixpanel/mixpanel-iphone.svg)](http://isitmaintained.com/project/mixpanel/mixpanel-iphone "Average time to resolve an issue") -[![Percentage of issues still open](http://isitmaintained.com/badge/open/mixpanel/mixpanel-iphone.svg)](http://isitmaintained.com/project/mixpanel/mixpanel-iphone "Percentage of issues still open") -[![CocoaPods Version](http://img.shields.io/cocoapods/v/Mixpanel.svg?style=flat)](https://mixpanel.com) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Apache License](http://img.shields.io/cocoapods/l/Mixpanel.svg?style=flat)](https://mixpanel.com) - -# Table of Contents - - - -- [Introduction](#introduction) -- [Installation](#installation) - - [CocoaPods](#cocoapods) - - [Carthage](#carthage) - - [Manual Installation](#manual-installation) -- [Integrate](#integrate) -- [Start tracking](#start-tracking) - - - - -# Introduction - -The Mixpanel library for iOS is an open source project, and we'd love to see your contributions! We'd also love for you to come and work with us! Check out https://mixpanel.com/jobs/#openings for details. - -If you are using Swift, we recommend our **[Swift Library](https://github.com/mixpanel/mixpanel-swift)**. - - -# Installation - - -## CocoaPods - -Mixpanel supports `CocoaPods` for easy installation. -To Install, see our **[full documentation »](https://mixpanel.com/help/reference/ios)** - -#### iOS, tvOS, watchOS, macOS: -`pod 'Mixpanel'` - - -## Carthage - -Mixpanel also supports `Carthage` to package your dependencies as a framework. -Check out the **[Carthage docs »](https://github.com/Carthage/Carthage)** for more info. - -To integrate Mixpanel into your Xcode project using Carthage, specify it in your `Cartfile`: - -```ogdl -github "mixpanel/mixpanel-iphone" -``` - -Run `carthage update` to build the framework and drag the built `Mixpanel.framework` into your Xcode project. - - -## Manual Installation - -To help users stay up to date with the latests version of our iOS SDK, we always recommend integrating our SDK via CocoaPods, which simplifies version updates and dependency management. However, there are cases where users can't use CocoaPods. Not to worry, just follow these manual installation steps and you'll be all set. - -### Step 1: Add as a submodule - -Add Mixpanel as a submodule to your local git repo like so: - -``` -git submodule add git@github.com:mixpanel/mixpanel-iphone.git -``` - -Now the Mixpanel project and its files should be in your project folder! - -### Step 2: Add the SDK to your app! - -Drag and drop Mixpanel.xcodeproj from the mixpanel-iphone folder into your Xcode Project Workspace: - -![alt text](http://i.imgur.com/6qgxEBY.png) - -### Step 3: Embed the Mixpanel framework - -Select your app .xcodeproj file. Under "General", add the Mixpanel framework as an embedded binary. Once added, please make sure `Mixpanel.framework` shows under both "Linked Frameworks and Libaries" and "Embedded Binaries". - - - -# Integrate - -Import into AppDelegate.m, and initialize Mixpanel within `application:didFinishLaunchingWithOptions:` - -```objective-c -#import "AppDelegate.h" -#import - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [Mixpanel sharedInstanceWithToken:MIXPANEL_TOKEN]; -} -``` - -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -# Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -Tracking additional events is as easy as adding `track:` or `track:properties:` anywhere after initializing Mixpanel. - -```objective-c -[[Mixpanel sharedInstance] track:@"Event name"]; -[[Mixpanel sharedInstance] track:@"Event name" properties:@{@"Prop name": @"Prop value"}]; -``` - -You're done! You've successfully integrated the Mixpanel SDK into your app. To stay up to speed on important SDK releases and updates watch our iPhone repository on [Github](https://github.com/mixpanel/mixpanel-iphone). - -Have any questions? Reach out to [support@mixpanel.com](mailto:support@mixpanel.com) to speak to someone smart, quickly. diff --git a/Pods.xcodeproj/project.pbxproj b/Pods.xcodeproj/project.pbxproj index d380e0fc..70f867c6 100644 --- a/Pods.xcodeproj/project.pbxproj +++ b/Pods.xcodeproj/project.pbxproj @@ -7,10190 +7,9723 @@ objects = { /* Begin PBXBuildFile section */ - 001C6F36C185FE775FF16DD7C27D45CA /* TSPreKeyManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 22D30159606B759BD24AF772AF7EA63D /* TSPreKeyManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 002FE314E0E805DE95052D3CE2A89E61 /* ge_madd.c in Sources */ = {isa = PBXBuildFile; fileRef = 50838E8EFD7A4D0E28692D9A017E9A0C /* ge_madd.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 00318662A4FE11BD4ABDE1CF6BC2DEC1 /* YapDatabaseAutoView.m in Sources */ = {isa = PBXBuildFile; fileRef = F4BE2D51E5AD8DA8972B9AEC36C380AE /* YapDatabaseAutoView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 003989C3CC5FDA6648C3D8D9EE8514E8 /* NVActivityIndicatorAnimationBallZigZag.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD901BC402A3D129F11FB8D833C79535 /* NVActivityIndicatorAnimationBallZigZag.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 005358F249D0FF85D084F159F5278D17 /* OWSDisappearingMessagesFinder.h in Headers */ = {isa = PBXBuildFile; fileRef = E68C316417653D5454FF9A9F186FA86D /* OWSDisappearingMessagesFinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 007CA7457B96A82EBFB6FA2475FB740B /* OWSThumbnailService.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4116EF50DAA658AD596AE5DD91038DB /* OWSThumbnailService.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 00890C8F6CFDA939D53EC82BF5CA0D28 /* Google_Protobuf_Any+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075C054051364229C7BCE5946E2A8A8E /* Google_Protobuf_Any+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 00B4598F28232F1F78FC11EB80D580B3 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954D1A914F143ED794C048D60FCEB263 /* OFB.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 00BDA1D78B74D9EF1AAE208629AAA860 /* NSInvocation+MPHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E655D1298C69E2F89F61A26675D2BD0 /* NSInvocation+MPHelpers.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 00F526CCC9F64CAE00933FA9D52E79EB /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9764E7C9786C992A785C878636C61E /* AEADChaCha20Poly1305.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0114E6AEF684EAFE80EE9F5C0928B9E6 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3843F4F9FCDD989A9A60967A6BABEA64 /* UIKit.framework */; }; - 013B016D79E9AEA8D7602818A6CA7BB7 /* YapDatabaseRTreeIndexConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D207B11FC33B5AD02F5DFA06BC1775E /* YapDatabaseRTreeIndexConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0146A26C9ECA5C13946820B2334D7262 /* YapDatabaseSearchResultsViewOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1462F06AC5A7A38F73D6D9C744CDDB4D /* YapDatabaseSearchResultsViewOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0149E1E40DB0CBFA519A599174EA98F0 /* SessionBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 23BE798271C6533CDDFFC8030BD58671 /* SessionBuilder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0161F4EDC7400ED4FAC61AB2083F51E7 /* GCDWebServerHTTPStatusCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 205805D42726E01B8017721524735D03 /* GCDWebServerHTTPStatusCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 016D7124F7069BFE59E2A039492BB164 /* MediaLicence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B30733613A44897EC15E463EC258FBA /* MediaLicence.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 01789776F4BD8CBEAD7C794C18D1C867 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E0CEFC59D9C26A1D217CA69E8DE35C5 /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0186D4F65A238B9A27B9BD4B02923F96 /* LokiRSSFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = C493DD036C0C4FB8C6D06F604071F8ED /* LokiRSSFeed.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 01F9C47F87BC96D4E3BF1F999E41E871 /* YapDatabaseFullTextSearchConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = FA318D79478C52FD2722E1482070173E /* YapDatabaseFullTextSearchConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0233379BF1797B5080D3D6CC94F2DFBC /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95342B2FCCBD8EF1BEBDF18C2BFE917B /* HKDFKit.framework */; }; - 026DCCF92892433D06DB604F9A0B1383 /* GCDWebServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AD52109073109ECC905339A481A826B /* GCDWebServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 02BF1E09AAB43351FB61BE8C809287C8 /* SAMKeychain.m in Sources */ = {isa = PBXBuildFile; fileRef = 859AF72A77C6A61F33AFFD67DC84E01B /* SAMKeychain.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 02C430F11BE4A39E1C46D0EC60847048 /* SMKTestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7780130E03AA3877B6BD1D8C12E5FBDE /* SMKTestUtils.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 02FD3B9FF6EDACB9A085A83C871E0C94 /* Curve25519Kit.h in Headers */ = {isa = PBXBuildFile; fileRef = 258A51032744873A6ABFEFBB6C910C4F /* Curve25519Kit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0302CF99CACEFCA096BCFC08BC338B27 /* FeedDataType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53B08F992935F46ABDB1E9F4FFCC1667 /* FeedDataType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 03603051194D859CE928E54CDACF8709 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26B9008F74BF53CA04543647AA5B1DCF /* SystemConfiguration.framework */; }; - 036C3F4567C8296C39AA09A9146EA89E /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = A96DA1947836467E17FDEFE6266ECAEC /* ChaCha20.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 037C161A094023B291ED52F3677E298B /* OWSDeviceProvisioningCodeService.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A570B819B2DF67227DEE1FDB6787685 /* OWSDeviceProvisioningCodeService.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 037C34019A1B36844E4E9813648987D7 /* SignedPreKeyDeletionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = B5AAB86E0A47EDB2D4FCF931C8242BD9 /* SignedPreKeyDeletionTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 03A9A0DD5CA7FD9E779182015F5D323E /* Message+JSONArrayAdditions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59FA6A96392F69CE66B89BA5078F2E69 /* Message+JSONArrayAdditions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 041708562450E3822630CFC4464A5431 /* SPK-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D6CEF77FB04EE9021B1D08F701EF16 /* SPK-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0428975E4C0F00CCCC691DE2BDC1115B /* NSDate+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 23A7B82DC7E1224B35F12371FFD32B1B /* NSDate+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 04A527AACCD1B8B7154FD8C770F850E7 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E63E5BCC2B942734F8F7AAEB2E6F6CCB /* AFNetworkActivityIndicatorManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 04A9993DE876A3729D5434F04FDDE4BB /* YYAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 14FB02E6164B51857009927051D47378 /* YYAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 050A26C196DF4BDF04091FF4029251DF /* OWSSyncConfigurationMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = E3D48C29B92062D270A9D17C06F9CE5E /* OWSSyncConfigurationMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 057897CAAAB7B448DA647193BE756A9D /* ContactSortingTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CBFEAF0505EB846FC23D829EDE57DBA1 /* ContactSortingTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 05AAB9C31FE127534372E17A42B2D5C1 /* MessageExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 753A1A19DC2140C9F69190090A369C3F /* MessageExtension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 05AB30875FCC8F8D189650356BB50769 /* TSOutgoingMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 19DED4270F3A4A991FD70BA53B7B92E0 /* TSOutgoingMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 05E34BE4DE67660E5FE7BB39A25BE356 /* libPhoneNumber_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF15350AEFF50AFA01BDBDFE2B4090B1 /* libPhoneNumber_iOS.framework */; }; - 0605EF2FF45C2E8CE3E8E5B49680BDB2 /* OWSBlockedPhoneNumbersMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4091955B2A674FCE6503B6EDD7D3967A /* OWSBlockedPhoneNumbersMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0619E95B043C78579B9AE61BCB185941 /* MessagePaddingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E3CEC797FCF2406CB0733E7A11B6F3AE /* MessagePaddingTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 06338E37E9E8F454661D49C857B5DBE1 /* AtomFeedEntryLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E03D7C5F4C2285BA58CAED5A5CB80AC /* AtomFeedEntryLink.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 06456E73C65C8DAE504BF2598C90A1C8 /* YapDatabaseRelationshipEdge.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE33135B3007829DAA6378CB44590B8 /* YapDatabaseRelationshipEdge.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 066B22577262D55E2C25B75A16718BBC /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F40522AEBD0B81FEE6204CE52AA628F /* WebSocket.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0678E1CF857FCECB86F85284BAF6D650 /* MTLModel+NSCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 4629EE63758C85000D1566B27CDB8FE8 /* MTLModel+NSCoding.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 06CB71D943D6DD75B018EFE782F8D5ED /* SyndicationNamespace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BC2D0573F3D2FFBF57D032AB589649D /* SyndicationNamespace.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0788AD74D807FB566E7A0347DF91F768 /* NSNotificationCenter+AutomaticTracks.m in Sources */ = {isa = PBXBuildFile; fileRef = 98EF8E9833D96FC9204D3AB733E006B5 /* NSNotificationCenter+AutomaticTracks.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 07965BCDD405B59441A02BBE014E45DB /* YapDatabaseSecondaryIndexTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = E9C8CA7469C0A9C80CB729743C420E17 /* YapDatabaseSecondaryIndexTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 07B3C9350CB212B1DFA520DEAA058492 /* RatchetingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 5246191E1822A11F39A1E31A60CCF0C9 /* RatchetingSession.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0838901C5260FDA641CD824A5E5716B5 /* YapDatabaseManualViewConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 918169CBE0878917BC81780A849257D1 /* YapDatabaseManualViewConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 085317A6C90C9CFD1E18F5689B3C55BE /* FIRBundleUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C5FB8AB74741B510B896C57D66C7A5B /* FIRBundleUtil.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 08678F9DB71F6536BD2F1B82044C5285 /* TSDatabaseSecondaryIndexes.m in Sources */ = {isa = PBXBuildFile; fileRef = 30AD78F16BFA30E7E23972305B711DEC /* TSDatabaseSecondaryIndexes.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0871271307EDAAB2BCA445317FECC6BB /* SignalServiceKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D34AB4C00B87099B27DE3BFCA3C24F5D /* SignalServiceKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 08BCE600E053DDDBDCCBD56D5CC491A8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 08F58E34C641B1AFFB0651C47F1C9FE9 /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC51ABF8573B530E79CBAE02A5A98989 /* NSURLSession+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 090361BEBF8A9B744EEDBBF94B208995 /* MPDesignerEventBindingMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 43EFF97FED843732C35760F700F0D7C1 /* MPDesignerEventBindingMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0904A788FD693BABF8D23D737C9A1AF2 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = AFBABB7C64B63C3378277EF1A4D154BE /* fwd.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 091732D994F269C4B39D568AD04A0C1C /* GCDWebServerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AA8280D8A6FAE70BDA8DB0CBF1FF36C /* GCDWebServerFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 094D1D138C7AF31A7A97B727F9CDBC8A /* SignalServiceKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CA58BE39E1AA124AB69BB9EA24F2370B /* SignalServiceKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 096AC907B7B9E38642F35E54E89FBC1D /* YapDatabaseCloudCoreGraph.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DA9238EA149B49177007EB4063E49CC /* YapDatabaseCloudCoreGraph.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 09B1ECA2FD16E8CD10751A0C8A887125 /* FunctionalUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = CF9EFD8F808E2724AED16F00EB966F89 /* FunctionalUtil.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 09BBF5B4766C86C5D4CF0E6A40E2FC20 /* MPEnumDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = C8116DD3DAF0519A7D1C2C494FDB0616 /* MPEnumDescription.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 09CEBDA8C3310E18A40C98109087D8DC /* NSTimer+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C2B32A9BECEEAB09A2B39AE4775B32 /* NSTimer+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 09E00BD6AD45240FFC09CC0374089FFF /* GCDWebServerDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 49958B6BBFFAFEE35F4F24E5DB1C05B9 /* GCDWebServerDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 09F7AEDA040EAA6EE4654D2B3DF26380 /* OWSContactDiscoveryOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = A98A44DB56EBC9FFD6B4334D5444C826 /* OWSContactDiscoveryOperation.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0A513D1503C3F1320D23753100A4C006 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4300FBD3AAC0B1C67C6F69A9C765375B /* CryptoSwift.framework */; }; - 0AD2680B4473883E996023DAE36665BA /* MTLJSONAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 25D179BC2E71D1D66BFE2C3AC51A85FB /* MTLJSONAdapter.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0AD374BF28F5D8ED539B85C02B5C3025 /* YapDatabaseCloudKitTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C959AA0A75ABAC08AF6171CA054BD6F /* YapDatabaseCloudKitTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0B04C1EE2C4766600AA5AA8E27B9907C /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = F00F3290978E0CCDBB531FCD0AD250B5 /* UIProgressView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0B3ABECD4B85BFC83A407569146F5D28 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - 0B7328913BDD358D766F680E61E869FE /* NameMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8DD96F38BCE76C1D10A2B4A6203B841 /* NameMap.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0B94C72941652CB6597334F1CE3240EC /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - 0BA2117830BD69AF1236E7A132A476F4 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26B9008F74BF53CA04543647AA5B1DCF /* SystemConfiguration.framework */; }; - 0BC5739AA2A53B2043A2F8C3583B2D6E /* CDSQuote.m in Sources */ = {isa = PBXBuildFile; fileRef = 26E53CF04E58D2D15712F166F470D204 /* CDSQuote.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0BE3A8BCDE4C1F719151C1176D4F3CF8 /* OWSError.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B1D14A0E741872D78747ECB2AC036FD /* OWSError.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0C0C41E98CC933B06B3D78A7D19F7F92 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 622546A463E77E1A6A21E3117BFCA052 /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0C18D29CBCF5335EA8389706DD8D493B /* Mixpanel-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A0980E04DFA3284FB576532D939D08FF /* Mixpanel-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0C51F910C917B18D634852B90980D7E8 /* ChainAndIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = FDEFE549E31B0D987F507808B184594B /* ChainAndIndex.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0C97DC9204A3AAAC086DABE759CE493F /* any.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8BE52C8C2E9B4B63ADB8FDD751F209 /* any.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0CB673CF3CEEDF1A5B60A32AD42F8913 /* YapWhitelistBlacklist.h in Headers */ = {isa = PBXBuildFile; fileRef = AD84DE461283D91FFA712126BDF6F3FE /* YapWhitelistBlacklist.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0CB7ABC872E57449ED67B2E783AADA1E /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95342B2FCCBD8EF1BEBDF18C2BFE917B /* HKDFKit.framework */; }; - 0CE3C60CD6C1497A6FF2E8DC8D07E3D0 /* OWSLinkedDeviceReadReceipt.m in Sources */ = {isa = PBXBuildFile; fileRef = F29ECEAC2560471FAD09E24E6CDB28BE /* OWSLinkedDeviceReadReceipt.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0D1EF4664DC14C24928DD5DFDCC69DC9 /* YapDatabaseRTreeIndexConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EC6021A5DC659D5D97C8CF0B6206722 /* YapDatabaseRTreeIndexConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0D216EE9E78DD1C8DB103CF74E0D3879 /* OWSFakeCallMessageHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = E04792932A32C2AA35EAFB90AEFA0CD2 /* OWSFakeCallMessageHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0D2E52F8654C54E8128F682053625AE2 /* SignalCoreKit.h in Headers */ = {isa = PBXBuildFile; fileRef = B0F9CC10CA564535FE9AFBE66B3B7F0E /* SignalCoreKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0D3AB23F38B49BA72604DD3B31709D94 /* YapDatabaseAutoViewConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 1078481DE59A6AEB8A74F7B71D45D4BF /* YapDatabaseAutoViewConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0D401301EDA3BD71EF3A1C1593E7A36A /* MPCGPointToNSDictionaryValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD901CE1C2E92A4FC1BDFE575E2A820 /* MPCGPointToNSDictionaryValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0D7C3AE66B7DD0F6ED501A87A4B4078D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48D0EDD30D23912191798E45FA80388D /* QuartzCore.framework */; }; - 0D8C44A91458AF0DAFFB7798912D3849 /* NVActivityIndicatorAnimationBallPulseSync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF9A5DA2282651AA8EAB8E6C658F73B /* NVActivityIndicatorAnimationBallPulseSync.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0DA360F10BB2ADD91D4514FDD46D7F7D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 0DEC869529E430C630E3DD6533448338 /* MPABTestDesignerChangeRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = CB689F617269B1F9E24F4021008C6E0C /* MPABTestDesignerChangeRequestMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0E11D90466C198D17B307880EF1866FF /* YapDatabaseCloudCoreOperationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 40E92E379902A07636FE3601CA4C326F /* YapDatabaseCloudCoreOperationPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 0E155405117BD2AA1692E97C3C5D4067 /* GCDWebServerMultiPartFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FCFB297CA8F3ABE0E2D628DC15AE3EF /* GCDWebServerMultiPartFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0E970EE8CCE5BAD637B454F4E9E88193 /* TSThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 9454421401DF75093055831C3411037E /* TSThread.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0F0758ED050F4D252D533215FEED3ED4 /* OWSFingerprint.m in Sources */ = {isa = PBXBuildFile; fileRef = CD3915B3FC28EEAF1BEE61436DA6CB0F /* OWSFingerprint.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0FAB15E580D85992044CD63030EE7374 /* YapDatabaseViewRangeOptionsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 19799CB714A23C8CA3783288CA859246 /* YapDatabaseViewRangeOptionsPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 0FC80ADED37921C6ACB200829CB302EB /* mz_strm_zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = C809E3F8A3D7AEE391C9B4C118F69916 /* mz_strm_zlib.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0FDC6C05C7701A1342E9D4D64E5B09CE /* AliceAxolotlParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = 07E173A654159052E151C18249415345 /* AliceAxolotlParameters.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0FECBF56BCB46CDBFF4933F90D90F41C /* JSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0A4EBD783794E77D7C42F65B9E17C51 /* JSON.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 101B95BBF83A387B0B8653B6BE749596 /* NSData+messagePadding.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B7911A5D7D96A0A6DEDAA4B9E1AF242 /* NSData+messagePadding.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 10441B15751345B9C1516C2C4D3AC87E /* UIViewController+AutomaticTracks.h in Headers */ = {isa = PBXBuildFile; fileRef = F56E995D3A9BCBA00C4D008B5AF85630 /* UIViewController+AutomaticTracks.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 105DE8707B28246E481B4847404E051A /* YapDatabaseViewTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D87EBA53443140FA08AAB98E6909E02 /* YapDatabaseViewTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 10889AD74D1B865BA22A53B235B8B4ED /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = C1A661E4114A7DC1561866D784EE9ECE /* AFURLResponseSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 10A5AAD87BD53B5A729FB68EE6217E64 /* MPCheckmark.png in Resources */ = {isa = PBXBuildFile; fileRef = 27385AEBCA36967929610622FA424CFB /* MPCheckmark.png */; }; - 10B519B04C205F62FA1DB1B8FDA1816F /* PreKeyRefreshOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D4D7406B5279C449FBABFB76755D86F /* PreKeyRefreshOperation.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 10D49A2316E4BE01DDD160E9123F2138 /* GCDWebServerStreamedResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A1238574CFFE40B8E61A8AA1B927B242 /* GCDWebServerStreamedResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 10DFAA48B7E210BEB4481AAE091E223D /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53B494ED11128E3A2A64ED19884C4242 /* Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 11043E98AA67B0F76A8055A6FBAFFA4C /* YapDatabaseHooks.m in Sources */ = {isa = PBXBuildFile; fileRef = B7B8051B090015C6EA162F1C909966AE /* YapDatabaseHooks.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 114AF09EB7F1E1A75A152F1487FACB3C /* OWSOutgoingNullMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = A56DC80504E6A2AE02D6B0E808208764 /* OWSOutgoingNullMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 114D450D0E54E357AB8E7246FA6B1AE3 /* OWSOutgoingCallMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 34B8E5C4FA96CD2B24C1C683AE32730C /* OWSOutgoingCallMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 11D86E70C08855D5B5E7EB0A8411DC4B /* TSSocketManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E0FE9C9FBB6DA5628A8EDB59F0E5CC4 /* TSSocketManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 120AD1A08380D7337AF93AE85824BBD4 /* SSKProtoPrekeyBundleMessage+Loki.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45551FE74253365FC930D32C2CF5C2E1 /* SSKProtoPrekeyBundleMessage+Loki.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1218E7F24984D7F8ABF64BD9C23188EA /* MPABTestDesignerDeviceInfoRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E28E5E873C23E711947C102CA67BA2B /* MPABTestDesignerDeviceInfoRequestMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1236BBC5915DBF06519D0230BBA42EE1 /* YapDatabaseViewTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = B8E14394BB2A34B045958BE408824AFC /* YapDatabaseViewTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 124CF7EF903608679F3472DE7D6544C1 /* NSValueTransformer+MTLInversionAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 59F62E64BAB7407C5BACA571E910C38B /* NSValueTransformer+MTLInversionAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 12653EF6F352DCF2815A14E603F34F2C /* TSThread.m in Sources */ = {isa = PBXBuildFile; fileRef = 54BD9FEAA45AC5AE2B796E0BCE06F065 /* TSThread.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 12691210702D589FBFF904625D400C9E /* MediaGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2AB354912D8471EC77BF46AE8883E3D /* MediaGroup.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 12C53CFA1739F7D313CDA61884F8F2C4 /* MPABTestDesignerClearRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BE04F6F6FD5C2C9C829CACF1F689ED /* MPABTestDesignerClearRequestMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 12F50E5BE1F9B95446E3BF32E458493A /* GCDWebServerErrorResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = EE736CC774AC97CA6CD9CE117C9B8BF6 /* GCDWebServerErrorResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 130813965322A8295675C9FFC2CA8150 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52EBC0CF0386E48CC827F294ED694312 /* CoreTelephony.framework */; }; - 13198C65FA08F6346C7E97F2EBE3349B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 131CDBE39F7ED691412EB383B08D8311 /* TSIncomingMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = CB9910EC1143C31490D0FD59347D8998 /* TSIncomingMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 132D2D3991E6319E0C2742B7655F3C5B /* ParamParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5FFC40ACD62E7186C24D659F785166D /* ParamParser.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1372770D46AC500BDED952BE3B98E64E /* PhoneNumberUtilTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E3A0DB467A0B5EDE6273CFB1AC10930 /* PhoneNumberUtilTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 13A073970DBC371C2E4D075612F43B8F /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B32880718FF42BA3CE5C9922B7CBBFE8 /* ImageIO.framework */; }; - 13D467CD8FE3D16251F82F545AA6563D /* TSMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = DB35ECDA5AE35BFE69ABC6A9BE64E925 /* TSMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 13EB78D27FAE3E53E2CB353CE469D87C /* SSKJobRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E30EB3A506B6E6B8C0895C78A79AA8 /* SSKJobRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 13F288C1A2F75C5880940EB78A51AF8E /* FIRLoggerLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = ADB5DAC71BFD22977C0326608DA53F7E /* FIRLoggerLevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 140B56343ED09016DE6F645929916E22 /* SQLCipher-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A3C3C87CCE1133918B55AE3C9F3FEB57 /* SQLCipher-dummy.m */; }; - 14137CF3FA83F818073B541E3AF1A57C /* LokiLongPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 791216839C1A221B858C6AEBBCB20EC6 /* LokiLongPoller.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 142672BAE03194B2EE09F22133460805 /* LokiFileServerAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743F9BDB2D15AE4F4ED5EA1C7390ABEB /* LokiFileServerAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 146040F21335DE74CE61654966877FE6 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB81C24381001835613A5D58E2F26E86 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1460DDB858DC85B49DF470E5B607AC8C /* OWSUDManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D6CC16DEFC6F6C72E69ACF6078E8FF0 /* OWSUDManagerTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1476960A681A73B48F1F720660194B28 /* OWSPrimaryStorage+keyFromIntLong.m in Sources */ = {isa = PBXBuildFile; fileRef = FACE4DC5AE7D9B85E5806E34BCB15E98 /* OWSPrimaryStorage+keyFromIntLong.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 14A9CED698B5B974D2BB0A721CEFCB57 /* TSAttachmentPointer.m in Sources */ = {isa = PBXBuildFile; fileRef = 67A0401896CDD9EB00DEDAE88491C093 /* TSAttachmentPointer.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 14CB312CFF9EBEA6DA9548E0CBBF1420 /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83E3EA4FF195800D50B5D20C7AAF31AB /* when.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 14DC86B4C69778763350C621EEA69318 /* FIRLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 41CD49878C0FB85D14C7132762C2204C /* FIRLogger.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 14F97AA55787D91B308D7E4804908C14 /* TSAccountManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7184C4D8C369DA17BA07BB012540AA8B /* TSAccountManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 14FA7BBA2F08C6ED764EFFD838449CE5 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DA63EAE3AEE83655675A0E8D6F45F14 /* Utils.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 14FC533734F609708D1021BA54AA0B2E /* TSGroupModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CA0DFECCA34C70FE854D559F32A1298 /* TSGroupModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 15276A1B6C5626D7F981B9B491DFE108 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D698410913D071E465FFD4395C8A376 /* AssetsLibrary.framework */; }; - 153AEDCA7D847FA1DB399C770382B7A9 /* YapDatabaseFilteredViewTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 966A33C977967803C6756D4F46D51CB5 /* YapDatabaseFilteredViewTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1543423F893CABBE81D79B7169F45932 /* SignalRecipient.m in Sources */ = {isa = PBXBuildFile; fileRef = B21E91FCD3DD5A17805C75A2346439AD /* SignalRecipient.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 157412E3D1A6730A85DA53A3CF4DD689 /* SCKSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91574B5B0CD0AF89B4C01C27633DA0E6 /* SCKSwiftTests.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 15927FF8DBD14CA71B253B17F73B9874 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = C55A458BE383D60AEE22DABCEFD04146 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 15A695C7573474117A6582F2306F7617 /* OWSWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = D506434A9EB69AC466F4F2643EA1A445 /* OWSWebSocket.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 15C9CB39E76AFAA1DED2A77F0170B957 /* YapDatabaseCloudKitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = E8CC10CCA0B30ACA6F2C43921B2CCD6F /* YapDatabaseCloudKitTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 160483537B1615A5919CC810AA9F675D /* GSR2.crt in Resources */ = {isa = PBXBuildFile; fileRef = D227676F10123CC34907B59E1DD0ECA2 /* GSR2.crt */; }; - 160E5CED067C72797B153BFEF48934A9 /* NBPhoneNumberUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CF8960926B45E28F86663E2ED9FFB04 /* NBPhoneNumberUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 165A7D5FE833581378B64886139984BE /* ISO8601DateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9AD17CDCDFFBA0CEC260802FC293E05 /* ISO8601DateFormatter.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 16826D432160333AD5F36B1E4C6843F1 /* OWSRequestMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE88C7819338902709B389776D6FFFCF /* OWSRequestMaker.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1692D648F57F02C7277A6259ABB487A1 /* OWSEndSessionMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E671BF8A9811CCB9BA6897B4A726E0C /* OWSEndSessionMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 16D9B6D9C54F9F56C9204F015A0C6972 /* MPUIFontToNSDictionaryValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = ECEE7F15BA18C444C71D2E5CA05F7E63 /* MPUIFontToNSDictionaryValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 16DC3E70F91BEB0548DA945FB050B3E6 /* fe_add.c in Sources */ = {isa = PBXBuildFile; fileRef = D23127B54B0D7A8DDF71140C4F9C5DEB /* fe_add.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 16F47C763C243FBA683EB98B887F5A2C /* YapDatabaseRelationshipTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 04FC1C7C9C1CE2691B73A0FF0FA11580 /* YapDatabaseRelationshipTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 170B5C1928B961304E3117176D577E68 /* GCDWebServerDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = EAFB5BE12DEA2CE059B34B5C1228A303 /* GCDWebServerDataResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 170CCAE4E693D9EA945AC7058488C35B /* MPTakeoverNotificationViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = A70A4A84220B0C33D24B5E9820475DFB /* MPTakeoverNotificationViewController~ipad.xib */; }; - 1714C424C582D612A74EBFD090369DFE /* TypingIndicatorMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13818820420FA140B1919356F95B7F64 /* TypingIndicatorMessage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1751967845CB920EB776B42B892D762F /* NSArray+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 26C9672B15E49D4FF15D95FF302C910D /* NSArray+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1773701D13BB4929E962876BA8732F49 /* SignalServiceProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CB437331B4F6A4F638F6549165D21C /* SignalServiceProfile.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1798267353AE4ADDCC1FB33AD0868915 /* MessageSenderJobQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D5001794BA62B4EB4EA68A4C5A16A8 /* MessageSenderJobQueue.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 17ACA18F4654347467F329E555DCF9DC /* MediaThumbnail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E21257D7E72345D72E6FB6214DE3D6E /* MediaThumbnail.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 17DD6002EAF1B5DDEDEA3430DC3E22ED /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61350B58F41768CB92723FDCAC80050A /* CoreGraphics.framework */; }; - 180481A9D283BECA246138DABD022A65 /* OWSStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C7730BE3A578A02CC5480B35EF84C1C /* OWSStorage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 181CB1850846EDC867CB0F9BCA70BB0E /* AtomFeedEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5865C0906B247C2C6CAF1CB2AC558306 /* AtomFeedEntry.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1825FEC138F2C587CA8ED11F6E2E5D84 /* MPObjectSelector.m in Sources */ = {isa = PBXBuildFile; fileRef = 78EEBB60F1D37AD0EA30622D4CF70601 /* MPObjectSelector.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 18736EA95940738DA2A7B039E65DB414 /* StringUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8ACC8836574D5190F220E4FF68C4D003 /* StringUtils.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 188737D310F9C9AC7B2EC4E44B06D417 /* Message+AnyAdditions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8162434D679FF30EF83528748567B8D5 /* Message+AnyAdditions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 188807E22C14410D83AEB7F880D704CB /* DDFileLogger+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = CE0B810EC0B3638CBCD7CB0E38309C5C /* DDFileLogger+Internal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 188FDD7BFBE8FC351AA9119350F0A723 /* TSErrorMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = E0E53A3007FACA321372EBBCDC861943 /* TSErrorMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1895153740D5F69F3AB7DA52B414CD4E /* SMKUnidentifiedSenderMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9A734220982F3B80BFCE445AE2A4013 /* SMKUnidentifiedSenderMessage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 18C0B0AE93400A9D620EB9D1E3AB4E68 /* YDBCKRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 884F4DD4F090F7F0D9E08A8D1E56DD7F /* YDBCKRecord.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 19185E8881C5EAF492D796200AB2062B /* YapDatabaseHooksPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7493EEF707CDF39A5B4177266B483A5A /* YapDatabaseHooksPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 19250E42AD9115D73B8F5CF10FCD7110 /* Cryptography.m in Sources */ = {isa = PBXBuildFile; fileRef = D696A749408F5D732FB1BAD82B96088B /* Cryptography.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 193E85596FBDAA6C6E73794C622A0F9D /* MPFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 20F985311D3E29EE374EDF7C93E2316E /* MPFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 194034D7D146421326ABC2AD4FBF6E66 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = F52449091142E171BCA47B19240A70CF /* BlockMode.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 196A351699A3B8F788AF02B03EA76EAD /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = F9150A52E2CE28C05A887FC6F6A29285 /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 196C6E553D60630AA4CBA4505757D957 /* MPVariant.m in Sources */ = {isa = PBXBuildFile; fileRef = DD31A7D31A227E47226531E4387E4686 /* MPVariant.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 19974C39FFBE3D13B74F4E7CDFB3FD56 /* YapDatabaseExtensionTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B4727AC842DCF9983D38A8169020A52 /* YapDatabaseExtensionTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 19D1E7CB83D3FC47DEC2213042C54196 /* ContentProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4497B3017A703664EF3CC55893475BEC /* ContentProxy.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1A0C3411DD98AF81562E6FD24A13D007 /* TSDatabaseSecondaryIndexes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8122BB8D8B39A1B6DC4D2FA7D5D54D85 /* TSDatabaseSecondaryIndexes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1A22A256FB8BA72A7B9ABAC0868C9D63 /* fe_invert.c in Sources */ = {isa = PBXBuildFile; fileRef = AE8A9A60CA210F718BA6C41F624D4863 /* fe_invert.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1A2928D7CD8F36745DFF9DC65897FAA5 /* FIRVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = F35FFC589B02FA9223CF58203A137695 /* FIRVersion.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1A36A6DD0FF8E553C3D5398FFF125D97 /* DDTTYLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = A04AD6697BE26C082652F66CCAB70BC5 /* DDTTYLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1A497961796C54481C39CB2434BD803C /* BinaryEncodingVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C26F465D8AD5785AE1C798FBD8853798 /* BinaryEncodingVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1A904BF9BC3D463A02C09905AC0A906C /* ExtensionFields.swift in Sources */ = {isa = PBXBuildFile; fileRef = B22AF4882BF29A57D2189560E05FDF16 /* ExtensionFields.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1ABBC879C3E73019BB6A330B595BD53B /* portuguese.txt in Resources */ = {isa = PBXBuildFile; fileRef = E3A9548F1AA88BE2A05C2FEBEB9FCC62 /* portuguese.txt */; }; - 1ABD93B5537B92562B19D45B52927C86 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 1AC0E781B06FF6AACE0B1D8B32F90D5C /* YapRowidSet.mm in Sources */ = {isa = PBXBuildFile; fileRef = CA7CEFCB21937D3ACBE369AA883672DA /* YapRowidSet.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1AD023D2988C70BF0C17980D17C0469E /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B9E4104B8E407ED4156FA0A289E22E1 /* Guarantee.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1AD31E3D91D6A27800AAF32FB30FB38F /* SignalCoreKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 222B60328C041F116E901BF5D3F54600 /* SignalCoreKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1AF3EA92AAC531D2D38F0F98BB7D6449 /* MediaEmbed.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBC3D0360094FEB683088522EF7BFFAB /* MediaEmbed.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1B4058648DF38B1A09D95EAC04CC55CC /* OWSDisappearingMessagesConfigurationMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 1884AE45F6B0E1F71A7AC4484FC006FF /* OWSDisappearingMessagesConfigurationMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1B5FB9C627D7AC08812F22112CADDED8 /* TSInvalidIdentityKeyReceivingErrorMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 625B87011CB0A711EF62C3B906747055 /* TSInvalidIdentityKeyReceivingErrorMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1B71F44933DEF9982B52649D799DED98 /* NVActivityIndicatorAnimationBallZigZagDeflect.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA361FA20734470F3117892EFB76F93F /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1BDE11BF6CB38AE367F906E69E657A6F /* wrappers.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D9B98CE363AFAEE2F6682837D5F602F /* wrappers.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1BEE46EDB7DB778FF4EF74686BED4A17 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = C369DCE9B771AA4A1C7B40DFFA3C4DCB /* Error.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1BF9AD0E1EBDB9CC80E82D0C4482CC0F /* YapDatabaseFilteredViewConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E8B2664B0166EF0798858C1BE3D80B7 /* YapDatabaseFilteredViewConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1BFE32A6B1FD4EA4793C011836CAA545 /* YapDatabaseViewLocator.m in Sources */ = {isa = PBXBuildFile; fileRef = 501EF4889B7C7CA18F77DBDAA2E2BC89 /* YapDatabaseViewLocator.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1C19728C1357E88EAEEDA68072DF6288 /* SerializationUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EECF2EB1D25AEAA78FE3D6902D06ADD /* SerializationUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C3935C913EBBFFD42F8287B8C8A6FEE /* Provisioning.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA63398E45316DD4159FC640744D9232 /* Provisioning.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1C6E68F774BB1141A739B928F660DB90 /* YapDatabaseRelationship.m in Sources */ = {isa = PBXBuildFile; fileRef = E207056465FE69904D3268563C87D846 /* YapDatabaseRelationship.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1C76DD66F66723CE93C991F7FA3BD3D7 /* iTunesCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0801D6383F3127A6AD18417C1ADBCC /* iTunesCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1C8650185B76388F349A62E1027E1DCF /* OWSCensorshipConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = E63D635E6F78B0D6827E2637A61AD9A3 /* OWSCensorshipConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1D2F78D99CA6579B6588419F95C83852 /* MediaSubTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7BA2BC65E28BCEA87D4811B73D7D00D /* MediaSubTitle.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1D3B2C0B503285EA5A3784593D10A530 /* _MPTweakBindObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = B84A1ABC3D99E9B5F3C347C65AA3D531 /* _MPTweakBindObserver.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1D40022397ED86630E249891B87DE9E8 /* Chain.h in Headers */ = {isa = PBXBuildFile; fileRef = 35AE8E24348CE51C89C428D5845EE400 /* Chain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1D43DE78C5AE85F5BB42C0EC33146DA7 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - 1D4E05828C901501B069519D82781C20 /* mz_compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 34F037F018798DCE71A2B3569C82D42C /* mz_compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D74BB5889D6E4ADBDA76D15BBC3C09C /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5F8D8C19A592772F7A66BCE657A6A94 /* UserNotifications.framework */; }; - 1DCAEC0CAB9706E4BEEF9861C7EE44D4 /* OWSDeviceProvisioningCodeService.m in Sources */ = {isa = PBXBuildFile; fileRef = A49BF5644E47ADAD39FAA1A589113F87 /* OWSDeviceProvisioningCodeService.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1DDF198EF59412225F38B7E32A3F1B59 /* ECKeyPair+Loki.swift in Sources */ = {isa = PBXBuildFile; fileRef = C62258203BD3D1E7809A574F1A576A52 /* ECKeyPair+Loki.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1E095D3A77245795EA86AEB69AC9B382 /* NotificationsProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FE2780C3BE91702B8E80A02B2C22878 /* NotificationsProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1E0D9BC2B21473E28E17FCC3C043E5B6 /* DDAssertMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 99DB1C29EE7028E0C858F0A98C7673CD /* DDAssertMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1E21EC95965782FA1E81561C17BC2410 /* Google_Protobuf_Duration+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 358FC83C9CA12139F5E540ED0E3DF11D /* Google_Protobuf_Duration+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1E4AAC0D6AD2C16D0B79B8791D8CCFB7 /* LokiAPI+SwarmAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A98145231184259283BC98403B4431B /* LokiAPI+SwarmAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1E52CBE1DFA301C735AB1265ECD34ECB /* RFC3339DateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6172F73380F326C8D618D31F15361F89 /* RFC3339DateFormatter.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1E563689078D87D1C1F0BF4E24CADCC0 /* NSNotificationCenter+AutomaticTracks.h in Headers */ = {isa = PBXBuildFile; fileRef = 18A4E2EA17A9C16DE5F7F701D48F7324 /* NSNotificationCenter+AutomaticTracks.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1E85F75E55733473F1AD318440DFF7DE /* JSONFeedHub.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CAEAC7A859E29F8057B7688A88C8404 /* JSONFeedHub.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1EA6CC53DCE2C022289AF4A9E6B774A3 /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42B15E45AC4A145C03C0296266CE60F1 /* AFNetworking.framework */; }; - 1ED03FEE1677BF010755E12A2F476FB6 /* OWSFailedAttachmentDownloadsJob.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DFBB5A917032A9C614AE870E5B0B654 /* OWSFailedAttachmentDownloadsJob.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F17BD0C006749EA46717C2A121EB0A7 /* OWSSyncGroupsRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FE8944E4E9B71270AA450FE6C64EB28 /* OWSSyncGroupsRequestMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F26E2EC2D4F1CCAB551B02ABCCC7F56 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C652E007135335E6FB3E18002502C96 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F3DCFE0A7A94F55F9B9FBE6603F9A06 /* DeviceLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D4F351BFDC6C7359C248A6349ACC94F /* DeviceLink.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1F47A44BC4806070F780EFDB6F76CDD1 /* OWSHTTPSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 9249E751DBB3F74BBCB03B10759A75E2 /* OWSHTTPSecurityPolicy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F78BB40C07A0DE125D0A60B28E105C7 /* YapDatabaseCloudCoreConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = E70C69E16BC66623334D66FC68CE3C99 /* YapDatabaseCloudCoreConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1FD10CE4BC7F221B2CE123A93FBC8821 /* GULLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = D338E9F7D2FCFEAB73B36094F09233DF /* GULLogger.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 1FECF196C2B9344978A46BE98E7259B6 /* String + toBool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F4DE139A91E441845B8DDC77FE0DD4 /* String + toBool.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1FF969C5653960787CA0C5A8DB6F4E3F /* EXTRuntimeExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BFEAE0D4C62F213BB0707623ACB819B /* EXTRuntimeExtensions.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 204196583E261184703C8DFB2484375F /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95342B2FCCBD8EF1BEBDF18C2BFE917B /* HKDFKit.framework */; }; - 204E7C4300657C09BCE4FF9D9C889DFE /* LKAddressMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = DC577FDED102C748176633980C2D714E /* LKAddressMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 207C6D42641A2403EE4A78CC76F6AB1C /* DoubleFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 513BE3DB6ED99CFFB23751451D49E8B9 /* DoubleFormatter.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 20917404AD3F1023A0BFA3DDB4B49B49 /* UIImage+MPAverageColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 0400242FB0340150DA52F054E326FB4B /* UIImage+MPAverageColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 209ED36B982040E1CCBE40485FA6AB6C /* YapMutationStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 707105D05E319E79E94A3360E3A9C0D7 /* YapMutationStack.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 210BF486D6A410AE580E0D82F5EADA1F /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11D0DE43A95786197F0A6353A66BE841 /* Generics.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 21275140948B16C1F3B35896756016BA /* SSKEnvironment.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DCC9D98B18F043FEC53E28985AE30FC /* SSKEnvironment.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 21CD2A494302B4A104D43E4DB52BE14B /* YapDatabaseCloudCoreOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DFA04F0A881B782DE180FF816FA90BB /* YapDatabaseCloudCoreOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 21F5A1454F265C772EB991CC25AF2A98 /* MPCGRectToNSDictionaryValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = DF05F542252D9A788870C5122B0DBBA7 /* MPCGRectToNSDictionaryValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2227B0EFC9188F928E3B973FF650BDB7 /* SessionCipherTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B5627A2CC476C9014D58BE7EFA20BCCE /* SessionCipherTest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2265304963C66DB53A370701120977B4 /* MixpanelExceptionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = E336DFFFFAF34773EA3710C10601615C /* MixpanelExceptionHandler.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 22B3996E9614F3A853C9B88AF3A1CD8E /* ge_madd.h in Headers */ = {isa = PBXBuildFile; fileRef = 52E91493EE83BB728F06ECAEEE61D88D /* ge_madd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 22C3AC67A23197336F451124DCBAF96A /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6594F345DB1210E6BC951547A3E7C8CE /* Data+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 22F42A66AB93100D76A0BB67094FD740 /* TSPreKeyManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E4C521CA4F23E6E681258C675CDC569 /* TSPreKeyManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 22F570C3CCD222A4A43CB8977FA267AE /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - 2335745B6D49594D0F327EC88AE6C7E9 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = AD0B44C7D43C87DC0C732A63ED410E1C /* UIActivityIndicatorView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 23B30D5B85D35817E0617EE52609FFA8 /* NVActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91BDF7B91C7F6C3298951E02CEA5D2D5 /* NVActivityIndicatorView.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 23B33F256339F733BC4E2946E9F6000D /* YapDatabaseFilteredView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0096EDF167D6A9055EFF48264BEE21 /* YapDatabaseFilteredView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 23C0EFE19C8F2957211EDB18CEE61199 /* Ed25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 063FEEC160187DC6B8DCCB8567F233C8 /* Ed25519.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 23C4DB95E3AED20043FE11D7B58D2487 /* NVActivityIndicatorView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BF46EC4B81F9F8309B740DE7F506127A /* NVActivityIndicatorView-dummy.m */; }; - 24161512E245CEC8A4C72C1BF3B2B18F /* OWSVerificationStateSyncMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 537052C162AD069D1415E05713C9EF94 /* OWSVerificationStateSyncMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2422E6544DDD635C289F152CF5F3650A /* GoogleUtilities-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB4373E95FA8F9CBC760FCF854A510D6 /* GoogleUtilities-dummy.m */; }; - 2423FD3E23F65E5E00902D5B /* LokiServiceCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2423FD3D23F65E5E00902D5B /* LokiServiceCipher.swift */; }; - 2423FD4023F9F36000902D5B /* SessionResetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2423FD3F23F9F36000902D5B /* SessionResetProtocol.swift */; }; - 2423FD4223F9F88700902D5B /* SessionResetStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2423FD4123F9F88700902D5B /* SessionResetStatus.swift */; }; - 2429D5FEBE097C4E4F205BB5DA5D2909 /* crypto_hash_sha512.h in Headers */ = {isa = PBXBuildFile; fileRef = C58C5BBC37000149164845A1F5990C8C /* crypto_hash_sha512.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 242E861FAF2EF2FFF2D9CB57513CF0C2 /* NSData+keyVersionByte.m in Sources */ = {isa = PBXBuildFile; fileRef = F18406DF6FEFCD6740B429AD8083F582 /* NSData+keyVersionByte.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 24312470BB5FA7F3E8529A39D62303A0 /* MPDismissKeyboard.png in Resources */ = {isa = PBXBuildFile; fileRef = ED42058E5D33A27E9B16E968AA519CBA /* MPDismissKeyboard.png */; }; - 24348C6D1A77BCC1D0D755C9776E0148 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 105A6FEFC45DE9C8B89ED32FE6A7C501 /* Security.framework */; }; - 244F819B1468FB1A47B9971EF383C91C /* SSKIncrementingIdFinder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B5D729334D37225EFDF079AB7448A31 /* SSKIncrementingIdFinder.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 248F79B2CAA71B8141AC9D9FA5538AF2 /* OWSHTTPSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = E3FB52E74AD2BEA8D3472F5936630845 /* OWSHTTPSecurityPolicy.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 24A0B5596CE7413B6013478C7937DF3B /* OWSFingerprintBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 85729F4F35B966FDEF9344C1C2EBDBF5 /* OWSFingerprintBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 24AD8E31FDFD451A14E10052DC06EBC8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 24B12418879A85551F31BEF591424957 /* MPDesignerTrackMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F1522A166F80FA00EBCC4B618004CC6 /* MPDesignerTrackMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 24B1C75419F30ABAC3A0EC57745C704D /* fe_cmov.c in Sources */ = {isa = PBXBuildFile; fileRef = 2290520DD3FA01A8024A9BE27D4F6E9E /* fe_cmov.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 24BD2603234D5F040008EB0A /* LokiPublicChatPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24BD2602234D5F040008EB0A /* LokiPublicChatPoller.swift */; }; - 24BD2605234D5F590008EB0A /* LokiPublicChatManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24BD2604234D5F590008EB0A /* LokiPublicChatManager.swift */; }; - 24DFC6463CE03814A6EA97422E10A333 /* TSErrorMessage_privateConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B06FC04CBB666660C4D253BF4547825 /* TSErrorMessage_privateConstructor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 253A75BD22C817235B25E9F221FCE1AF /* OWSMessageReceiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 3255AF0944F19DC87FC74897AA8CB141 /* OWSMessageReceiver.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2567BE31AFE05DD403B6B2AE553986D3 /* AtomFeedAuthor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7A8F0B5EC9CBCBDDDFF44B7858B7F24 /* AtomFeedAuthor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 256BD3A9245A514FDB1901F2B30BC9A1 /* YapDatabaseSecondaryIndexHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B6D13ADDEC384B6BA1739C462F81DB5 /* YapDatabaseSecondaryIndexHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 259AD3D9BBE36E6635F0E94C114D6EBB /* yap_vfs_shim.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B6E25497F068D0F1A3ACA0DD1D183EE /* yap_vfs_shim.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 25AE2D0241BAF3B10DE3A3A6E90C823D /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D6DC86E320DF9FAAFAE21B2657D5B8 /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 25B09B42E561A93164273EF77CACB2E4 /* YapDatabaseConnectionPool.m in Sources */ = {isa = PBXBuildFile; fileRef = A71228731AA2B136ABC27800B8C8C1AF /* YapDatabaseConnectionPool.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 25CD29D2E482EF2B6F6A7B3700004A7D /* OWSBatchMessageProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = F7DCFFC95770EB689D0A37CE9628F7BD /* OWSBatchMessageProcessor.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 25DA96302C0915C518B58D58EAE11ACE /* Pods-Signal-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C7DB77B7D6BB4C4C79E6ECF8314F613E /* Pods-Signal-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 25FC551A2780AB1C6BAC2CD5C1EC917C /* NSLayoutConstraint+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = D7D8A7D51257F92697C33072868F7360 /* NSLayoutConstraint+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2616C88565E0053A13740A1680BD99BF /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - 2619E45B31AA25BDCD8A0774E611F1B7 /* GCDWebServerFileRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 65C76288E7A2D0E40E2DE44CAE8B1A31 /* GCDWebServerFileRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 261F394B59B3D2CA19B72A9CBFEE3DDC /* OWSAnalytics.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A13F86BAFD0B462E2E56371568ED3E5 /* OWSAnalytics.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 263CCAC8D87F6DED0DB6E15D78381BF6 /* ContactDiscoveryService.m in Sources */ = {isa = PBXBuildFile; fileRef = D62219E444ECB19F866A624B99BD472D /* ContactDiscoveryService.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 26448568EFF2916BFC49818D6D37CECC /* AtomFeedEntryContributor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D75B5B6238A6FA73FDC71D5A5B0D38B /* AtomFeedEntryContributor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2647F69DDD6B3170D35365815FAC6A73 /* OWSFailedMessagesJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 52376AA505C56B842D6198FA2EB34FF3 /* OWSFailedMessagesJob.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 264EF44AE27768106FCD2BCDFB84EC03 /* Decoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = B25A2C6660F49D86A79755DD90F3CFCD /* Decoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 266326A8965FFA35F5F13D5586296D00 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 2671E45E8ACF06271682B000E8C8B03A /* OWSDeviceProvisionerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C9E953C0D9ACCC330E2A850154FEE301 /* OWSDeviceProvisionerTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 267AF36256688E245DD58585E2F199D5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 2687401123B78AC59BCECF0129A8E5F1 /* YapDatabaseRTreeIndexSetup.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA4FEBE32ED56A07C4A1F6F4150972A /* YapDatabaseRTreeIndexSetup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 26D4F77C51F8089090B59937CDFAC695 /* YapCollectionKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 2583A5D40AEE86F9507150BC7AFCB1D0 /* YapCollectionKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 26FA9963A6148AAFB307C342DB540B72 /* YapDatabaseExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 31DDDBD6315049C737EABB82033EE1B1 /* YapDatabaseExtension.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 27480123F5C0A8F8163EEF3BA6AB3A70 /* Promise+Retrying.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40CD21829E5B98C13F86CA78DD055A61 /* Promise+Retrying.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 276AB03438DF7867C408A3600B358906 /* TextFormatDecodingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2D5695927407AF2EE68069CA6BC8458 /* TextFormatDecodingError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 279C8BD5F781AA38A6D1AF4F5C71EA9D /* YapDatabaseCloudCorePipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 89C4FA8D327468D47BF5768639718236 /* YapDatabaseCloudCorePipeline.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 27A56AB709294F0647AD070E94C978EF /* NVActivityIndicatorAnimationBallScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE90B7305DA6ADCEEDAF9E1A5748C333 /* NVActivityIndicatorAnimationBallScale.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 282BAFF6DBFB5F938338707047589C84 /* GCDWebServerErrorResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 10876643B4E65AA4BE50643AA9276A12 /* GCDWebServerErrorResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 287ED036F166DA4BA024CEE49BA990B3 /* NVActivityIndicatorAnimationCubeTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F1B17C7AEBF18EA9167BCFB41F6789B /* NVActivityIndicatorAnimationCubeTransition.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 288771D02BDED08EB8013BE45038FC51 /* YYSpriteSheetImage.m in Sources */ = {isa = PBXBuildFile; fileRef = CED001E7381363E215D3AC95BD7CA6BE /* YYSpriteSheetImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 289A6EA122E46639E44D833F6198E340 /* MediaTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C64BC1F9BB0012497EBFA597AD9587A7 /* MediaTitle.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 28A9FFA1A927C740FA09EA90A47A14D2 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D52AB20E151BFF98F37DC41B4C4A1E67 /* CFNetwork.framework */; }; - 28CAC30FC7A634040B6CCF91A0AA6579 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F7993D01DE96F7753A686B12C1C44FF /* Curve25519Kit.framework */; }; - 28EB0B7F3EC024A3B8DB59A4D6A6B9AE /* ContactsUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = F61FC8CDF673A0A10467CA81E346E541 /* ContactsUpdater.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2906E96FE59181BED2552D4B7F4C218C /* GCDWebServerURLEncodedFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C203DA7720C2A8C4240A51BC076B99F0 /* GCDWebServerURLEncodedFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2909FFE643089FB14F30BD428FF7D3FF /* YapDatabaseSecondaryIndexPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7B3522365E3CCE98D529FA02C6195A /* YapDatabaseSecondaryIndexPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 299B8BEAB9AFA099F6637E176092AE94 /* TSAttachmentStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 667BF65D20BA07407A834F6CBDECDADA /* TSAttachmentStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 299CCAE509B57A2180636FAA5FA66A93 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - 29A52F164B20EA7246070A8A5508FD23 /* GCDWebServerFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 89762EAF9CED4502EB272351C17C53FF /* GCDWebServerFileResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2A5F2E6F51AF3B9C1AD86B55C367E709 /* UIApplication+AutomaticTracks.h in Headers */ = {isa = PBXBuildFile; fileRef = 15EB9ED5BECD0376CC482935A57B7F23 /* UIApplication+AutomaticTracks.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2A7FACF495E7BA57C21AB66BA5FC883C /* YapDatabaseSearchResultsViewConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = CFF33AF19F5DEBFF1EE969827E2449E8 /* YapDatabaseSearchResultsViewConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2A965CBB1202AD6C438A97284F11CD7F /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9588F598A5379E577CF54E2898B25E11 /* Authenticator.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2AFB08932B34A1C042D4B75739255E0C /* SessionStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 99219436FB01CF8BCB67C2D018748935 /* SessionStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2AFD8C9B9CCD151640502AFB70B6CF68 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57C4EE166B61DAD531BC9B13BB8B3B27 /* after.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2B0F6B539F45D2C5D6C72106E79EE0BD /* Message+JSONAdditions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A8A27598DE7CF822770D7E7045193ED /* Message+JSONAdditions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2B1347DFA67961554D09B2C48553ACA6 /* MPEnumDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 24E59A0AB638C2BC4D5B59982C21CDDF /* MPEnumDescription.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2B2068E74F510B26E31AA4E0033AA240 /* NoopNotificationsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09A2C349314DB2E4AAB424C1F1D39440 /* NoopNotificationsManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2B39667BA5B6ABDF4E6BF673A2DB1448 /* libPhoneNumber-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 91869B512553835463C73508989180AD /* libPhoneNumber-iOS-dummy.m */; }; - 2B4601BE7175F3D2A07DE651BC6C5675 /* MPArrowRight.png in Resources */ = {isa = PBXBuildFile; fileRef = 815423BA41C765ADC77D4F2CAFF95D6B /* MPArrowRight.png */; }; - 2B79246F303A19C92AB454D16135B449 /* WebSocketProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7758D8B852CE639CA8C74737289BAC2C /* WebSocketProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2B95A8E796CCCC35C77809EC15C29F80 /* FIRVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1B7DA3014D79091720D00FF2063BD5 /* FIRVersion.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 2B985828C28D3A13C0DC59B9F156C3D3 /* MPABTestDesignerChangeResponseMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = E20A2E70EAE91C40D21706183C818117 /* MPABTestDesignerChangeResponseMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2BB4E15E891871C3E76B5243B89E3ED9 /* YDBCKRecordTableInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = C1D92842AE85104A11E541369BF05E09 /* YDBCKRecordTableInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 2BBB4A473275C3D29C52639F20BF333C /* ge_p3_to_p2.c in Sources */ = {isa = PBXBuildFile; fileRef = 28FC3AF44C02D0714FAE77FBFAECC49E /* ge_p3_to_p2.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2BF3B10C09411473B719A0104289A24D /* YapDatabaseSecondaryIndexOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = D30B24D014F854BE0213094E0AF2602A /* YapDatabaseSecondaryIndexOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2C0C1C1E3B54793C6E0A5551797632F1 /* MPTakeoverNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 165DD48C9211B592FF2AEBBC55583626 /* MPTakeoverNotification.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2C4EE0A34C3E00086C982C4B732FD2C4 /* mz_strm_zlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 1655457028247F2AE789888DD49E1253 /* mz_strm_zlib.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2C68046B30466B9B322587D194326A8C /* Reachability-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D7B4EB79D0A0FA2C0A7C18B41AD30312 /* Reachability-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2C745083E492193AB9AD48ED05EA3ACF /* LokiP2PAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38D3258760341C2F323FC2DB2615B6A3 /* LokiP2PAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2D15EE00536EB737A6D49A98B1F32AE3 /* YapDatabaseSecondaryIndexSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = C9B5D7C3D5D7096AA841355A0476AC5E /* YapDatabaseSecondaryIndexSetup.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2D1EAB082C294CB16E94DC7BC9B0710C /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03417BA24E78BE59CCD409ADDB24055 /* PKCS7Padding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2D230EAE1D26FEF30852CA51F0200F33 /* ge_frombytes.c in Sources */ = {isa = PBXBuildFile; fileRef = FADA4AF2DD96EC33EA24B3294E50E6E8 /* ge_frombytes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2D5D665825C15A06F4EB11346132F2F6 /* RootKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 6721F5992E54CF42657ACE255A6ACDB9 /* RootKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2D8D2C59E9F8F19936C8D4C670B8A050 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CD7D1BB2F5102B87274FAC5B2D2C424 /* Rabbit+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2DED4B28648CAEE3579A5B1311F865B3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 2DF9EB55E82756B5F53313D2D5C083E1 /* YapDatabaseCloudKit.m in Sources */ = {isa = PBXBuildFile; fileRef = D96B576AFFDDD159B4CC142065285EA5 /* YapDatabaseCloudKit.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2E0FA2ADE4A3D7F7CA65C927582B8502 /* OWSBlockingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 15D2C5214152FB92546BE961523CB6E8 /* OWSBlockingManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2E1520A6F21E4CE92850F3964A956506 /* TSOutgoingMessageTest.m in Sources */ = {isa = PBXBuildFile; fileRef = EF519DE4415DEE72E3CD953E144C8939 /* TSOutgoingMessageTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2E29EB1F0E65088C8E5141C06484CCE2 /* YapDatabaseTransaction+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 87762C446F5EF566994FD451F1C34CE9 /* YapDatabaseTransaction+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2E7D95749F7A0094099DF30AF7ED8C21 /* OWSIncompleteCallsJob.h in Headers */ = {isa = PBXBuildFile; fileRef = B37255AA1A935FD2E14A47A4A4AC16AD /* OWSIncompleteCallsJob.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2E8A786A872C574541A5F87E9330D21C /* OWSGroupsOutputStream.h in Headers */ = {isa = PBXBuildFile; fileRef = D046A1D1EA52912EE887F67D8F0A44CE /* OWSGroupsOutputStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2EAA4E42D3FD1D80915263342E910CC6 /* WhisperMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = EF1618F3CF6C6F466B0517DDEE2BD941 /* WhisperMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2ED9ADB07D0551EC43FFF334B55C0288 /* GCDWebServerFileRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 64A69D1B5F9FFEC85701F8D5887E0447 /* GCDWebServerFileRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2F06060928BB4B568FF606B27928E37D /* NSData+Image.m in Sources */ = {isa = PBXBuildFile; fileRef = A86160D9EBEB9BD0D8EF1142C3E6D7FA /* NSData+Image.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2F5D5F5672D923333F039D777B247BBB /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26B9008F74BF53CA04543647AA5B1DCF /* SystemConfiguration.framework */; }; - 2F87353A26C019FF7B13E121E8242FB7 /* YYImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = E70DF614D7C7ECEB121853DA30246E3F /* YYImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2F9711CA393B0B6EACFB467A1B2E8A14 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B3F067B58B94EDF00CE42ED8492E215 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2FA721B40645C6C8B622B768F278C816 /* SessionBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = CCC54BE015319486D2F8F2EFEFEA30EC /* SessionBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2FBAE40A0AC92B9096DE97CB7D72AA50 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = B86370BD1964415A19C65F4A837F0B1E /* race.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2FC5E67EC7B600F871B06ED01C08E20F /* OWSAddToContactsOfferMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = F233892791DFC5B4CE81A6067ED38189 /* OWSAddToContactsOfferMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2FC81451BC40943071BA71D0A650A487 /* NSObject+MTLComparisonAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B2853E91616973B0C1D025CBE963388 /* NSObject+MTLComparisonAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2FFE27653BB2436034247B66D44D81ED /* NVActivityIndicatorView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DC5677395470D33FEBB9B244AF45C69F /* NVActivityIndicatorView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 301F583A0174EC0F0CE03294181007ED /* AnyPromise+Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA4BC192E94555E9C6052010862AC05 /* AnyPromise+Conversion.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3065F45B3F940CA08E558C74A1A8530F /* NSDictionary+MTLJSONKeyPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E156A4E995EECB8C6FDE4DED5489A69 /* NSDictionary+MTLJSONKeyPath.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 30714F754CE55022EEE7C103F1868FAD /* PureLayoutDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = CB572BD0597534357C227267877A53E4 /* PureLayoutDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 30A948C08B06E9C64FE7A132B30316BC /* NSData+keyVersionByte.h in Headers */ = {isa = PBXBuildFile; fileRef = D3E0885D4593A36C6D547EDCEDA488FE /* NSData+keyVersionByte.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 30AF3331ECE7BD7AA0BDA90FBEC5E80A /* OWSCountryMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 27C1AE0B5402B11C62AFC8C2DADB0E85 /* OWSCountryMetadata.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 30BEC971AF2E1D35BD0920EE5D21045A /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B6B0155A988F00C828C38819516BAF1 /* UIWebView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 30D80029A68AD4B241921ECD9A13D8E2 /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB614DC0631AFDEEBB786026406B114E /* SwiftProtobuf.framework */; }; - 30EDE7D61AD80D551FA1B0A473B13CF3 /* FakeContactsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9271EB6E5CA1212F30059C6F15B7095A /* FakeContactsManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 311008660383D447589B19D03FBAD975 /* MixpanelType.m in Sources */ = {isa = PBXBuildFile; fileRef = 1773A97443C5A2487B6F9C65D2A9D3A0 /* MixpanelType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3140EECF0A88934107EBBFF6355D5FB0 /* Curve25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FA5305AE80EC015BD691C479DE3E813 /* Curve25519.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3145124C9185AB2DC88287D67DE2FA35 /* OWSOutgoingSentMessageTranscript.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DBB84FB7DDF05C2CFFC0D2DAE29E31E /* OWSOutgoingSentMessageTranscript.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 315F88AFF175F88ACEF0EC669C5872AA /* DataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7067D34A454B3ABD4DC0ED22E5332F /* DataSource.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 31A0C2C70140EE8EF75AC69792B723EF /* spanish.txt in Resources */ = {isa = PBXBuildFile; fileRef = 31A210D252F971DCC2494BF2AEA3B89D /* spanish.txt */; }; - 31A94568F6477CEA038B127764C3E683 /* OWSFailedAttachmentDownloadsJob.m in Sources */ = {isa = PBXBuildFile; fileRef = F21A1FABB90A9D6576F59395F04EEDA6 /* OWSFailedAttachmentDownloadsJob.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 31C2DFB35C5310E1B45167EAE25A4123 /* OWSSignalAddressTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53A3AE9FC7B6A99365552840C3696B36 /* OWSSignalAddressTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 31C8946FBE5A61B00616CA761D25264C /* MediaRights.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A72EA968D50CC0BB07EBE127EF81E4 /* MediaRights.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3210E1E77C6D11521DF8F6A2DF5BB4DB /* JobQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A8E9826369F549FD9C26E75A63B7510 /* JobQueue.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 321D2EDABA433FB2868853E8658B841F /* mz_zip_rw.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C01BC40DEA8FCAD4C521043139F227D /* mz_zip_rw.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 322F9B724EAFBC2CB5CA152D23FBE475 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 769E1AB970EC96DE14CC7A2F01533163 /* DDTTYLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 326E0F04EBF8CA1C9E7051A3E319DBAD /* SignalServiceKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B4FBEA230E2D880E1078A9C43CE3A6A /* SignalServiceKit.framework */; }; - 328C11397EF2995CD524B2604A872A2B /* MPArrowRight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 56FE1A27FCEC2ED793901240E1378288 /* MPArrowRight@2x.png */; }; - 329B71C98EDED2BD4BE581BE25F23377 /* SCKExceptionWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = CA7C01DEC82F15AFA1E47E92E238311B /* SCKExceptionWrapper.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 329FE693614BA642BB3311975C8C6F36 /* BobAxolotlParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = B16D734FD5984FE0F9FF0CC53805B0FB /* BobAxolotlParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 32A8DE2EB082A6ABEF6DA5B95303023F /* YapSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CA4B0DA4215F4A223FE7EEBED8B1FCE /* YapSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 32DC69F909CF455A9871D46960EE9DED /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB614DC0631AFDEEBB786026406B114E /* SwiftProtobuf.framework */; }; - 32E16BFD9D8E94F5BC9002DFCD0ED3A9 /* DDOSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = F290E3F2483BD303F4AC82EEB7F401F2 /* DDOSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 33212D4C1A3E975427EC9CD79D86EC08 /* YapTouch.h in Headers */ = {isa = PBXBuildFile; fileRef = FD04DC7A19F01290776DC6C73BA8B12D /* YapTouch.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 33327C0AC0037102AEF1E5D3D8E8BDE1 /* TSAttachmentPointer.h in Headers */ = {isa = PBXBuildFile; fileRef = 05BC599DB4C77B477AFA0707AC72D0AB /* TSAttachmentPointer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3386376DB71DA2818E77A67C85E20F48 /* NSDate+YapDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = EE83C55997E02F15F053544066B9305A /* NSDate+YapDatabase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 33CC298C74D9BF171892BBB5D898DCBF /* BinaryEncodingSizeVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E415035827CD7D824B1BD467077B639D /* BinaryEncodingSizeVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 340C05435DD4B934F965214F37A8ACE0 /* fe_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 167D30B6409E12B5ECFD93150B315F8E /* fe_0.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3416517BE911A940B49A9300ED8451C5 /* YapManyToManyCache.h in Headers */ = {isa = PBXBuildFile; fileRef = EB7CCF8D0311A369DDE4927F65F17040 /* YapManyToManyCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 34554BE4D8F982DE048024982663DFE0 /* SessionBuilderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CDEBE605E405DA7FC4ECB4D1E0005F5A /* SessionBuilderTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 34A1D4EC71C06A7748E89B7CF8690D0A /* OWSRequestBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = EB7D82308FA9E1EEC8772BAAE40C7A3A /* OWSRequestBuilder.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 34ADD1AC3654FA7E32E5D0BB97D01507 /* AxolotlKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F5903C61564B32D705EF64FC9D179AE /* AxolotlKit.framework */; }; - 34D0D2BB3DAB64AA4D824B723ED59CA1 /* YapDatabaseAutoViewTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 45F4AE0A69B188323592ADF387DCC07C /* YapDatabaseAutoViewTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 34D587141175C1FC89C44F42AF1F4B81 /* YapDatabaseFilteredViewTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = FFD7A3E80B68A6EB8818CBA3051A9B3A /* YapDatabaseFilteredViewTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 34E925734D7D75657CCE5CAF53F43CD4 /* AtomFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 297265683C3D4324FD4A6E1A8C52C03C /* AtomFeed.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 351FBFC14A09CB1D718E6D9F0C701D6C /* iTunesImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABD260331ADA9DC23594D7B327EB127B /* iTunesImage.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3524B9317F7FE5CD3953604C00CF1036 /* SMKSenderCertificateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CB2946DD7A74E635FDD56BF9B8CD833 /* SMKSenderCertificateTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 354C5C747E13A5F0016E8394CDA49C0C /* YDBCKChangeRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 0808940D65EDE9ABD93E07C1873FB1B3 /* YDBCKChangeRecord.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 35520DB24A6EA1075EFCA6E54325A621 /* NSError+MessageSending.h in Headers */ = {isa = PBXBuildFile; fileRef = 20DD67FB46BD7D4792D217AF377F2E21 /* NSError+MessageSending.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 357B3E1BF4541EC92BA93959F11C0C58 /* fe_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = E337CE5315A7E98C853FC6CBEF7566E5 /* fe_tobytes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 35899E98D63E4147946CB2471BF6C753 /* NVActivityIndicatorAnimationSemiCircleSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BEB4D25F479DA17507CAAA56BF02A25 /* NVActivityIndicatorAnimationSemiCircleSpin.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 35F9A85779AFA5A00325D34481FBBDD7 /* Pods-SignalTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BED6BF6C8550F5B37905EAA5CF203DF /* Pods-SignalTests-dummy.m */; }; - 360994D61A2750C973C88E04F5C5FAAE /* SendingChain.m in Sources */ = {isa = PBXBuildFile; fileRef = 13D471D0888415EB1E1044DF715AA771 /* SendingChain.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 36169F05581A5DF1D32202DF2F0E6F1E /* MPABTestDesignerChangeResponseMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = C83193C07FC8EAE7B509C8C8A43C2493 /* MPABTestDesignerChangeResponseMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 36A0BD907D4444C3FE372897CBC40CBC /* WebSocketResources.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FD1469F2176D3F02C0AC88B7736504D /* WebSocketResources.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 36ABA58DE71F88D27C75EF8C338ACE6D /* YapDatabaseRelationshipEdgePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 57E999271B873332C5471C583AC5B393 /* YapDatabaseRelationshipEdgePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 36AD94A3E7CC9BBC1123C52F226796C8 /* YapDatabaseActionManagerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = A3A2F8385D423448B94A04F54CDFF6C7 /* YapDatabaseActionManagerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 36C1143E8F2AFF748E398682F055913D /* MixpanelPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D0FB85202B537C4763B614B17314E47 /* MixpanelPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 36E9AAF2ED9D90E2BF20DB491F9B05E7 /* OWSQueues.h in Headers */ = {isa = PBXBuildFile; fileRef = EDA28324E341D23A313FE8565A65F9B5 /* OWSQueues.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3741BB8B2FCE60C1A4C2436E4998FBB7 /* Google_Protobuf_Value+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D09C4714B2A8993C608A83B817AE98C /* Google_Protobuf_Value+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3791F1776C52034C31CF4E72674F223C /* MediaDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7886C6D47D9CEF4DB466EE180E863FE2 /* MediaDescription.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 37FC4B5EC10C163069498827E0DFCEC5 /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95342B2FCCBD8EF1BEBDF18C2BFE917B /* HKDFKit.framework */; }; - 383868E60257C963BBF4372E0D6FD03C /* DublinCoreNamespace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC6E59462D5E48FAC3A4DC259C71BBA /* DublinCoreNamespace.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 383A47BC56FDCA7E2497CE09B3AE6035 /* curve_sigs.c in Sources */ = {isa = PBXBuildFile; fileRef = 6EADF5F9A78C312284C62C648F12580C /* curve_sigs.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3854A6C98B14CE54676F3B7843627696 /* RSSFeedItemEnclosure.swift in Sources */ = {isa = PBXBuildFile; fileRef = C426972C0A56F763331F90253322366B /* RSSFeedItemEnclosure.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 38A31EA965FE2FD34D0BC57887E80D12 /* MPCloseButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 334CDC23CF6221375A2436F5C952D28E /* MPCloseButton.png */; }; - 38D1A773A039B0CD1590D955CE8B21D0 /* OWSFakeMessageSender.m in Sources */ = {isa = PBXBuildFile; fileRef = 3840ED8D8DF0169E7A122DA6BA44F883 /* OWSFakeMessageSender.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 38F8FE52F0CCA7222B71BE6598D132E3 /* YapDatabaseCloudCoreOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = D72B97D264596E697EECECDFC131E554 /* YapDatabaseCloudCoreOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 391D9C7379AAF77EAB3AADE8CFAC929B /* YapDatabaseExtensionPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = E790FDC7A261C154CBF8280E269729C0 /* YapDatabaseExtensionPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 394EC1E0DE1CFAA121EC6C68986FB74D /* YapCollectionKey.m in Sources */ = {isa = PBXBuildFile; fileRef = EFBEE1F649A4F0F0214EB14642F67309 /* YapCollectionKey.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3951DF559C577DF9F5ED5249B3F02AB9 /* AtomFeedEntryAuthor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E2637B7738A729ED9FF2DD1D3097287 /* AtomFeedEntryAuthor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 396C879E933B004287BB1EE0DF938198 /* ge_msub.c in Sources */ = {isa = PBXBuildFile; fileRef = 130CAD7ACAAF37ADB662B506D5D7B997 /* ge_msub.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 398D412FFCF0FDBD76293D15E86174B8 /* TSAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CF1A8932CB3AD2D5629542CAFCF9F11 /* TSAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 39A6E0A6809ACC8845A369DEF83DD7CA /* fe_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = 207DC2E69DC65C3E7DBF8C725DA0BC67 /* fe_sub.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3A723F58D05BE7B9E1AC6FC9D59D15B7 /* sc.h in Headers */ = {isa = PBXBuildFile; fileRef = 0903CEA995E83FBA89D042017BE6D486 /* sc.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A885AEFA394C81AB70861493004ED21 /* RFC822DateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C9D1207DF4D374C7EA8090E928EBD88 /* RFC822DateFormatter.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3AD8E7F4DA86C136B7A525D53D9E57BE /* OWSRecipientIdentity.h in Headers */ = {isa = PBXBuildFile; fileRef = DB6B8461F2C7A60329CDD6EF5E76280B /* OWSRecipientIdentity.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3ADDF7208433AD5EDA165DA20A8C2463 /* OWSBlockingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 35D992F96AF54C428A510D5B47EE39F4 /* OWSBlockingManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3AFF506806BF39221247001AB6680997 /* RatchetingSession.h in Headers */ = {isa = PBXBuildFile; fileRef = C24D3A7B6731F56AD3A94DC128ADD632 /* RatchetingSession.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3B3B79BFC59A1B3CC3B5FC611588F3C0 /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89431B7AC65D91AAEAAA55DDAAE83E49 /* Cryptors.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3B4254C06843859EDF6D435F7B05E146 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E1E5A21B78CFEDCCBEC90C9CB99E20B /* DDASLLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3B7835A4532D800337AD4216038A928C /* MPNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C9232C5E279CEE26429CFDF123B2E3A /* MPNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3B7F5D1FBD64CCACBE413BB1FB469B64 /* SMKUnidentifiedSenderMessageContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B45310E748556DFCECF27D33603E686 /* SMKUnidentifiedSenderMessageContent.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3BB9D9344822934293C93F843A77062F /* mz_zip.c in Sources */ = {isa = PBXBuildFile; fileRef = D2D69CB892E2F6C8ECC6A69429531F78 /* mz_zip.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3BEC0138A5B759E775FC7B8E97BEF8EA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48D0EDD30D23912191798E45FA80388D /* QuartzCore.framework */; }; - 3BF7CD939B3C691269E94BD45CC62F39 /* YapDatabaseManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 50B249DDAE7F70BB73966B4028457CC0 /* YapDatabaseManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3BF804531DF84B57B1D8C17288DA4415 /* timestamp.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F2F7BBF9E4538777345AA488DAD479D /* timestamp.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3C1CCE95F648811473034AC9338C7094 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65F13B6D7C7F8D95333E656388A5376F /* String+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3C25CACDB380BB0CA6E576F5BE622ECE /* TSErrorMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A8C64F19462BFDCC02B31A83C21F158 /* TSErrorMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3C49DCEF3D088F9202A89E7B8CF0ADBB /* GCDWebServerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = FAEE45A538247E95DBDC8478971528B9 /* GCDWebServerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 3C4E4386ED06CEA6297BF5482C0EB6ED /* TSGroupThread.h in Headers */ = {isa = PBXBuildFile; fileRef = A916483E40FE713997488475AAE2CB9E /* TSGroupThread.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3C724EB9831D344D200692A1A0D6B31A /* OWSUnidentifiedDelivery.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = D24D18FD22E85C8E5E29E95FE8EFB288 /* OWSUnidentifiedDelivery.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3CCC8E09E754BDB11C70EE0AD2965B83 /* YapDatabaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D03A9149C1A2205B5AE6A7B4012B543 /* YapDatabaseView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3CF456E570C62BE4C3B88240E1390CBF /* ReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 642F99E78D03718CF68C09109496BE6A /* ReachabilityManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3CFA746848B110F47E98DF9ECBE0F865 /* AppContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A5573C0E05A46C32538531E414071126 /* AppContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3D21D218E08950A3BB84B80C9C98FBA6 /* OWSMediaGalleryFinder.h in Headers */ = {isa = PBXBuildFile; fileRef = 247D825B1837D96A6C97C9E6FA0EE29F /* OWSMediaGalleryFinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3D301898C361849FCB94E6DBE1016AB1 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - 3D5AF9C21D8B582076A5BFA5694B1130 /* YapDatabaseCloudCore.h in Headers */ = {isa = PBXBuildFile; fileRef = E797E7FDB20CD3ACE969E8803086369C /* YapDatabaseCloudCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3D5C5D0A2DCCA7E1DA09D64D2E015D48 /* TimeUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBCF87A0BA39455D1A59D2C74A64303B /* TimeUtils.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3D72EB63A657B05B8EAAEFF175E4D356 /* MPPropertyDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = DE0BA83C3D7C164421AA5B7863B3E1DA /* MPPropertyDescription.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3D9A2D0C9E219BD7006ACA470FB01055 /* OWSMockSyncManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F4786E7E41AA5497507A0758F893AAA /* OWSMockSyncManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3DF2B9D4BBA81A91C3DDC60A67097893 /* GCDWebServer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 130C2557BF706EB8A6FE54DE644FB107 /* GCDWebServer-dummy.m */; }; - 3E0D9F916C09E4A55F13E053AA2F2AD6 /* RSSFeedItemSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 177AB8D645A00B2C32978B2CBC8B2CB4 /* RSSFeedItemSource.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3E35A80A52C4173F44E28C5DDE40FE63 /* ProfileManagerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = F9DAD6D52A6CE5D0F099D29AA7937B7F /* ProfileManagerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3E434283155BA79B1878EE259B42F3C6 /* YapDatabaseRTreeIndexOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4777C4695CD1C580EE773CA4A67466F0 /* YapDatabaseRTreeIndexOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3E56692DDE28B807A235FB0BEC60405E /* FIRDependency.h in Headers */ = {isa = PBXBuildFile; fileRef = 8567BCB45892B758F662A9B9A6113EE5 /* FIRDependency.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 3E62E943EF209B520126482672EAA8C9 /* Mantle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBD7C83FEC618F35E95EF7AF700AF4B9 /* Mantle.framework */; }; - 3E6A838A7146E80991F21882319096A5 /* Dictionary+Description.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEA4786B46B2EFE10958D9BC0BE5EA56 /* Dictionary+Description.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3EC7B0B36C227DFBDF3D33A82EA7C9FF /* NVActivityIndicatorAnimationBlank.swift in Sources */ = {isa = PBXBuildFile; fileRef = D957D580466E89681E56E82E7AC448A4 /* NVActivityIndicatorAnimationBlank.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3F290041D0C138DB7FE25C49CE9D855D /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 909E86550FD958133D8CC622FC8AA8BE /* PKCS5.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3F487EFC0C1F3EB72C702E302AD85527 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - 3F5855F33AB4FE4317FEDE384D3C6494 /* YYImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4567D7B46FE7110051299D85C0C3CB21 /* YYImageCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3F84223A489E1FDE7B8FD4A85BD8C1A5 /* JSONDecodingOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2EB50A528AD30979162839AA96BA8B4 /* JSONDecodingOptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3FC2BB5E493E93575A4BA19FB8B0BE4F /* GCDWebServerURLEncodedFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = D1875AB6508FE93EAE108BB99C0EB307 /* GCDWebServerURLEncodedFormRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3FC91E23B9A7ABF362E3D3EA2CA54C4E /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 105A6FEFC45DE9C8B89ED32FE6A7C501 /* Security.framework */; }; - 3FCB431D05EA09E8D8C8C9860D9E304D /* MPABTestDesignerTweakResponseMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 728C3263439E9EA23CF4C8C68CDE29B3 /* MPABTestDesignerTweakResponseMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3FCC5BDB931F7B55B4832385785C2001 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 82E1CF4762C0FCE85DBB32E53CB1E0F6 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3FE2C4CBC46D66E51608C471EA7EFFC4 /* PureLayout-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9ABBB916C75DFB77B2C395AFCC927992 /* PureLayout-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 400936A5EDEF97CEE2E0238DF83D394C /* fe_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = 77B053D1EBDE119A6F3C5974AF254F0A /* fe_neg.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 40688AAEBF3613E2B9EE466127CBDC03 /* OWSDisappearingMessagesConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = C49FAA58E733D476435FBCE70776A0F7 /* OWSDisappearingMessagesConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 40AF73271167C0B86D19923C5E53D084 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 839B024AE0629F6C686DD67FC13837F3 /* ZeroPadding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 40D15FB36D56321A728C311BC9902310 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2144FBF7339F60F36F203D016A4F2D5 /* Array+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 40EAC3E7E550A8C83342C2014C5804AC /* NSDate+YapDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 11B4E91AC3F735BCBF34164F709B5E5C /* NSDate+YapDatabase.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 40FBF4FFDD9731AC5EA97066A074ADCE /* YapDatabaseViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FF3F59C65F7117F4797B2E8986A9E7F /* YapDatabaseViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 410E23282CD10ED3CBE39C7A00B5617C /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 537AB5D399F9A4E953F813890627FB28 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 411431E18EBF3F3708926D93CED39952 /* YapMurmurHash.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A1CDD01787F83C1F6B834A16D0324E4 /* YapMurmurHash.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4120A5B120CFCEDD9C4C52AD08503722 /* open.c in Sources */ = {isa = PBXBuildFile; fileRef = ED9FACB6E8886787966A7292AF5F3C70 /* open.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4146158B2A8DA11359A89380A2EFD4BA /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76809838B3F625A8027963813F93A9F /* Resolver.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 417A879FC16B2204AF9DE3D6650B5709 /* OWSMessageSend.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06B1E0274E8FB69811120446082C9725 /* OWSMessageSend.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 41D0670DE560A4EE71E1EC66444F2C33 /* PreKeyWhisperMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = D0254D46F729E3A3B7663F0AC288DD15 /* PreKeyWhisperMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 41D19838F5FE0D4947E8806123A73FE4 /* MPEventBinding.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E04B0CA6DAFD71AC4B6026C371D4DC7 /* MPEventBinding.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 41FAF16CA2EB18619A602321BFE6F537 /* NVActivityIndicatorAnimationBallRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B4DDECCF9E4EAC8DAE253CC27316A95 /* NVActivityIndicatorAnimationBallRotate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 420B9030485A546652445A9EA7493929 /* Mixpanel+AutomaticTracks.h in Headers */ = {isa = PBXBuildFile; fileRef = 89D9466CCEEDFD632CB34FD20D6F19CC /* Mixpanel+AutomaticTracks.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4247881D2FEE358E3899FA9E077B4EFF /* MPDisplayTrigger.h in Headers */ = {isa = PBXBuildFile; fileRef = 711B53A07E7B5E69D3B133EDF6CA0266 /* MPDisplayTrigger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 424C9FAF296DFB3C7E0DD7C20A7E18DE /* UIView+MPHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DCDF4E4F7A5BF7CF5A6D876A5F5946E /* UIView+MPHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 42566D18C142FB86F0A7E46744CF25E8 /* japanese.txt in Resources */ = {isa = PBXBuildFile; fileRef = F7B07D6D57E3C5618A484B096F58E13F /* japanese.txt */; }; - 427317A6B8F8BE515B6FF988D58CA567 /* OWSFingerprint.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E7D47289F93F299AB1CB1C6903D8FBD /* OWSFingerprint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 429B1C1BA83272DADA289D729FC4613B /* OWSDisappearingMessagesJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 5976E63D1A0EF7F1AE66984D553E11A6 /* OWSDisappearingMessagesJob.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 43213F71F5259F281C9CA39353C94464 /* AxolotlKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 70DD5410AE50086E2F33C74CF474156D /* AxolotlKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 43348142AD79C34D42AEC6C46148F605 /* GTSR3.crt in Resources */ = {isa = PBXBuildFile; fileRef = 073497EB45E1AB195CC073E33FBF5E70 /* GTSR3.crt */; }; - 4336F01AED689AC97E80BCF92FE1F36E /* NSRegularExpression+SSK.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEF677C9251DC2C66910DB8E19306991 /* NSRegularExpression+SSK.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 433C5611B6F55ACAC2818B2EFBA94279 /* FIRAnalyticsConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 1009D2CB92B73357388FC7528D1CD719 /* FIRAnalyticsConfiguration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 436EBD6191619DFA639E511294DAB6A3 /* NSArray+Functional.h in Headers */ = {isa = PBXBuildFile; fileRef = F612848EF622A9A33BA2880617A6BC63 /* NSArray+Functional.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 436EC013A4985F212F1DEDE0A151E6F6 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A27BC73DC1ACA0B79C7EB2D71773C63 /* AnyPromise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 43ACC6113CF4B00A65EE8CF7FB676169 /* OWSBackupFragment.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E3FF73BB217BBFC415271DEDFD45DF /* OWSBackupFragment.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4439BE3A6E365981120D60CB8DC20B1B /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AE4CD9C9867B10A3FD30B7546BD353C /* UIRefreshControl+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 445134DE1801F86C793FFBC6A255768B /* ProxiedContentDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B16DAF26DBF83FB161392C08BC6E4FD /* ProxiedContentDownloader.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4477BBCD6BF84E6161C036D2CF4DA2C2 /* Mixpanel-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A78EFA381C7FB3A016A9C9D2A31C8734 /* Mixpanel-dummy.m */; }; - 4481FCF144634D40CAF0C11E4109CF43 /* OWSDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C9E3F8D7ACBBDC9E7CD3ED4EB0D7D87 /* OWSDevice.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 44881723BB01C654F544CD495252CA80 /* GCDWebServerDataRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 39BAD3FDA208CD4A50B0E695AFD9935C /* GCDWebServerDataRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 44902669CF80C03D61C8EAAB916A3A58 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 55237BFC1CF64C979A43F7A43EE44EFB /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 44EACC9F62A1DCDE168DBD0F63103D3D /* AtomFeedLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7E4321318C25FA53205F4BB36970930 /* AtomFeedLink.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 44EF06BE16B0C9DA81C9755A5410FC7D /* ias-root.cer in Resources */ = {isa = PBXBuildFile; fileRef = B1FE40EBB497027F8F4539685439DCCE /* ias-root.cer */; }; - 451D7C34E49C3E6DB1A36BF367652AA1 /* MPUIEdgeInsetsToNSDictionaryValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4741F22F6E02CCB8CA9F7F7F3B6E1E /* MPUIEdgeInsetsToNSDictionaryValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 45277AFA4F82BB6B4E3923F7CF832AB5 /* NBGeneratedPhoneNumberMetaData.h in Headers */ = {isa = PBXBuildFile; fileRef = F4C85D5090F944090DAF1250A3E103EC /* NBGeneratedPhoneNumberMetaData.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 45772EE5467D7089788F3344B6455E5B /* LokiAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = F86F907807C29D46CEA7F76F400902A0 /* LokiAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 45A98B1278F1FBA0A3AE6C03958930EF /* struct.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06FC124B78768A77769F5EDB905ECBC2 /* struct.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 45C6442FD2A6449B895CFAE0516B1783 /* Mixpanel.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E99DA4C19CEA9ABF417754AB22E42D6 /* Mixpanel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 45C76C7292C551CC6039A9AD6D150F07 /* MPNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 87E5DC6233E4EAB44B0FD3618028CDDB /* MPNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 45CBDE02627AF7102C5679C67EB3F863 /* sign_modified.c in Sources */ = {isa = PBXBuildFile; fileRef = 987AB252A165B539C0757CE19BDF9C86 /* sign_modified.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 45CC311E7BE59590426EC9A18897C03F /* ge_p1p1_to_p2.c in Sources */ = {isa = PBXBuildFile; fileRef = EDCD039E3FA95481050DD782B2B1B8E2 /* ge_p1p1_to_p2.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 45E1E7127EF8C0979F515EE238F0E9FE /* Contact.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DCF320525CD7A1F51E71E112C1038B6 /* Contact.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 45F364334CD0C006598B4014528073CB /* WhisperMessageSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = A90C7AA40DFD3075281D07C3C32EF3F0 /* WhisperMessageSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 460326DCF7AB327C4917C3E51C65ACC2 /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB614DC0631AFDEEBB786026406B114E /* SwiftProtobuf.framework */; }; - 466B3DEA126A45054020A3748EBF32FB /* NSString+SSK.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D6BF3CAAB281CFE10C957863C23003E /* NSString+SSK.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 46A10EF843D4A825BC9FAEEA4F397C59 /* NVActivityIndicatorAnimationBallGridBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 551BDB42E0D7E53AF38CEDF68702AA32 /* NVActivityIndicatorAnimationBallGridBeat.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 46B080F2C046925EC91DF87A4F5E0A1A /* TSAttachmentStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356687DA2514D9D43CE129DAFC62E3E /* TSAttachmentStream.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 46F313052AF0240685E7FF102D72CBB7 /* OWSPrimaryStorage+Calling.m in Sources */ = {isa = PBXBuildFile; fileRef = EA37A788287B5F9D9D2EBB4512B13DE3 /* OWSPrimaryStorage+Calling.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 46F4F90E9F7FC9E8E43DA69CF1BDB2A0 /* YapCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 546A8FCEC06C93AFD7D0476E112A007D /* YapCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 46F86D564254CAF83450A3EEDA7B701A /* YDBCKRecordTableInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 98FB4581B82CAFB4F7603F06F0CCFB78 /* YDBCKRecordTableInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 473EC500B42F5BF3683C9938DF7C9916 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3843F4F9FCDD989A9A60967A6BABEA64 /* UIKit.framework */; }; - 474534D90C1B4CFC79B179298AB53457 /* OWSIncompleteCallsJob.m in Sources */ = {isa = PBXBuildFile; fileRef = D1E6330321F13A507F593468BC84DB86 /* OWSIncompleteCallsJob.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 474910A517EDB433828BE1C907CDD67A /* LokiMessageWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C2B481A4818B01F4C1FAB84B6007C12 /* LokiMessageWrapper.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4782EA00B7D8D0E2C5DADE747D3E981D /* DDFileLogger+Buffering.m in Sources */ = {isa = PBXBuildFile; fileRef = BE0EA0542EEC4176A79543E999B71E16 /* DDFileLogger+Buffering.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 47DEC553B7163BFAF41866F84F16C8D9 /* MIMETypeUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = B2F233A6E0FFE197D4370DD0CD584C66 /* MIMETypeUtil.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 47E518F944E42847AA9CEE3B07EAF58F /* OWSLogs.m in Sources */ = {isa = PBXBuildFile; fileRef = 4543FABB98B4AE1810F069E63F9AE3B8 /* OWSLogs.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4857BAEDCC799D53FD85DE75CF71CAA2 /* SignalAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = BB3F78F993D63FD74674A537AAB053DE /* SignalAccount.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 485CD6A0B2F4503F11727E73E3F266F0 /* NBPhoneNumberUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F04B1C74A1C086FA6C1C0E879AFFE49 /* NBPhoneNumberUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 488A88EFB0611097C486023778AAD898 /* JSONDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9147DAE98A339BF9B1F5BEEAA8912A5 /* JSONDecoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 48970EF0BDE3F8DCCBC26A126D341D66 /* JSONFeedAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8DEB576E3EDCBA4D1BDBE44916A6669 /* JSONFeedAttachment.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 48CD5A7856C9A2AAA29027658876DAC0 /* SSKAsserts.h in Headers */ = {isa = PBXBuildFile; fileRef = E7A9D0BEF503DE4B8D83F6A57BF52250 /* SSKAsserts.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4900BC2CE50E01AA306A4927465608DE /* mz_crypt_apple.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C33E8E78C97BD5E2C0EEE3352AC12F9 /* mz_crypt_apple.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 49139E1CA45B7ADFF9A8BAAB1BEF36F8 /* SelectiveVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E72D601DDE6E87C4787F950410B27AD4 /* SelectiveVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 49155A9EFAEFEAE76AF6171D456BCFBC /* YapNull.h in Headers */ = {isa = PBXBuildFile; fileRef = 6836D74D12F43CA8C68BC492B322D44D /* YapNull.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 492A685CAEDDE147B338BE112C65ACB3 /* SSZipCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = DA4CCCA871944B2202F334831634F26C /* SSZipCommon.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 493B482400278D7C5A411A486C5A56B3 /* Pods-SignalShareExtension-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 94BF78CC142FE785240A7BB510BB71C9 /* Pods-SignalShareExtension-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 495164DB39B07D3021BC769DEB803AE8 /* OWSAnalyticsEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = D2E47D3EB336DDDBAF5F3A103F04342B /* OWSAnalyticsEvents.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 495EC76B41F10BDECDCC0F37F9EF55F5 /* DDLog.h in Headers */ = {isa = PBXBuildFile; fileRef = D6C2AE79EDA1AE29043593120506031B /* DDLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 49746040E3E272F0F2DC944171E2E74D /* MPNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = B789DBE75A1E3C180186183BBEE35CD7 /* MPNotification.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4986916E2F767E359022AA9576E1CAA7 /* source_context.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04DFCA053D1DA87CF3E4529A93A35EF /* source_context.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 49C388F13023FC015BFA1CBE54BD96FD /* LKEphemeralMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F139649D184AB822990EDBBC8F433BB /* LKEphemeralMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 49D9362CEEE61DA76A29576DE081705F /* YapDatabaseOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = CD123F61F0FFFC481EED64BC60317BF1 /* YapDatabaseOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 49EBB3945333C79DEFA82594E33DE889 /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB614DC0631AFDEEBB786026406B114E /* SwiftProtobuf.framework */; }; - 4A675BFCB9A3A29087DCF8386CF37E5D /* MPUIColorToNSStringValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C8F16A2D7028924AA0FB3724F214624 /* MPUIColorToNSStringValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4A6A7AF4BADCEAB96927CAAF2D30C3EF /* YapDatabaseConnection+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F024AFC31350DD45E4781EF446ECF7E /* YapDatabaseConnection+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4A6F6CFA57F4DC3A3AD0E262E8D66775 /* TSInteraction.h in Headers */ = {isa = PBXBuildFile; fileRef = 72074DC389462E33BDCC6B1237869DFE /* TSInteraction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4A7343631571EBDE0011B0A34675108E /* YapActionItemPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D0386A437339352391897DCF1966D18 /* YapActionItemPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 4B3918447D1249DF4FE328FB1C1594F3 /* MPABTestDesignerTweakResponseMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = CA34FECF2D1CA22AC0BEE562F990FAC9 /* MPABTestDesignerTweakResponseMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4B423AB34F46A0D8D249FB86FD045BB6 /* BinaryEncodingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671EB461059756B1C2B62BD4B1B4243A /* BinaryEncodingError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4B59FA30C9662AF56C481B8251715CBC /* JSONFeedAuthor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D54D10BD1473F8DFF5AC39BF8871D0C /* JSONFeedAuthor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4BAA2D271023B68B9F1C7D30D923E3F3 /* YapDatabaseViewRangeOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = EF294A26210C772DBF21CD2707732228 /* YapDatabaseViewRangeOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4BCB8F6B876F2E7C555C07FCFF3D3F46 /* PromiseKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D432B892D2EF3509AA9D80EA8B8CBDD7 /* PromiseKit.framework */; }; - 4BE9C5DFFFE07F1A186797AD6019F6C4 /* SMKError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99F1011A9263D9B9A24363FA55A8FF73 /* SMKError.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4BECFBA4262662700FF3A413F02A0801 /* YYAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = E2C6F5B62F3027B9FF2127A450FF7929 /* YYAnimatedImageView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4BF10BE553DC80CCE5F4C8A98BC5236E /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03511C54A2476B424E84A2DC65A01DDC /* Int+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4C16DC8853AA388B3E45640797DC7D55 /* OWSDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = FB1D4A4E5D21D572C6F9DBFD22E1C539 /* OWSDevice.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4C2FE21BB8C7052C060D5DA2714332AE /* TSCall.h in Headers */ = {isa = PBXBuildFile; fileRef = BB54A6C402C371B8F85ADC16952E66A5 /* TSCall.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4CCEAD3214F26353934F6CC1BA9446A2 /* TSContactThreadTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F04914F2DAE246B273D9CA1A39388DD8 /* TSContactThreadTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4CE2063ECA934E89B6164FE31068F956 /* OWSPrimaryStorage+PreKeyStore.h in Headers */ = {isa = PBXBuildFile; fileRef = EC602F168E7778B0D9B0455419363705 /* OWSPrimaryStorage+PreKeyStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4CEC9EE27785F27A8B635517968BA626 /* YapDatabaseString.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3455FD784481A3E8EB8224646C77C3 /* YapDatabaseString.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 4CF6BA139A1569ECDA0A3D318527EC4E /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = BC5F900BDEBCBF7A60884FFB9F7855DF /* when.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4D19C130D2BE6FF779ABC97AED1BE606 /* mz_strm_mem.c in Sources */ = {isa = PBXBuildFile; fileRef = B861B29148FC0A8686B417433E30FC05 /* mz_strm_mem.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4D37652D3E93B82EB9ECB7C134B8653D /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA1CF84B33FF26F286F49B9C548C2EE /* DDFileLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4D4E5076A407349EB83F44BD7F4A05A4 /* NBMetadataHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A4069934027E6EC9EAEC48E056CDC6F9 /* NBMetadataHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4D4EDBB980A8CFCD2CAC1ECA692D06D3 /* YapDatabaseConnection+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = A75F93F26853363419965BE173C24385 /* YapDatabaseConnection+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4D5257A88320B3975B527A8B5D00E584 /* YapDatabaseViewTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = AA5598BD9356C7B272E90C8E2340C4DB /* YapDatabaseViewTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4D5DB047CEEEB5FFA74ACEB8C1C6E9C9 /* MPTweakInline.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CD2ACBA07F533D868BD6980B159E9F4 /* MPTweakInline.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4DAF1C00EDF0D946F4915F4361C78F68 /* YapDatabaseViewTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = 899D372CB69CEEF199B0AC93F0A4EE7D /* YapDatabaseViewTypes.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4DC4DC7CF0DDCC88E117EF125F0C9C0D /* ReceivingChain.m in Sources */ = {isa = PBXBuildFile; fileRef = EAFCCA158144D0CD94EE70FC0D1E5735 /* ReceivingChain.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4DE97D52389F967A89165BF30EC8CFF0 /* MediaStatistics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64E0354D13C120F464B096D4A89C136C /* MediaStatistics.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4DF972A069298A20734C2995C67AAD9F /* MPConnectIntegrations.h in Headers */ = {isa = PBXBuildFile; fileRef = 705E2B7EBC82BB5FBF14AB6FB3FB61F5 /* MPConnectIntegrations.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4E138C72576018A2776DAE2619E12B88 /* MPTakeoverNotificationViewController~iphonelandscape.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0A86879A143B951C46F6E0D224404A98 /* MPTakeoverNotificationViewController~iphonelandscape.xib */; }; - 4E2283475613A1F2AD8047AE998EC055 /* YapDatabaseRelationshipNode.h in Headers */ = {isa = PBXBuildFile; fileRef = A92E22CEEF0CF8649258DF778298902F /* YapDatabaseRelationshipNode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4E6D4C6304754D6A7AE4EA73C879B00D /* YapDatabase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 49754CFA7DA7F1B22A5FFF4D62C6090D /* YapDatabase-dummy.m */; }; - 4E96C6214583C66AE8C5F9C62E4010C5 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EF5A9F1AB08EFB9BA5338DBFC10FC34 /* AFAutoPurgingImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4EA19FC3FD91900A88E9CD17037BB62A /* MPMiniNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = DC3CF4DB8895CD5F8F51A30F8BA33C6F /* MPMiniNotification.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4EDDE5542084BA83A092A6946855C767 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - 4F06A37B8252221A8EC3F754C52C01E5 /* OWSUploadOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 055B252DC7EC3D798AF50B4406A51D41 /* OWSUploadOperation.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4F2D21BCAA9CBAB12C8728D92B24B046 /* SignalMetadataKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF561178336CC23023460B392536083B /* SignalMetadataKit.framework */; }; - 4F3EB5807219C673E46FBFC311BE0771 /* MPTweakStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 959E6274C89FCBDEB1B15638D2DA214A /* MPTweakStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4F584721C0FEEC7B7C326E87193B9449 /* Mantle-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FEC124816C228DF2330A50B6E7182CE /* Mantle-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4F688F15EEF02B16E2CF5ED83FF7CC42 /* Reachability-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A965F3DC5D5C85FDB27CADDCFB66ED6 /* Reachability-dummy.m */; }; - 4FA04AD24FA6D910E6E5EE99D8F589A9 /* YapMemoryTable.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B80F999F1FEC9238E0DB400473ACEB9 /* YapMemoryTable.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4FCD4B57A13087C14F7AE537109800C6 /* CreatePreKeysOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B2A8E71F4A76FC3C084CCDB1965E97A /* CreatePreKeysOperation.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5022F1805EA370F6FD261F40D64FC5FD /* LokiMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = D91998C895C41ACE4419BB00A5819678 /* LokiMessage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 502EFEE8C53986CCF6325C268A6E4009 /* MPUIImageToNSDictionaryValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = CC308DD5B104D63AD6825900D97E5F90 /* MPUIImageToNSDictionaryValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 503641F83F0E31A8DEFD8FB4A2B282E0 /* crypto_sign.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C5C16E03C8C25E0CD5C6E791C416C1B /* crypto_sign.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5036FC9DE7BB567A44D6FD21ABC35F59 /* UIColor+MPColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 10C3F5CC8848D719E1F83AB54254BAFB /* UIColor+MPColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5066F703C56D588D1E86ACF0DCC3911E /* curve25519-donna.c in Sources */ = {isa = PBXBuildFile; fileRef = AF1DC313A80DC2E4A1E099627B61C52B /* curve25519-donna.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 50CBC5693E970337BFDCEFE896F9B574 /* NSValueTransformer+MTLInversionAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E20484BD52042B3D945E7E08F5CC28 /* NSValueTransformer+MTLInversionAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 51253A11455327DA6A0D6DB43D993F37 /* MPABTestDesignerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = E4B2E8A228B2D737E4766CAAEFFC1D2C /* MPABTestDesignerConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 512E6201FEE66C78B575A006B5BC8803 /* crypto_uint32.h in Headers */ = {isa = PBXBuildFile; fileRef = 14607472EBD9E11E64BA134F26DDA5D5 /* crypto_uint32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 513A89B98D5782FD1F3E0E5223CFC56A /* NBPhoneNumberDefines.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BBC5A021FE1984494133AABED204559 /* NBPhoneNumberDefines.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 514667E4CABD4561313A6927343BC2BC /* MPNSAttributedStringToNSDictionaryValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C164576EA16C6A8461820A6D84F054F /* MPNSAttributedStringToNSDictionaryValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 515EE3E502CDDC646796C8C5BEE026B3 /* ge_p3_dbl.c in Sources */ = {isa = PBXBuildFile; fileRef = F18D2880D8B34F5A363A5E48E6D6B8CC /* ge_p3_dbl.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 518742F22AE80A3A7F9B232E6BD7547F /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = F8284DFA14EBE33B2A8AD1B6B6021B8B /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 51A3E1A4E3F03BE34792673B760C850C /* MPCheckmark@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B687746DD850D53663846FDFF0737B06 /* MPCheckmark@2x.png */; }; - 51A59CE2ADFF6506E7E1AD68A00FFCC0 /* OWSDeviceProvisioner.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B4B00DD709EA0959550C4D1BB45738E /* OWSDeviceProvisioner.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 51AE67F4E1D6F575EE964162BD3FFCA7 /* OWSError.h in Headers */ = {isa = PBXBuildFile; fileRef = 23B10BBE78DFD83CD88FA08A9B3179E5 /* OWSError.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 51B085BECDA126561581100B93C16ACC /* TestAppContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E719C4EF42D5D665B482B56E3AF7E38 /* TestAppContext.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 51C3FF39C1E0855B4986157522EA712D /* YapDatabaseExtensionTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A4CEFBBF54219944E7D661ECCBBC71A /* YapDatabaseExtensionTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 51E80ECE7D194F133E0653167D31DC22 /* ge.h in Headers */ = {isa = PBXBuildFile; fileRef = 167480F97C496BDA47A3672B937E9048 /* ge.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 51EA2D52BE9B340508A44C38BB3C8C32 /* NVActivityIndicatorAnimationLineScaleParty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 466D064C79543DA0EADBBF7B5F57E9F8 /* NVActivityIndicatorAnimationLineScaleParty.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 520DABC0B7F84CAD4B1FFEE59FE6318E /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = ADBED8679955132653E898BA4FADCE75 /* Reachability.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 52BCF6197A3557A3D7BCD6D0B502D224 /* YapActionItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 87EDBD01858DECB144599EA60BA19642 /* YapActionItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 52C00B76E612683710820C47EE49161F /* StreamDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F6D8A64BDD0A09EA4D030FB78FF6083 /* StreamDecryptor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 52C1C250DBAF40E63F1C06EC89A3C774 /* ECKeyPair+ECKeyPairTesting.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B1ABEFFC427FE088EC178F5AED45A9A /* ECKeyPair+ECKeyPairTesting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 52CE432EFEB62CE473C160A5336A1D65 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4137D6A0BA111DB444252F2BFE632491 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 52E2A633EBCEAF12BDBE998DEB2A056F /* OWSMessageUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 023F071568CB6E4D1CADF21C09F95975 /* OWSMessageUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 53026AF1FD91A62A3D0A8BD941C52AC0 /* AtomFeedGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F710439143948E44F31C1D247393847E /* AtomFeedGenerator.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5303CF7F88D3C88C20401950ED55F4A0 /* ProtobufAPIVersionCheck.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59F8EA02866D0FF20114244F16154635 /* ProtobufAPIVersionCheck.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 534193BEF7A7CC2657C7F3516A7E3405 /* OWSMessageSender.m in Sources */ = {isa = PBXBuildFile; fileRef = 14613E1F2F58F1C1B88E6ED6591B910C /* OWSMessageSender.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 53A77829C622FD8FC0A11E2288580B60 /* MPWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 42AC9A3671DCFF2D717F142670C790A0 /* MPWebSocket.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 53CAC9BD5615CFFCBD21BC7FF01BC492 /* yap_vfs_shim.m in Sources */ = {isa = PBXBuildFile; fileRef = E74AB09C0958C54690D16663C0F802DD /* yap_vfs_shim.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 53D036F07F5570BB5577F3E8B116C7A2 /* GTSR2.crt in Resources */ = {isa = PBXBuildFile; fileRef = 231FA0445BEC36224C98538C68CC984D /* GTSR2.crt */; }; - 5405AB15696353EAD6B9730E33CBD8AD /* WhisperTextProtocol.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 790FA1FC83A24DCF5EE7633E580E2DBB /* WhisperTextProtocol.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5410025DDCB10998F1690C1706E64B3F /* MPTweak.m in Sources */ = {isa = PBXBuildFile; fileRef = AF1C4734E88EF282E01261E789F9B9F0 /* MPTweak.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 544E8D271F11FD0A267A217FDF361E43 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - 546F2713FCBE9D739DC48599B57CDC14 /* SSKJobRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D895993AA330C6C537FC65267B4EBF6 /* SSKJobRecord.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 54922AFA40250979FEB53109BA0E755D /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 852DF02E684864C411221A5AA9B85F20 /* BlockDecryptor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5495B42D01C9879457E9B30EECB63571 /* MPObjectIdentifierProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C36D95FDD46BDF95FDB11423C68B8EE /* MPObjectIdentifierProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 54CE36A30B5A59279A088E70BFA17D50 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6A291D035550116231449F81C6155AD /* Box.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 54DD50744FA94BB0E2EFA7DF06E04059 /* iOSVersions.h in Headers */ = {isa = PBXBuildFile; fileRef = A65E7FA1BE52BCADED77AC93D7756415 /* iOSVersions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 55059754EC14362558C301998C26C988 /* Pods-Signal-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A0C131142BEC1754F4EC4A195B0AF381 /* Pods-Signal-dummy.m */; }; - 55069FFA99FBB76D14228FEF14159B4F /* YapMutationStack.m in Sources */ = {isa = PBXBuildFile; fileRef = D21E9CB0D289257C6873FB4540ACE075 /* YapMutationStack.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 55233EFAA6608470B7901CC787675085 /* EXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = F863D4DF54CEB90A65A6F1109B6465B2 /* EXTRuntimeExtensions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 553C4A8F341491B8CFD8E8D1C0CD1734 /* YapActionable.h in Headers */ = {isa = PBXBuildFile; fileRef = EE83F722232647037672AD17831CC49D /* YapActionable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 555206604932D809E42B5250544FE2C7 /* NSArray+NBAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 50ABD11AC6FD02C113421A093CD6949A /* NSArray+NBAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 555A4FAD45FED9A2FD5B536C7BDBD523 /* NSDictionary+MTLMappingAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B789076D03430EDF905884E6B0EA378 /* NSDictionary+MTLMappingAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 555BB7B0A7CE7C7B699384E915812523 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3195AC9376BA117C1D14EF68223BCA7 /* MobileCoreServices.framework */; }; - 555E7E223374B743F1C4EE8E5A99A32A /* CDSSigningCertificate.m in Sources */ = {isa = PBXBuildFile; fileRef = 744AAE9C4C334809BCC46C43CEFAACF0 /* CDSSigningCertificate.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 556FE8C85389DA6213111A99356A4790 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DDC39E9D96ACEB08BC591B0468B64BC /* BlockCipher.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5571201BEE9721AB69F17B02C2558DC6 /* FeatureFlags.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A530899A365309A5C08976637BCDB6 /* FeatureFlags.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 55787AC3D4DDBE41981505450A15489A /* AutomaticEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = 10BD821A48D3E7A4F66B218C2B99D9B3 /* AutomaticEvents.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 557B1424C9E580FE722BBD51C4205D3A /* YapDatabaseFilteredViewConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BA616EA96B4574E110507368CDACD38 /* YapDatabaseFilteredViewConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 55BA47AD7F26C34E41EC9F08AFABBEAB /* OWSRecipientIdentity.m in Sources */ = {isa = PBXBuildFile; fileRef = 80B2B15E60142E2C6CEB342793F59E6C /* OWSRecipientIdentity.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 55BF5BAD92CB070D295F9DDC8C4D3047 /* FIRAppAssociationRegistration.h in Headers */ = {isa = PBXBuildFile; fileRef = A52F73C0A3F96834C47FDAB46DF3EBCA /* FIRAppAssociationRegistration.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 55C5C1852D6C3F13BFB1C06A4DC1C810 /* GCDWebServerResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = EF93C1C073ED30E2023E71CD85CC7488 /* GCDWebServerResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 55DC059CE5020E244CB1965AC20524FA /* MixpanelType.h in Headers */ = {isa = PBXBuildFile; fileRef = 75256CD8F6DFACA3D031FB27B6196932 /* MixpanelType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 55FA291E8E7D10B5B4194BA24A319668 /* OWSOutgoingCallMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = AB919F90965FCF54CFCE5C059C9E5240 /* OWSOutgoingCallMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 560268DD6DD23B9641347DEF7AE352C7 /* YapDatabaseActionManagerTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = D5DCF6C1030AF788AA1DC245AD7BA793 /* YapDatabaseActionManagerTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 56286FFAE158CE1F56D9976030EEF4B2 /* SQLCipher.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 086B66EB1446232C6C359E0A1A3C53B0 /* SQLCipher.framework */; }; - 564457526E797900AFAD9EF734097BC4 /* YapDatabaseFullTextSearchPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = EF4534424B5A3D8B517C4C491BE919EF /* YapDatabaseFullTextSearchPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 56721F54D45B5F2E61F249893E9F9559 /* Enum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8528A63B4E7409048FE1901945B40DD2 /* Enum.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 56798796FDABC2983A400B468AC15DAB /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5DB8B6CCB6FE86EB367E8C5771D233D /* NetworkManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 56B03EB09DFDC65C8C2D2228025681FE /* GCDWebServerResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BB1BF2421B01D31E08871F19F604055 /* GCDWebServerResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 56CBFCB28C617F10FE1D3A7E971428B2 /* mz_strm_os_posix.c in Sources */ = {isa = PBXBuildFile; fileRef = 550B1E79EE1D4C5F8069449BE1931950 /* mz_strm_os_posix.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 56E8A00FA1B24984F009DD38F425C049 /* OWS2FAManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B273985EE1118B55015BF2DC0E9B1975 /* OWS2FAManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 56EA1C88A847B6AB6F5DEEB57C30B81F /* YapDatabaseSearchQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = FB3C9849330AF28CFB5B98164C4D06F7 /* YapDatabaseSearchQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 576328DE7C776DDDF7F4E5EF55DBE49A /* ContactDiscoveryService.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B5C9002765D5BA3DC36A233277B1CD9 /* ContactDiscoveryService.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5797DBBC310950F4D57B0191F554A5D6 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = C32B22C1146F4D40B78E1600F0F77A32 /* BatchedCollection.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5799A50018C2BF753F32C6546F2B48BF /* SessionCipher.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C238F9755CBB130713A9B345197D765 /* SessionCipher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 579A3374FB6EE0B8645F154F909E7EF0 /* fe_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = 151530D69883F9287AC7ADE595B3C7D5 /* fe_copy.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 57CFA722841FB540CD61B871FF30DF7D /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95342B2FCCBD8EF1BEBDF18C2BFE917B /* HKDFKit.framework */; }; - 580C2A128587665E2E8EDC85CB263448 /* GCDWebServerDataRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = FB6570720F4D9645ABF5112B117D96D9 /* GCDWebServerDataRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 58134CA19A87668ACB975712D5E7BA6B /* FIRComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 278DC2A69FD599A123CD97F2A0DE1362 /* FIRComponent.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 5828B12BC5BC98774C137491998B63C2 /* mz_strm_buf.h in Headers */ = {isa = PBXBuildFile; fileRef = BACD11363E279231D3FE43121B4F66D9 /* mz_strm_buf.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 58814606A540BCC3919DFE594B81B2C0 /* MPDesignerEventBindingResponseMesssage.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F4C9B04A67EF8FBBB1A3EB5F652425B /* MPDesignerEventBindingResponseMesssage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 58D2F8374D0106C4A881D469C98594FE /* ContentNamespace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086366D1979E02CDEB4BE58898558746 /* ContentNamespace.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 595ED74EADFCD49759546EF0EAA846C1 /* YYImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 53F14EFB1A105436762CAFBB43532367 /* YYImage-dummy.m */; }; - 596BA6CE9A6B9280335D38CBF7980CFC /* YapDatabaseManualView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F84D9E5CFB1D75926D72005DD2A77D1 /* YapDatabaseManualView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 596F006A10512BC8691A91A97E4E00E8 /* OWSReadReceiptManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9BA5F142584566FE324351DC8EBAFE /* OWSReadReceiptManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 598435E20755681CCBF61B788C05DCAA /* SSKMessageSenderJobRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 151183CD65D1026EA03F59D6F4E33C17 /* SSKMessageSenderJobRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 599E37B951DFA0B0C58C57AFBF8C5F94 /* ProvisioningProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAC9E11C30E1748ECF55A065B1C9A155 /* ProvisioningProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 59B14EA99393C1A6C7FE01C98D7FC170 /* SMKUDAccessKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C75E5F0D1445C254007BDCACE67837 /* SMKUDAccessKey.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 59ECA4845286B6FD6ECD6336829E83A7 /* OWSIncomingMessageFinder.h in Headers */ = {isa = PBXBuildFile; fileRef = EF3333DC2503A7F6F4B3EFC4142FF639 /* OWSIncomingMessageFinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5A031C093F9330678B7C7BC098081BC1 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB2C213D7360B50A137A689BE067F6E6 /* HKDF.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5A3BC9A2A3C83C72EA278A2017DBBFF7 /* YapDatabaseFullTextSearchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 2711D1AD5560C23E5419C842DE766D0D /* YapDatabaseFullTextSearchHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5A753D158D981FAA7EB3D7F39086EB70 /* OWSIncomingMessageFinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 261FD7252756ADC481EFF746C3C219D0 /* OWSIncomingMessageFinder.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5A7AF28012914CBED824737EB7F07901 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 243AB39BA8DEB501EB1429C77F309526 /* Accelerate.framework */; }; - 5A9F1BE9C0AA3182E568CCC48AC430AE /* TSCall.m in Sources */ = {isa = PBXBuildFile; fileRef = 45820D1BD757D360E8A0A5EE9E5053D2 /* TSCall.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5ACCABFC81976965CF2B1D36FEC57E1E /* MPLogo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B9041D76E011988971FB9F3972340130 /* MPLogo@2x.png */; }; - 5AE0899D18CF03B8DDF02D6828CC441C /* AppReadiness.m in Sources */ = {isa = PBXBuildFile; fileRef = 73E0513980676F3CA67BBEC8C4D54243 /* AppReadiness.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5AEBB318E8AFCD4346A974BA2078881A /* YapRowidSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 8387E64BA8981A8E1F64B86BD8C871B3 /* YapRowidSet.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 5B27EF561A29D0CDC53AF9A093BDD733 /* OWSProvisioningCipher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8994A4C39390E5F779BD010A2FC99773 /* OWSProvisioningCipher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5B2C18A4FF9B2A3457FE36F2BE76B864 /* MediaText.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8EC4C2CA4500ED9B452DDA94677154B /* MediaText.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5B41005A2F5654D130098E78E8D7D3EC /* Data+SMKTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F4EE810973AA3AB39B590B6E0A5C276 /* Data+SMKTests.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5B478161FC4F654D215583F9236ADDAF /* AtomFeed + mapAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC523AB27FCC648A185067B162074571 /* AtomFeed + mapAttributes.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5B7586C7F2F35D7CAEE877736A38698B /* MediaTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 361863AE9BE5AA06092743C5C9847B03 /* MediaTag.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5B95315F714AF174D28274F49419380A /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 10678AA44871B0DFF6411C2C98C7B65A /* PromiseKit-dummy.m */; }; - 5B9A7FDEB42990A09CFE128868284BC0 /* YapDatabaseCloudKitPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 773FD0F306D421613F65D5486F39E462 /* YapDatabaseCloudKitPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 5BABC40F5BAEDF7D61D04984472089C6 /* OWSIncomingMessageFinderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F1F8DB6E3BCA46B27EFA0FBBFA4C667 /* OWSIncomingMessageFinderTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5BAC7D924AB439AB6D0A453887B13B1B /* TSDatabaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 336A934ADA930B34456BD10A5D7D3AEC /* TSDatabaseView.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5BB036BBEA2C47999F6AEE58AF6BC4FD /* YapDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = 1899DCCD974D0FB7106735EA27BFFBB8 /* YapDatabase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5BC582C60FC8A826EA42C4DE37801C83 /* PreKeyBundle+jsonDict.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B5428DB11A994F8FBE4B205C104490D /* PreKeyBundle+jsonDict.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5BCF12D243CBFED89C6490287E0D630D /* CryptographyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 93EC963F1C0FFBF14B5FE86518994CAD /* CryptographyTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5BDEBE657CF70F4C277B95A1B16CC45A /* LokiAPITarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D08194AD12F0A23EDEB22601DB0B593 /* LokiAPITarget.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5BEC0B66BC65CCC20620B91BADF121B0 /* SSKKeychainStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A47A563C19FC34B021E85514A53EB162 /* SSKKeychainStorage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5C0970EFD1B99DB2D7EFA15C28AE034F /* WireFormat.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF1607CC45D77A07BF0E125C9F9022FD /* WireFormat.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5C19E1DE6131D425456AB57672C21A7D /* RSSFeedItemGUID.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0ED22839210D72A8F8D99A82A3F9D0C /* RSSFeedItemGUID.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5C219E013C9A9B8E8BE37ECCA452F416 /* MediaStarRating.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E7568D3C6422033944E32ED03252063 /* MediaStarRating.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5C48EA828FBE25E6C32551FB40626A70 /* MPNetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = FC89B178536BE1C8C9F98C39A9409980 /* MPNetwork.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5C5381147ADE23DB854A802FDC25D7E5 /* compare.c in Sources */ = {isa = PBXBuildFile; fileRef = 6CBA6AC9BF46488BF20B568D3E847EA5 /* compare.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5C61A2D92CC2A94D50686ACB31A78C9A /* Data+OWS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0205448879DDC46ED079C7B1F354BDD5 /* Data+OWS.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5C7D7EB68283421D53F6235A3FCAE510 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4300FBD3AAC0B1C67C6F69A9C765375B /* CryptoSwift.framework */; }; - 5C803DA984B2CDCD87E86E9BBD2CBA41 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F7993D01DE96F7753A686B12C1C44FF /* Curve25519Kit.framework */; }; - 5C806400E8105B6806A3E5387CF16974 /* GCDWebServerFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 165AE690B04C9230556F5B6950B23CD1 /* GCDWebServerFunctions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5CB0823A3C289E088BBED02A14C8086D /* SignalCoreKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 439D4E53A4C0F9EED2C5C94B5E4E871E /* SignalCoreKit-dummy.m */; }; - 5CBC56409F4C6BB854213E0F60B4FFBA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 5CE84359DC13528D1CDA36EE33AC0F9B /* Curve25519.m in Sources */ = {isa = PBXBuildFile; fileRef = 9759C51DB3F7732DF508F9AC8822E80D /* Curve25519.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5CFC34E010CD2895E9D6B79DD9E6649F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 5D6558FE9E662F8E61C77248ADC4E7D9 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D67C064D913627F74DAD370151C3556 /* BlockModeOptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5D7F0001544D0096D418BAA81A7C32EC /* AxolotlStore.h in Headers */ = {isa = PBXBuildFile; fileRef = DDED2C3FEED917DF16D7EBCAFA5271F9 /* AxolotlStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5D90929FEFBB61C726508BFC6FB715EA /* OWSProfileKeyMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BBF6956EFB8A5FAD0299EC9A2B1B6D6 /* OWSProfileKeyMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5DC709A01265AC2AC5ABFA6AD37CF265 /* YapDatabaseQuery.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BCFCF7F32FBEAA223E282BD3B5376F3 /* YapDatabaseQuery.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5DE6139A27B5A4E8BC1DB10B99F658D8 /* GCDWebServerRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 72F1B6434AD63E59A1DFB8A38D29BC15 /* GCDWebServerRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5DE62DCAD431070383C32D5E63E6B3D7 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3843F4F9FCDD989A9A60967A6BABEA64 /* UIKit.framework */; }; - 5DFF785437F5272188701842A20C835E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 5E08A977C58517F54B23868BA028C727 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - 5E2215A716813575FFEA9098BE6F59BB /* NSString+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = E13E5F9068320F4161ABC492BE68A8B3 /* NSString+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5E32D7B8591833B65D8828DD15125C7E /* MPSequenceGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = AC4E24B5A4F640D4520DAE413206459F /* MPSequenceGenerator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5E64A3C78939B4F552612AFD82E88B22 /* TypingIndicators.swift in Sources */ = {isa = PBXBuildFile; fileRef = B89ED78F6254D2201FFDCE0189950775 /* TypingIndicators.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5E8D0C4A2C1820458964ABA776C1A364 /* Google_Protobuf_FieldMask+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A442509EFBE932FCDDF1E413A021DE /* Google_Protobuf_FieldMask+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5E8E21352BE01DB1335F8DD0363F5E85 /* SMKUDAccessKeyTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EC0618809333DA51F7CB755F9FF5CFE /* SMKUDAccessKeyTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5EB2677DEAFF3C4112709E4B615020A2 /* NSData+Image.h in Headers */ = {isa = PBXBuildFile; fileRef = BF593168517D803EBE08D696483921C1 /* NSData+Image.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5ED7ACAE1087EFFA77C0027AB4765B6D /* ECPrivateKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE057F396BEF9C563941FA95CBF10B5A /* ECPrivateKey.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5ED95AE2797C7D100002904ECFDA93ED /* YapDatabaseViewOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = A2B839486B8FFC190EDB97D84B0A4714 /* YapDatabaseViewOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5F576D26BE7D050D13090D3ABD88D301 /* YDBCKChangeSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E9BF71F88126CD7B952848035FB8C5B /* YDBCKChangeSet.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5F7858731C8268D007EEEDA49CDCA74C /* GULAppEnvironmentUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 86178AA39F3584C065BDA03462A0A67A /* GULAppEnvironmentUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5FA8F330A80BA00C2702A46033831DC7 /* Cryptography.h in Headers */ = {isa = PBXBuildFile; fileRef = 9723F88DBD0A06C6F601B998AADD9113 /* Cryptography.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5FB300EC5041E8F0EF2D2AC2197BCF86 /* NSError+MessageSending.m in Sources */ = {isa = PBXBuildFile; fileRef = 68828932CFF1787DEE1181C5C4504EDE /* NSError+MessageSending.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 604910B3C6CAEDA1CD0265964DFCF75A /* MediaParam.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58CE60D4CC07BAEEC2BA43C9CBC68E9 /* MediaParam.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 60553E219CA34C04F25D8337DE728EBB /* MPABTestDesignerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AEF6C3EE48478ABEAEA3E43D68D8F07 /* MPABTestDesignerConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6081B4263C0E62303C77A0CB632DA162 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A957678EB63778045A631B1D06987B3A /* AFURLSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 609E06606874D5DBC711DD570E2E5232 /* OWSDisappearingMessagesFinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 312346232AE4302E70F79EAFBD0C935D /* OWSDisappearingMessagesFinder.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 60D219DC28E118D9F3FD5E4E6C0545D2 /* api.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A9FBBBE6FA1A067905371BE007E939C /* api.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 612F5DBE03502839FD29157E771F0A54 /* YapDatabaseSecondaryIndexSetup.h in Headers */ = {isa = PBXBuildFile; fileRef = ED6965B9C0E2FD5F422DEA391E466ACC /* YapDatabaseSecondaryIndexSetup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 61572A38CC399B4211F1F8222328E492 /* YapDatabaseSecondaryIndexHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = C700D535CC375C57BA382CBC5B21424E /* YapDatabaseSecondaryIndexHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 618CAE4E65934E3F4107A9D420D2D41F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 61938CDD9BB98ECF1EBD3EA966C9CE1A /* OWSReadReceiptsForLinkedDevicesMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9887FCC46B6179E30DD0F80CD591E106 /* OWSReadReceiptsForLinkedDevicesMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 61C9D04979D49CFDD41E335491528CD4 /* Mixpanel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CC5E41B142D6BB650906A6E3A6020C9 /* Mixpanel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 61E66E5CF790905620147609AB81A8B6 /* OWSCallMessageHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = D96B50915CE1AA3EE92787FF6CC13061 /* OWSCallMessageHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 61E78321CD7C256DBBE7D9D7F004DEE0 /* YapDatabaseViewChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 9018D4DEFFDDD1E7D8363F2DFED7EA05 /* YapDatabaseViewChange.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 61E8643C6D50FFBA2ED6B31AD20A4DE2 /* YapDatabaseSearchResultsViewOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = C4ABDA89885EB7E86E313111F822AABF /* YapDatabaseSearchResultsViewOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 61EEF904A7D33B16190314EEBF11B6A4 /* BuildConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBDE26F203538540E34A1F0EDA65A045 /* BuildConfiguration.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 61F7EDDEEF5DC7867CD4E8EB86009D1B /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 6595D73E4A325559B1A725306B115376 /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 61FAF1CE1D49EFE75FA9074255C00B63 /* Ed25519.m in Sources */ = {isa = PBXBuildFile; fileRef = 2759199DA11DB5D729AD9A1A8665889A /* Ed25519.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6202693BF2A7571711B93572A7F20D65 /* RSSFeed + mapAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06965CCCEC6D051D3E8844AEFB4E3D10 /* RSSFeed + mapAttributes.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 621280C3AB2670120396CC1D89BB85C1 /* NSDictionary+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D500C35B4EDDF1999AEEC71032CC76 /* NSDictionary+MTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6261AC04E0F7490799C44E228C67288E /* MPCGColorRefToNSStringValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B8181C4AD215A6D442494EDC9B841BC /* MPCGColorRefToNSStringValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6266EB4C7EBDF2808E1F766251F0E107 /* compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 26BC71143B85B01C5BCBDF83D5F66FD7 /* compare.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 627741D7B228539B5D3B8BEF2687E3AE /* zeroize.c in Sources */ = {isa = PBXBuildFile; fileRef = 02AD020F737652B70AF210C785072CB0 /* zeroize.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 627BE9CE3879C0396F26BD539B0873D7 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C52B1D13C964ADC6E75D4400E74B148 /* Scrypt.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 62945012DB7F0A1EA3B8B59D4585322A /* FIRApp.m in Sources */ = {isa = PBXBuildFile; fileRef = AF18900FC5D10267E059D8CE5C10A308 /* FIRApp.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 62C1B88B6693FEC3C83F53DE32647CEB /* metamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E75E950F47B18065BEAC72D78A3DB816 /* metamacros.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 62DBF8AFF1CB7FFF8FDEE114DB38A0B4 /* MPUIControlBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F8556E101464EB0C28178841AF6691 /* MPUIControlBinding.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 62E6DEC59322D1713D23B923E9AFE2CA /* FingerprintProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = A211DA5E3A035266672220211FF717E5 /* FingerprintProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 62F2D280434DE1E1448A4355AA4047F1 /* MPDesignerSessionCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AA0A32B7493D52E559F573D0D6358FB /* MPDesignerSessionCollection.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6340B9AF306609A7E5294646668DCA63 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 84FC3C6188310F0A9E47C09F6A7CA252 /* DDDispatchQueueLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 634D8401D7635CD0BB13DA81AAFD0C53 /* MPUIControlBinding.m in Sources */ = {isa = PBXBuildFile; fileRef = 057677C8FBD4470768FBCB39C3EC00E5 /* MPUIControlBinding.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6377840DC2BD6F92263C5BC75FA2C5D8 /* MTLJSONAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C68DAC6E54E19A56CFA518CA6A824F /* MTLJSONAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 637ED90861D8B284305805E01BB13D9E /* OWSDisappearingConfigurationUpdateInfoMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D9BCAF8A6AE70873E602EC505A70B7E /* OWSDisappearingConfigurationUpdateInfoMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6397BD4E607586227D858ACAEC89A93E /* SAMKeychain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E010FFA0D46CC76E71CC8200DF1A6C7B /* SAMKeychain.framework */; }; - 63C8F054659972BFE87A3F67FCCA3640 /* MPNotificationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D7F51C531866AC8E43828F9835918106 /* MPNotificationViewController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 63D2B57D611D5C7CEB3A06F825B0E92C /* UIImage+MPAverageColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 65ECBEFC5A8B05440DD13175BB9A17CC /* UIImage+MPAverageColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 63D80744C7A755AB623D6A1F2251C9AB /* SFSRootCAG2.crt in Resources */ = {isa = PBXBuildFile; fileRef = E792234E117F3731D72C010720FF5298 /* SFSRootCAG2.crt */; }; - 63EF2D8667CD30FFAADB3900B08D2607 /* YapDatabaseManualViewConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = BA74BFCE17FBCAD12FBB95D356EFE536 /* YapDatabaseManualViewConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 641AAF0D1AC1BD012ADB633878F80626 /* YapDatabaseViewState.h in Headers */ = {isa = PBXBuildFile; fileRef = A49B266D072F37C43C94D0EE40EB9BE2 /* YapDatabaseViewState.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 645D3D647E419C49F1E1F6EDD870DA4E /* TSContactThread.h in Headers */ = {isa = PBXBuildFile; fileRef = F0A28577E20F3B608EACD05B663FCA38 /* TSContactThread.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 64673F7277EE9CC9B0D4A13127013349 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F7993D01DE96F7753A686B12C1C44FF /* Curve25519Kit.framework */; }; - 6476E4492CD132288A96E63B96235FAA /* LokiDotNetAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C59F97D3B831CF5F8ABBF60177C812D /* LokiDotNetAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 656322C64A1AACC2E8CD7D5E70D90E69 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - 656C512C5FFFCCB3C635B6A042BA667D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 6572FC72FF5F06EF537783132549C36C /* SSKEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = 207A5E89B774BA85F2CE7215353EA1B8 /* SSKEnvironment.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 658CBB40A83BD3DCFCCA23BFE56C4AA2 /* MPObjectSerializerContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 870F09801A308B1355253D1BCAFE56F9 /* MPObjectSerializerContext.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 65EB3E82A42D614E2363DC162F96A384 /* BinaryDelimited.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE0724ADA3274546D19D70FB055C2EBB /* BinaryDelimited.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 65ED51C426BA9564CBE3D89AE0B4664E /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - 6603BADFAF8FD27E26FA4B6873C28B2C /* YapDatabaseAutoView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C516311947693C3C215F9AEF323C6BA /* YapDatabaseAutoView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6608CB408528E7F64EFE83CC5F60369D /* FriendRequestExpirationJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1652892E287CA62F0C79C090E318C /* FriendRequestExpirationJob.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 666516AA7218E8E092679C8C0531883A /* YDBCKRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 23BDD2DF8DC7C8AA4509CB97B8FE4202 /* YDBCKRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 669BFBECA6B7ADC675747096C3AB6341 /* SignalIOSProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCBC545974A74E8CCF036D1DC7AF20B0 /* SignalIOSProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 66B4FF16F2B7664A3D603DF30834D31A /* TSYapDatabaseObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B6A110446A112F296195DD6DAA40F39 /* TSYapDatabaseObject.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 66D0FB74C0F8673F35B89407E96AD085 /* MPABTestDesignerTweakRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D4F984B3985C5184DC80ED5B7621683 /* MPABTestDesignerTweakRequestMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 66FA45F7F25F037D514CB3672F4F7EAA /* RatchetingSessionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DD17B5ECE25C0A918D4912FACCDCEEE /* RatchetingSessionTest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 671B31BF54AE036A0F02D988D19AC824 /* MPDismissKeyboard@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = AB1F7A92067DB667EF588846AAD61703 /* MPDismissKeyboard@2x.png */; }; - 6726B593A7851344FF9A15E5FFC04EC0 /* MTLModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E96F49785317533346C070AFC4D55E0 /* MTLModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 673670398792241213C75211A1C44E6B /* MathUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1D9CBEB06C9973EE3737BCB466BA69F /* MathUtils.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 673F39DF23D28EBD72A61678273AFE6D /* MixpanelPeople.m in Sources */ = {isa = PBXBuildFile; fileRef = 9074A93112FACA0358774D53A6B49030 /* MixpanelPeople.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 676EDE641D014E7509C6B57C96BE3F33 /* Curve25519Kit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 358EB474C92B8F1A9B1DB43EC292F8DB /* Curve25519Kit-dummy.m */; }; - 67A823B56E9580432EC927E6DF2555DE /* MPTakeoverNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = C392555180DEC38836CA183AC9D5B7EB /* MPTakeoverNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 67ABDBF3214D63DDD8DA2A225CF8769A /* OWSDynamicOutgoingMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 01014B6B4EF3F33950E6F78B1FB4C392 /* OWSDynamicOutgoingMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 67C27BBD1FC1D888022133F272EAECF0 /* OWSFakeNetworkManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C18A796F9B2FCD0BD574AD2BAE8CDC2 /* OWSFakeNetworkManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 67D44B455D0B2880A07DEB4D2673A82E /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE54D93E34B0BF04C85D1D781748F341 /* Version.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 681761CD41DBE13CC5EA65BCE8A805F4 /* mz_strm_wzaes.h in Headers */ = {isa = PBXBuildFile; fileRef = 134DCC4A0B4346DC3A325B41398808CF /* mz_strm_wzaes.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 684EBEAC88CF868BC1B639CC1D864F89 /* PreKeyBundle.m in Sources */ = {isa = PBXBuildFile; fileRef = 64379CA087552E1F00514F4E431E67E0 /* PreKeyBundle.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 687CC6F859E6F3025EB2C3652D730CA0 /* fe_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = BEBE6289A96397C3332FB13DC166C681 /* fe_mul.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 68B03BD1C40408D52C4D3AB669F713EA /* MPSequenceGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 55D042AE4D9C855084371B5C13BE5D47 /* MPSequenceGenerator.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 68C6A1E5416C1256DF9155E6AA071EE6 /* YDBCKRecordInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 15C7DCC5E70560E1A87B72B59568FD3D /* YDBCKRecordInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 68E2D00D8EE600403D99009FDCEEBB0A /* AxolotlParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = DF9C1C6FF72B98CC72CE85F3D827697A /* AxolotlParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68F24546CBBD00A8617FB94D743B805F /* NSUserDefaults+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 205C24276CC6B9FB6D0C1955AD662B1E /* NSUserDefaults+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6907A8A10DD25DFE9C7F73696C0ED204 /* HKDFKitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D12446754551A6BD4EDC0D4DEE22025 /* HKDFKitTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6910FEF3545214742D988E239708FFF0 /* YapDatabaseSecondaryIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EE49DB0D7927BEA6CB565ABFBA8BAFA /* YapDatabaseSecondaryIndex.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6954FA6A4C9D26A97AD4AFC2542B786F /* GTSR4.crt in Resources */ = {isa = PBXBuildFile; fileRef = F5A9279D979F57C0FD5CAD9DD2DECCC3 /* GTSR4.crt */; }; - 699D905B7F4A764D86B49747828D18D6 /* PhoneNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 54D7194D1D21E048627A186740338C4D /* PhoneNumber.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 69E02FBF6E41A07E0F5CB6791A28C425 /* XMLFeedType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A6B5751445F2B3B822DE4172ABB328 /* XMLFeedType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 69ECDAC10ED80F99CE6B26A154C5C38D /* PromiseKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D432B892D2EF3509AA9D80EA8B8CBDD7 /* PromiseKit.framework */; }; - 69F36718C8993ADA24BD6E6EAA77ECCA /* Date + codingStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4937BA7C6A0104AC86EED278EA169D6 /* Date + codingStrategy.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6A1D46C201D56C9B71EFE694E9EECF66 /* Pods-SignalMessaging-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 06896773E2CCB1F3101F2445BC6DF9BD /* Pods-SignalMessaging-dummy.m */; }; - 6A20EA032110ADE683BB6740A2CDC0F1 /* OWSIdentityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 54E9FC430E9F5E0DC3567A49CDDC905C /* OWSIdentityManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6A2C585D2DAC2BCB1E0FDDC3AE1C56D6 /* YapDatabaseCloudCoreTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 70F90ED168D95F782FAEC04558EB26A2 /* YapDatabaseCloudCoreTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6A3FCBB2486AD9D8ABB664029E8206EA /* OWSReceiptsForSenderMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 74301BF813B91BC6AB9BD320C1FEF1D1 /* OWSReceiptsForSenderMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6A727B3A06392FE6B38D8F235A5E4E0F /* RSSFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03EB26E5B8485846B0BC4F46CCA0499C /* RSSFeed.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6A88F722DE94C465152879A5DC9F4357 /* OWSOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 25E161F1874C26DE8B578DCCCCC95431 /* OWSOperation.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6AA18CD780B3B9296CEFD1D03600E88A /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE8A1BE8035D9DAC40B30425C261D61C /* CFB.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6AA363ABE1EB46F69ACAF6BAC73CE250 /* NSObject+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = D6BCF0F988A75417EAD1FB6AD6EA33D7 /* NSObject+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6AB2D604018721E470F084967F3B87EC /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 105A6FEFC45DE9C8B89ED32FE6A7C501 /* Security.framework */; }; - 6ABD754026A962C3E4E97B6A6C4D8FAB /* crypto_int64.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF03B4D763F3B38B29ABE708B92F9CE /* crypto_int64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6AD7553F797DFE0FA083E2DBE8AB0347 /* ge_p2_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 5F38605080B1DCD8447A367A443F7248 /* ge_p2_0.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6B2A5EBEE7711DD4E87E73F4904EF73E /* Curve25519Kit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CB46FD4F938B3DFBEA38E1FED64D9AF7 /* Curve25519Kit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6B328F2D934F21F296C394AE6CFE6901 /* SSKProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC22AA605F05810A4810CDFFFB9AD035 /* SSKProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6B55A85A8BFD949A07E6B53CE4FDB5D4 /* LokiPublicChat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 079289A25823AFD98CBCDC9BC69FCE91 /* LokiPublicChat.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6B5BCF95F0542BBDA68664A8E10A16EE /* YapDatabaseCrossProcessNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = B08B827F80ABEBBA911EFB5D8D516BD4 /* YapDatabaseCrossProcessNotification.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6B74B43463E86A42356A50CCDE218A63 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D1FCB05B64D6B37B8EF1364672EF3312 /* Starscream.framework */; }; - 6B74F9C76824CE53BC236672F8CC0F3E /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 338696C772A8AD46E59905D7C510B226 /* PBKDF2.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6B7D6EA0A4EE36F96B52A326DB51037F /* Mnemonic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B16464D9FF3CA817BE7FC886AAB14FF /* Mnemonic.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6B8F44193469FA3F7F2790765C74D7B1 /* DDDispatchQueueLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = CA15015261EF2441A6D51249D641FFDB /* DDDispatchQueueLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6B9DB8B31AA05E3A9EB30E666B2393AF /* SessionRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 48C41109D889E4AAF74E952A1C4BD569 /* SessionRecord.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6BE92D2D6100A843CE1F4FA0335110D5 /* IdentityKeyStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 67B34FA51A79103A772986F869817CB6 /* IdentityKeyStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6C25C6CF059672AB5819C641CA3E659B /* SSKProtoEnvelope+Loki.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1A8E15237373781359E0058C77AB08C /* SSKProtoEnvelope+Loki.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6C53CC6D727A92BC458F3F9DA4947DD6 /* mz_zip_rw.c in Sources */ = {isa = PBXBuildFile; fileRef = F0BA8C9AD26346A43AC6975F27C89C77 /* mz_zip_rw.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6C6F4082DEE8A33C0914B39BB1307022 /* YapDatabaseSearchResultsView.h in Headers */ = {isa = PBXBuildFile; fileRef = B98C89CFB503B20AF7272EF131716B0D /* YapDatabaseSearchResultsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6CA627DB8E1D6D0F4EB4A1A1A935C85E /* OWSRequestFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = E84F2527C9022ED5EBADFB8631ED83D4 /* OWSRequestFactory.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6CAFF783B269D2DCBEBD76EA1DFB3A4A /* YYSpriteSheetImage.h in Headers */ = {isa = PBXBuildFile; fileRef = D98FA984AFCDB29F6FC5F257ED273030 /* YYSpriteSheetImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6CB76CAD67A561DA601534A7515A888B /* TSQuotedMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = D423EBEF4B95EF4763D103BDD5107D2A /* TSQuotedMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6CBAC6C21F8838BD10F580145A822E47 /* OWSVerificationStateSyncMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = D2F9530A2AB33AD33D87397CF6F75FA6 /* OWSVerificationStateSyncMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6CC33A4F69BA3B068D4C4AC7C10D4DF3 /* MPArrowLeft@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6F47D26ACF68517B622CD007F2C2CCF3 /* MPArrowLeft@2x.png */; }; - 6CC50948E65436E7B2299B1348AE81BD /* Google_Protobuf_Timestamp+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12753154ACCEDB48659D698C1BAAC2F0 /* Google_Protobuf_Timestamp+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6CD3107B50D965BC208D63E25907372C /* SignalRecipient.h in Headers */ = {isa = PBXBuildFile; fileRef = E310F9540CD7A02E7EB73EC272787C15 /* SignalRecipient.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6CD39DBDD745666BE283CD646CEA0399 /* OWSFakeCallMessageHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = CA34D58A59B0DE60CE5B204FC56EBB80 /* OWSFakeCallMessageHandler.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6CE69E933C1049C66F26C3E74539671E /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F18DD72F5662FC5E842D3170FF1942F6 /* Collection+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6D3EA5E5C38B133F3FCD2CC618360CFC /* TSStorageHeaders.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CBF27F5BAD1456ADFE984CFC2C0CF77 /* TSStorageHeaders.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6D7EC38342A4EA43AC3E187F4405415B /* YDBCKChangeQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 64A4AF96274630F8F28C6AF2BAF53FE2 /* YDBCKChangeQueue.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 6D8AC43977D248FECD2AFD25FCFC2C7D /* MixpanelPeople.h in Headers */ = {isa = PBXBuildFile; fileRef = EC66FB4EADAA5684B23663D455A512A0 /* MixpanelPeople.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6D9F243553019559BB80D4275E18AA27 /* MPCloseButton@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D50E85DF7F351B42812C4C8AE52A635B /* MPCloseButton@3x.png */; }; - 6DA7934F52B84314ABBCD6FE0485769B /* JSONMapEncodingVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76258C6D6605EC7280D910A44B0080B1 /* JSONMapEncodingVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6DDB123FAE92445641CCD0312EE248FE /* YapDatabase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 97E57B2BF9B3F4D08A12C3BB89C2A42E /* YapDatabase.framework */; }; - 6DF059C4AA4C0F55B99D884D9129446F /* MediaPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2F494158FA21A4FCE53A84D58923185 /* MediaPrice.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6E4FE230848DA6864979B6A9902A6766 /* blocks.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CA91D14EFA1C207841D6EE98C2C4FD7 /* blocks.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6E56EA4FCF8CB9B0432B6D2389DDBB86 /* mz_strm_wzaes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9EDA869E2ED2BD224EE985EA1C1739AC /* mz_strm_wzaes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6E800183A7C3832F0CC6DA1596060A70 /* Pods-SignalShareExtension-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 84A11E57646029A88666DB52351150B3 /* Pods-SignalShareExtension-dummy.m */; }; - 6EDA64AB9EC8C4D2D0B547F2B1E4E56B /* LKFriendRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B27BB235DA5AECC554338FB2C37443A /* LKFriendRequestMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6EE2F0EC10A50532BDD128684729C3B1 /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = A65E239E58A2765559303A4F00484002 /* PMKUIKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6F04C3047DD210C11F99E2D540D591DD /* MPTweakInline.h in Headers */ = {isa = PBXBuildFile; fileRef = 241F9EA2DF08CF77476696D3DF7C14F1 /* MPTweakInline.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6F1ACA46D35DF50C1782012B40A753D2 /* SessionState.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F8D9125BBA4098BED5D80E3B9D5A261 /* SessionState.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6F28BA82FA7EAB6D1F73F01286AA0442 /* RotateSignedKeyOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDB39EC974B3C7DCDDDA751DAFE9B919 /* RotateSignedKeyOperation.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6F298201427373AF71B1E4F657FC1C94 /* NSObject+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B9A36CADE911527DFF3A46AE894DC26 /* NSObject+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6F4370EFC44F23769BB3853F8BAA5F24 /* Mantle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBD7C83FEC618F35E95EF7AF700AF4B9 /* Mantle.framework */; }; - 6F684858C333F54D750BE4124FA2E35D /* MPCGSizeToNSDictionaryValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 10AAADB6C78CC406B7ABACDC6B10FAD4 /* MPCGSizeToNSDictionaryValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6F7E44D944DB17D3106D49B8288C41B0 /* String+Trimming.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E8525709A0114B7139F14AF29AC263E /* String+Trimming.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6F887A36A628ADC6BDAC339B747E9777 /* duration.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6BDA8C7C46C23DDC33CF7C07F338CD1 /* duration.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6F9CFDF197C2758F2C2FEA6BDBC7FD94 /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = AA376EAEA5C17AD03826E971855EC3F2 /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6FE056FD9C01D76850FE01118904A091 /* TSGroupModel.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A834CB588CC43BA640758DFC78EEC0 /* TSGroupModel.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7005DD4F25308BCCB1D9DF4C216EBFED /* ge_add.h in Headers */ = {isa = PBXBuildFile; fileRef = 4530D79A74C810BF67095E4D4116870F /* ge_add.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 702B6AC7117A76EB7E942065E1021A9D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 105A6FEFC45DE9C8B89ED32FE6A7C501 /* Security.framework */; }; - 7054183F627EE6C51195CFDBFFAE3BF8 /* MPSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A92C834F45FF04010FB2728B1FA18 /* MPSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7057BFD03A482B153E112DF208740465 /* MPCGAffineTransformToNSDictionaryValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 593161C4026B72005F531D8B41148D10 /* MPCGAffineTransformToNSDictionaryValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 706FCFB43EF71B18987847618CBFDB23 /* ge_scalarmult_base.c in Sources */ = {isa = PBXBuildFile; fileRef = E71CE8AF2DA14F2E8C38F7DF7BEC715E /* ge_scalarmult_base.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 70BBF9A82E7C720EF7431224A573C047 /* MediaRestriction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85787A1764F254298B4FD33875034603 /* MediaRestriction.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 70D584E167E57E5B7C39D71E09F77FD8 /* YDBCKChangeQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 663321A34D9A5AF19A297977B77E1C69 /* YDBCKChangeQueue.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 70EECB94A50FE4C117B27BA92388DE95 /* YapManyToManyCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 46E3E93F256C17E4DB4570B4C4BD448A /* YapManyToManyCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 717960C6AA554C7A73362A138099AA28 /* sign.c in Sources */ = {isa = PBXBuildFile; fileRef = 7D1FEA4505091CA001FD2992C7A14CE4 /* sign.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 719DAE00C479AFAA019E0D97EC47AC94 /* AtomFeedContributor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C83E24C043AE05487C0EFA61589E3835 /* AtomFeedContributor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 71A9DCAB6AFE677CC5EF34DC08FA5577 /* MPNotificationViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 72A35030DE9F2993AC685BCC0F6D75C8 /* MPNotificationViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 71CE7AC02E92297A62D6C63DD8A4EBE9 /* FIRErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = FFAF95FD4EF88DF7142B10DCA60C71C1 /* FIRErrors.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 721953F6826826A4078652F4644BECCD /* TSMessageTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C99E65CBF2655DA94042ACEFE089E29E /* TSMessageTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 723E0B66FD37F8E9F85AA6C4769C4D70 /* mz_crypt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04ABAF66B47CAC98A554AD12A7D99FB9 /* mz_crypt.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 72A86626C5DC00D43706C26390F02CBC /* OWSDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = A952019A532D2E2BBD535991171545F2 /* OWSDispatch.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 72B2CA3FD684A5388C99C7DDFD2C566B /* DeviceLinkIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3097DE003D80C0F81C1E4592902601CC /* DeviceLinkIndex.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 72CD890EE6F76A5B283A5181D1CD6E78 /* MediaCommunity.swift in Sources */ = {isa = PBXBuildFile; fileRef = E44044BA9CE81F6888BB4B97A22992FD /* MediaCommunity.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 72CF16F2FDB65CC4A38FFE7E4694AAB5 /* GIAG2.crt in Resources */ = {isa = PBXBuildFile; fileRef = FE96046AC4DAA14A2B8F7B396D5D4CDC /* GIAG2.crt */; }; - 72F8E61F48A3BFFE9964D79117CBB2DB /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - 731911E64FBF41302095D8633D84D428 /* OWSPrimaryStorage+Calling.h in Headers */ = {isa = PBXBuildFile; fileRef = 8785EF1F534FDE34B7F5EF31C440F9E8 /* OWSPrimaryStorage+Calling.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 737038BCBF35D0C80287BEF8F3C90139 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 73795840942999999F10C4E3DB3A6448 /* MPObjectIdentityProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 94F68A7708459395BF371639B261BAB3 /* MPObjectIdentityProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 73BC51C90748105A5DEC6A1CEC4CEA3A /* DeviceLinkingSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9CE4E9B644C02D916883CF37C63CD06 /* DeviceLinkingSession.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 73C58A6053E9423DCD2C60FEF51E0A65 /* MediaCopyright.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3260704BE6EAD57310DBD1D6675A4A4B /* MediaCopyright.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 73E88A90E1ACA37F881390F76AF40584 /* OWSProvisioningMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = DB548746E6BD9F055C4D63A78E64C73B /* OWSProvisioningMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7413ADF7635280D286DCAFA9818FFA4D /* YapDatabaseRTreeIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = BEC05968F02AF862246BC5AB8F09D8F6 /* YapDatabaseRTreeIndex.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7414722D52D8BD0B00AC679F74F5BDBE /* NSDictionary+MTLMappingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C68C807B7C93F49DE414C7D9F2CE805 /* NSDictionary+MTLMappingAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 74264C26400CDA8032C1C0F04C6D66EA /* FIRErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = 0441E07E6BB1BBDF41A2DAAFBBFCA815 /* FIRErrors.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 745CB231EE0992A462DAE01C784D4B96 /* AxolotlKitSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841721DD1452C467F4A65DADED65AD29 /* AxolotlKitSwiftTests.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7464625E1C3CF745E1CF28E255D1185E /* GCDWebServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AF701E04D847AB29169040E0B1E1128 /* GCDWebServerConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 74A636846A4AF65CFF43F96AEE8E74BB /* Reachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AD2139A80553F7DB56C8D6EC2FCB781 /* Reachability.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 74B61C47C8156C6F28284D4B61A93F13 /* OWSLinkPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66F0FCCA0BE62D42D6FEA2676E1C9FF6 /* OWSLinkPreview.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 74BB7743FEED15A6BF9E7170CEE5BC85 /* OWSPrimaryStorage+Loki.m in Sources */ = {isa = PBXBuildFile; fileRef = 83EEB7ADA8AE57E0C5BC66A44D733B61 /* OWSPrimaryStorage+Loki.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 74BC7533F756699DD21CF14A4ADD77E2 /* fe_1.c in Sources */ = {isa = PBXBuildFile; fileRef = 73227657C6F86DAC0EAF88C8F5316F09 /* fe_1.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 74DCA50C4745F730CBD5AB38FF93A1BE /* OWSUnknownContactBlockOfferMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = BE99D2F7EFF1A505D7F5499961C3B06E /* OWSUnknownContactBlockOfferMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 74E27D4EB449D5EF6361AC339C221676 /* NSDictionary+MTLJSONKeyPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 1027B2D6BE35A0793C125B384383E715 /* NSDictionary+MTLJSONKeyPath.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 752E898CD280FB7BEE9225332068F7C3 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - 757916ADB577B9C2226977F2C8C692AD /* MessageKeys.m in Sources */ = {isa = PBXBuildFile; fileRef = EF9ACC6A49DBF162496BB38781F91A44 /* MessageKeys.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 75C6DB97CB56966A0B1255DBE8194BC2 /* YapDatabaseCrossProcessNotificationTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = ED635705F38F7B826B993F085B5E39EE /* YapDatabaseCrossProcessNotificationTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 75FBE1CDCEC0DD5944F8355E56BF271F /* OWSFakeProfileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C0C4F3DBDBEDDD2C12CDB130B8377041 /* OWSFakeProfileManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7619EC36170DD189C62F82ABFE9465B7 /* ge_p2_dbl.h in Headers */ = {isa = PBXBuildFile; fileRef = A79A12897E7D1EF97DF9B8B038A63929 /* ge_p2_dbl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 761BE8E82D412E26F76221EFDAA1FF22 /* OWSChunkedOutputStream.h in Headers */ = {isa = PBXBuildFile; fileRef = B17EEAEDA83C0F8F0E2102612AC47F70 /* OWSChunkedOutputStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7621DF5D709DCA48B978F08F8BB0DA2E /* SMKProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FE96513BC8FCDA7213654A36510A339 /* SMKProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7659F8C178314E556C776E373D966190 /* ContactsUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 03D4B7244799BCE4C035D7E137ECE5AF /* ContactsUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 767773503D5A6C722FC6FE63C8C1E068 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D83A00E147D9D9BEEA510B7EAD66C473 /* Updatable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 768FFF06AC7B39DFDB27675FEBB27A2A /* MIMETypeUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 27E79DDA774CEEBFCE0E540B278A89B2 /* MIMETypeUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 76B26430563C7E7B07B591C2C880F06A /* SAMKeychainQuery.h in Headers */ = {isa = PBXBuildFile; fileRef = CFF65DDC9B8B9980DE0AA715648DE116 /* SAMKeychainQuery.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 76C3743D0A7EE437BAA734DCA4456786 /* SignalMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = C60FEF1B80024333892B1CF3EBCF80FC /* SignalMessage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 76CF8EE294BF2AC8E1659E329D5079FA /* OWSUploadOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7104E548D8FDCCC5C80BBD4A50753937 /* OWSUploadOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 76E2E4711041F935B3313FA36D0DDE5F /* DDLegacyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 666778DDCF44FBECCF2F3D292BC0B7B6 /* DDLegacyMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 77139DC2D9391FB67052E765004AD9E7 /* HKDFKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DBC5F6D63D57C6A1ECF3EFE10118FE7 /* HKDFKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 77184BF48ED077B6EBB3B71122E14B6A /* GCDWebServer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFE5B43396A75F173795EE46CE37D68 /* GCDWebServer-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7720B70FE06602CB6C0F598FDAAF7F46 /* SendingChain.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDE645D2177ADE96782B7EDC597388C /* SendingChain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7761F10EDB3729EB26437EBA051123C5 /* FIRApp.h in Headers */ = {isa = PBXBuildFile; fileRef = 02B803BAD103176340874E28D0379565 /* FIRApp.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 77690E1ACB8A96729BC63FD214BB9191 /* YapDatabaseExtensionConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = FF828681C11A1A4E419844F6ABD2D4E1 /* YapDatabaseExtensionConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 77ACD6E79F8FDF5B99877EE82B2BF1F8 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C7E522DCF8A58A8DCFEB218E34E98C2 /* Configuration.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 77E68C65C12E671C8E075EC427380229 /* YapDatabaseCrossProcessNotificationConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = EEE90DD7011F5434AED45A5789AA9384 /* YapDatabaseCrossProcessNotificationConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 78140E5FA288F5E1BD2F34E8B340E8E5 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54DF6D4339C9DB064328927499F3DF32 /* Padding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7820F5644923A83FE7B2B9764783B134 /* MPObjectSerializerConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 82CA516C6D50548651F8CEA4635D7438 /* MPObjectSerializerConfig.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7829485927360435E15C8E6854638D6D /* YapNull.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B9DD9A1C9D769883B0D5575FD245942 /* YapNull.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 784A6AAC7F194C3BA68FFAAD6EBC6E7D /* YapDatabaseCrossProcessNotificationConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 6826753A7A83576B67BF8FDAB9516A80 /* YapDatabaseCrossProcessNotificationConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 78783B8B5E77AC308AF59C516BE721DB /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 861827EFD2FEB9680AF93D18862FC7DC /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 78AE497CF54737F0AF70F2087DEF9CBF /* MPSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = F8B3608D93D739122E4C94442984A128 /* MPSwizzler.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 78C97179CF4DB76DAC498C166FC90F8D /* mz_strm_buf.c in Sources */ = {isa = PBXBuildFile; fileRef = B3A6378C298CF895AF24714F330CB8DE /* mz_strm_buf.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 78CA822656DB8AB20BBFF0DFC0710A97 /* YDBCKMergeInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A92568A5001DDAA682F81A239B01A11 /* YDBCKMergeInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 78D49F7CD05D53D464785799DA5980E3 /* mz.h in Headers */ = {isa = PBXBuildFile; fileRef = F718E2DD4F861046CCFC7A20F6647C2F /* mz.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 790C22B7833DCF91FCEFD8BF09AF0378 /* NSData+messagePadding.h in Headers */ = {isa = PBXBuildFile; fileRef = 72174990EDC07CF015EDCEE4355BAD9E /* NSData+messagePadding.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7926BDFB4821501503AB57A5143B9612 /* NVActivityIndicatorAnimationOrbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1A8B581698FDB1AE0BE1D6748225EE4 /* NVActivityIndicatorAnimationOrbit.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 793789980658145CB592149EB73D76BE /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FB2F1F727ACC6CA517A7CB819FAB4FC /* AFSecurityPolicy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 793E3A94584A2270ECE4DE69233C8859 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 8336128C3FA83B0D07019BE27529841F /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 794A805AEE69B2EE27575D30D7F04864 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9308EDE34A2555210A3212A6E0A30F5E /* Rabbit.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 796FD50995D5125CD5FF134C63625EA5 /* YapDatabaseAutoViewConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 24F7A1AB24FBB019BAEF7F631ED22BE8 /* YapDatabaseAutoViewConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 79711A7D9F80C3C1FA3838E6E0D9F655 /* ReceivingChain.h in Headers */ = {isa = PBXBuildFile; fileRef = 11037D7D41AFB933972A8A53EAA11934 /* ReceivingChain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 797599D7E3E15B156DB20D06CA8F56D7 /* OWSRecordTranscriptJob.h in Headers */ = {isa = PBXBuildFile; fileRef = DFE6600D93F86DC6B3C3ACD3F7E537C7 /* OWSRecordTranscriptJob.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 798F032AC1D1899F9A44C24AEBCE43C1 /* UIImage+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 53014F257C08806ACB10A8CA3A41DE21 /* UIImage+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7994F522F0F1403B155E731F7BD010E5 /* UnknownStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6A0E0EA249D7492772293FF94ABBE3 /* UnknownStorage.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 79A1A0744EBEF0686CDCCECC839580AB /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5738AC9666EBA2CCDCCDE57B25388A0 /* UInt64+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7A0567A2F6F97AC901879EF83FDD9942 /* Constants.h in Headers */ = {isa = PBXBuildFile; fileRef = E21F2F9A31E7190379BFFCF9C9ED4ADF /* Constants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7A4AF9958CE5DEE0890B293E798DB530 /* OWSPrimaryStorage+PreKeyStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C9764A733B69C180D08242EEC70BAC9 /* OWSPrimaryStorage+PreKeyStore.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7A4C198ADB2F3885E58435F02FDDBFED /* MPClassDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 22C39987B5CFCF935A6F14B4130C4439 /* MPClassDescription.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7A5A8C26A590DE08B7CA5DE8C13F8585 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - 7A758676E60A8D0CAAE5C01A269445D5 /* DDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7282D8C49392BA3AD10F85E0E05771 /* DDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7A862A24C58FBB36D91610E08426C0C0 /* OWSLinkPreviewTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A51302704A16FC923CCF3E02B425214 /* OWSLinkPreviewTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7AEC9E68B67C88EF9AD1057F39405A4B /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42B15E45AC4A145C03C0296266CE60F1 /* AFNetworking.framework */; }; - 7AEF4FE91E25600B0341141DB787013A /* fe_frombytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 2DDABD2D76E37C1429D527F53F2261BE /* fe_frombytes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7B1D7E4FD7455825B616B5816268AABE /* TSMessageStorageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = ECE37EAF4CA44826CD8F901C794D25D1 /* TSMessageStorageTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7B26543EA074C4254729DF3BB2511A8D /* NVActivityIndicatorViewable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D6A0641F240B136C48C0B10456A24CC /* NVActivityIndicatorViewable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7B3B5F471ED7EC47209CC279A28A10DF /* FirebaseCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F6AEE81E47CA007E3E2764BD0016C2C3 /* FirebaseCore-dummy.m */; }; - 7B4BC195EA1F01AFAACFDA1E46462DF2 /* Google_Protobuf_Wrappers+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FDB090722B49D0728C605B50666B7E /* Google_Protobuf_Wrappers+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7B9968DA504DDEF410CF6C7A61ED63D6 /* TSInvalidIdentityKeySendingErrorMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 83490240E3369FFAB4451EE971C77D49 /* TSInvalidIdentityKeySendingErrorMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7BC75B419A0F57A6AE74E71C32C8AB11 /* OWSOutgoingSyncMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 01F349C2A1DF8CAB0626493509DEBA88 /* OWSOutgoingSyncMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7BD4838823E2A1750007F1BA /* FallbackSessionCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BD4838623E2A1740007F1BA /* FallbackSessionCipher.swift */; }; - 7BD4838923E2A1750007F1BA /* DiffieHellman.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BD4838723E2A1740007F1BA /* DiffieHellman.swift */; }; - 7BD4839023E3B39D0007F1BA /* LokiFriendRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BD4838E23E3B39D0007F1BA /* LokiFriendRequestMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7BD4839123E3B39D0007F1BA /* LokiFriendRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BD4838F23E3B39D0007F1BA /* LokiFriendRequestMessage.m */; }; - 7BD8BD67ED5976F0C8C0C856803426F8 /* YapDatabaseLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = FFEDAA84C1E8D2AE4B3BCCE5560B45C8 /* YapDatabaseLogging.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 7BFA00E0925B9DD2825A6DD4B17B4054 /* YapDatabaseSecondaryIndexConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A90CF0E33F7005E4018B5D407E34F67 /* YapDatabaseSecondaryIndexConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7C249A262E7B59862776D6D691D852AE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 7C3E7876206081AB7D4F6389309FFF35 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8949F9C6ECFEC333290EC51E5307B295 /* HMAC+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7C4EBE72E88376FCF1F1E2CFA65D06B5 /* OWSSyncContactsMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = A3F661097290F4EE3E8206BB84B50CCA /* OWSSyncContactsMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7C6185145C44FC5F177B4C1FC00A2A55 /* YDBCKRecordInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = AE0E21277E27786155A274ABAF10AB99 /* YDBCKRecordInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7C6693BB6ABDD54EC1258CC4AF9C79EA /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20B74EDF43E008156935F7B0E8CF9CD6 /* Deprecations.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7CB250A0264ED203103214200BD22957 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 7CC59301596DC880AEACE7CABBFCE25A /* OWSCensorshipConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C8CB261D1DB14E5A42FF9F64E750E0C /* OWSCensorshipConfiguration.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7CDC813B1129E5711A801B135B122D28 /* JSONFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48DE8548DD70DC217F7418B5BC4BBC30 /* JSONFeed.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7CF84F5B2063BA2269C847508A97D31F /* SSKWebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05F64FD956C35AC9D8DD3CFD4A3C5DF0 /* SSKWebSocket.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7D1322BF6E83C9A2483126DA30BB6A2F /* CipherMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = FC4BD8CA07FA9C1E490E0021F8338DB3 /* CipherMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7D3A1B5512B3C07371BD81266C5E89DF /* mz_zip.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F3A48424421CFB9F4002ACD3FDB10E6 /* mz_zip.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7D64D14C2DAE59C4DCAF172496A0334D /* SignalIOS.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEA41736905C49CD3F201E85FE850008 /* SignalIOS.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7DE81CB70DD48F90A9FB9B52FEC460D2 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4A5F0E233534286FC6C1AEE1462B2BE /* hang.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7DFD441C74191D76E1D4000FC4EB2C01 /* OWSMessageHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = B758844D2C00B61377511CD6A94B795C /* OWSMessageHandler.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7E132C80931946820CB1D4079D99DD49 /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A13860A8382559D48DC80C448E55F90 /* NSArray+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7E1D8638CA58B364EB2300AD55191C21 /* YapDatabaseOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = FC77AD9CB1CA4E1E345A9CC82D3A1923 /* YapDatabaseOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7E695FFFD8E32ACD764E12DC0CDC7BB0 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61350B58F41768CB92723FDCAC80050A /* CoreGraphics.framework */; }; - 7E6B5C3B68E6FFE7A1E0A5D8F8817C89 /* Visitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DE749EE9C74394AC2FCFAAF5D9AE2E6 /* Visitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7ECAEED8DCCAC17E2CDDC1D0783A46BD /* SessionCipher.m in Sources */ = {isa = PBXBuildFile; fileRef = 2595AACF40A9AB56E49C4AF4590B5531 /* SessionCipher.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7ED05970D0C07F98830EC3070E6FDFFF /* XMLFeedParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A0CFC665FE03AA30BA02E63F81D9C3 /* XMLFeedParser.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7EDB9971280EFA46668402F91C53CDD3 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 173DD1B7F95D5725755B5C84B502765B /* CoreFoundation.framework */; }; - 7F7F1971597CE505C8EAF8DDACD4CB64 /* PureLayout+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D899395C3BE9B87A57465F3BFA72C0C /* PureLayout+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7FA0B67A5D99C7EAB07431EAD24FB526 /* sqrtm1.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E08683E66C41EA725FA9514A343476F /* sqrtm1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7FDB3D979B839D99F2751C05C977C421 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CA7DB4D573C975123ABCC82360FB409 /* Checksum.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7FFFF2BF8C6EFBEBF901A4EE9D4EEC56 /* FirebaseCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 15D10724D7D4E4EA984AB4641DBF82BE /* FirebaseCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8002FADC53E5ACDA2814E889D1E30059 /* YapMurmurHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A156313EA307E881878651CC9BA95C0 /* YapMurmurHash.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 80178FED03AA43993D1225F403B414E1 /* YapDatabaseActionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AFFF1C991DFBAB9B3A9DBDB9C05FB2A /* YapDatabaseActionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 801888275FEDB88816F13D74DD10D043 /* MPDesignerEventBindingRequestMesssage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB9F30182DC4D942B2CA2B6E35EDD37 /* MPDesignerEventBindingRequestMesssage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 801E13CCB001052A18EABE2C2BFF71D4 /* AppVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 66894E2D58BBBCC25579FCFFD4F2A505 /* AppVersion.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 80284C91D8DA38A67316A4A8AF95175C /* OWSBackgroundTask.h in Headers */ = {isa = PBXBuildFile; fileRef = EA6F04ABB88B30CE10BA942EB9D44C26 /* OWSBackgroundTask.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8049EE6D6A6ECA55C75F241CDB7C23ED /* NVActivityIndicatorShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9317C39D8FF8A2AA491EE4906D818569 /* NVActivityIndicatorShape.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 805B8D5643BD8A140BCA7222EF654695 /* NVActivityIndicatorAnimationBallPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11644B963916D3EE553561915D57AF2 /* NVActivityIndicatorAnimationBallPulse.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 806081D53C64D20218A618C0EAAA1FEB /* MPApplicationStateSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 78FDDFF63CE39DD7DCC4C7BB61CBF2A8 /* MPApplicationStateSerializer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 809905843236A7E3543BFFD0F6A51117 /* NSObject+Casting.m in Sources */ = {isa = PBXBuildFile; fileRef = D7F1AC602E9BA3DD88DEC920197CF0E1 /* NSObject+Casting.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 80A700BD9FF6E3AC0EB31C7FE10E7E32 /* YapDatabaseViewRangeOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAD033C85C2C66AFC36B213558780C7 /* YapDatabaseViewRangeOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 812267A093D5568F829AB1AC9F8BB1E8 /* OWSIdentityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 356894955FAAF58C7308E7A84127EA8D /* OWSIdentityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 812341FE3B42F030FF78296C77BB09C2 /* YapDatabaseManualViewTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D5AFDE85D0D6DA306D0886DA6C15B57 /* YapDatabaseManualViewTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8134FE921BB1B6F3D09839EA79D8E381 /* YapDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E8A5F4C3C51B8799F20A9C00C7C2499 /* YapDatabase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 813C4D087037B7E321EC978D778B43F3 /* OWSPrimaryStorage+keyFromIntLong.h in Headers */ = {isa = PBXBuildFile; fileRef = D2D2D88AE8D95B391E67046987ABA0A8 /* OWSPrimaryStorage+keyFromIntLong.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 81845524E0FB1BD2D8974B32D0ABDDF5 /* SelectorEvaluator.m in Sources */ = {isa = PBXBuildFile; fileRef = 458887ECD425B3DB0EE5F279C5A1B1C5 /* SelectorEvaluator.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8184DC7F85E44F4F4FFB007BE6429E1D /* ge_add.c in Sources */ = {isa = PBXBuildFile; fileRef = C0240F69116DBE164457ACF8E2375366 /* ge_add.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 818F2DCDD58B646871F90460DC6A30B3 /* Mantle-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1384B1ECBC2F955AFF7B3E19DAE45371 /* Mantle-dummy.m */; }; - 81B47EB46720C75869058ADA4F8728B9 /* OWSCountryMetadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 20D597AB3C09E2C7A0D75FD0EE31E446 /* OWSCountryMetadata.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 820F0647A7CF74D111A85A0939DA0875 /* iTunesNamespace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E5973C83C637D98672A867DBEC26322 /* iTunesNamespace.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8223D08E079BD6D35FB4A9BA8A2E3839 /* YapDatabaseCloudKitTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = B90FC33DC2DDF7F6932DA2A34F9E0D55 /* YapDatabaseCloudKitTypes.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 82604F83A5AF29532D3BFF85EC5B4F56 /* Array + Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1604E2CAAEA0B34C19969B1862FF914D /* Array + Equatable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 82A069FCD540DC4DD177C2E7EE323A8E /* OWSStorage+Subclass.h in Headers */ = {isa = PBXBuildFile; fileRef = DD55EB9A796ACDF68A73647DAFEA3160 /* OWSStorage+Subclass.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 82BD9CD68D1D072DA31DC1046C383157 /* TSStorageKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 879356C9C3F811347E1A4B779EC58559 /* TSStorageKeys.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 82E518311279E1B94E7C23D3A8D72BD1 /* SSKSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81271C24D7651B1483E41C13989FD3DE /* SSKSwiftTests.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 82E97C46A65B2D261B9098FC6CDAF5AD /* OWSIncomingSentMessageTranscript.m in Sources */ = {isa = PBXBuildFile; fileRef = 8994B9473CDE9B016BEA34D760FAFE71 /* OWSIncomingSentMessageTranscript.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8330B57F1657420AA35A143EA1234D96 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 31E2536F147CB4FDEECB0A150849BCEE /* NSTask+AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 834BD3693B1E0351C935A3679115A06A /* HKDFKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AB8A17246DB9F35F4E2EBC7B1326CF2 /* HKDFKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8407481CF5AADD3BB74FD69F648A8B05 /* OWSPrimaryStorage+Loki.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1619E7AFB3D5987F998D3EE5077C5D90 /* OWSPrimaryStorage+Loki.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 840A10EE831F8AF46CC52AFFCE28138D /* YapDatabaseViewConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 6994CA8B3ABA5DF0C86BE842D5659554 /* YapDatabaseViewConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8438BE6F820D0244DEE6BD12A9320F3A /* sqlite3.h in Headers */ = {isa = PBXBuildFile; fileRef = B6038111CA43BD97B39BAC290BCB4686 /* sqlite3.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 843CE6E474A5D221E295674410A6BA3A /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891109DCCE8C56C8B2B5ADF998632C94 /* Logger.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 84727DE8EB6452EF93DAED21C5E82E45 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD45F0E204366D55BBB7B82F0854EB31 /* CBC.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 849F16996640C2CCDE6BCEA0F64829F3 /* SMK-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = AF7905CA4C6B86E76B2E2011CB17E4C3 /* SMK-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 84CF5DA4EA92B72B66B4E4C497460AED /* DDLog+LOGV.h in Headers */ = {isa = PBXBuildFile; fileRef = 2921917B4D7AF534D55BFAE5EF95CB4F /* DDLog+LOGV.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 84D4DE623C60BEC85DDE9F76DF93924B /* FieldTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 500CAA54E6D5F07F2B8C1ACB6A8E9567 /* FieldTypes.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 84D65C279C77CF21946DD23239B65EAE /* ge_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 43C6CC1471AEB636C83582DF83B9AAD0 /* ge_tobytes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 84DB0E25948956AE9294728B035C7D0E /* EXTScope.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FA6B70A580669549ED3285647C1710C /* EXTScope.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 851B51574825726DD17281F7B8AF4FA8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 85227A449706420A9E32ADFCDAEFDF51 /* OWSRecordTranscriptJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 851804EC0075E5F57200C7A10E5783F3 /* OWSRecordTranscriptJob.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 853D0FB9647710030464EEFDF341AD01 /* YapDatabaseSearchResultsViewConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = D881886CFE235D8719CD49A80A84E237 /* YapDatabaseSearchResultsViewConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 85405E8D9323E3EC8F833657F59D0C3D /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - 8577F1AC2D6BBF3CDB10FBD65FE67A6A /* OWSMessageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 72D4DB9E026E3AD89F9E5E4CAE71AC7F /* OWSMessageManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 85A1C7E6361AB1166084DB500654CB38 /* YapDatabaseTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C7C7E215767BAF365D71A447FF5905D /* YapDatabaseTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 85A4F97903C6CA5F90E295146B24F893 /* MPTweak.h in Headers */ = {isa = PBXBuildFile; fileRef = 4596E2B19BD9033C3FED4A6689FDE17C /* MPTweak.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 85CA3C56AFB18D596D9C5C954BB681AB /* YapDatabaseActionManagerTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = B91E65B2CE172BD7279A233FD5F5090B /* YapDatabaseActionManagerTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 86230928D0ED81C968B73FAB37D4BF22 /* JSONScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79FDE64917989520973FEEC7B32737F4 /* JSONScanner.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8627857DB8E9D6775F09F5DCB8B2D317 /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 532E4666E816818BE8C92D136F45F777 /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8646BB298088CF6EC8FDF06FB27B84C3 /* FIROptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 69E984A4C42480CAAA0E6ADE5A639707 /* FIROptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 865925BF9610F49A4CF8F6670B180A79 /* fe_sq.c in Sources */ = {isa = PBXBuildFile; fileRef = A7C311BD86DA95AA1DC388E2544D1743 /* fe_sq.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8677E3B89217166CB0ADBF93FF128F5D /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = C26219655E1359BEFD60DC1F72AE425D /* PromiseKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 86807DEADD42194D33995C3728D7BCC5 /* fe.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EB532FFB444782A98194DDADE8E9D43 /* fe.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8681085D8D97D2C438A21DB38A5F67D4 /* MediaHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED18E8C9C40324E4E74D4552758532F9 /* MediaHash.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 86AF9EF9413303A52D03588EB815C12D /* OWSMessageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 424E5D149B2D63C401AE74C0DAF0BDB4 /* OWSMessageManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 86CF664AA50A777CA5F0248CD26329CC /* _MPTweakBindObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = FC292CF539C5A856E7FDAB5088D1376D /* _MPTweakBindObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 86EB77AD39E694C4BAD5AF2F67C7FBED /* AutomaticTracksConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = A2FAE98EC821A7EA5E58A3F82CB19D93 /* AutomaticTracksConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8744BBEA4E70F9F97E7A66C5BA9AB7C2 /* MPTypeDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 884F5E11998C0CA95D710328D41D8156 /* MPTypeDescription.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8749EADFD7A3225C2049AFEB319934A9 /* MPObjectSerializerConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 5016FD1657089ADD8C4673BF752A9186 /* MPObjectSerializerConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 875260C8662883809B2E5F08EC513B6B /* AFNetworking-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D38090DFBAF7B9FB43B5021B5633688F /* AFNetworking-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 87640B970C79BB8D2F46FCEB94688706 /* TSInvalidIdentityKeySendingErrorMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = FB4D27D18F4C5ECDED4652B5E654E6C4 /* TSInvalidIdentityKeySendingErrorMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 87B64CF4E65E4888AA7AC12D8FEE5522 /* mz_strm.h in Headers */ = {isa = PBXBuildFile; fileRef = 7868BBA5B4693F87960F92562D1946EB /* mz_strm.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 87CD52B48F301A4A020F7277003A6047 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFF26D8A41C30007BB7C8FF0267A801E /* AEAD.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 87D0213B41931338BC64E286C9A2BE6E /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = DDACEBF7F86BCA4A3DC60F5B1155073A /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 87E93F7154960BB8C978A662E98ADFEF /* NSData+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 540C32545AD9B1EAD2D65380C6E3E4C1 /* NSData+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 87EBB36906A431BB54DE0B6A00E8A96A /* OutageDetection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 134C675923A2D34764105135C1261BA1 /* OutageDetection.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 880BEDB31175163AACD67A164ED41815 /* MPWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = BC94413E2499F513AA3CD3D5BE050D4E /* MPWebSocket.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8832DE590F78DA11502E34B5124CC9D8 /* TSInfoMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = EC26084CC32E995C75A0C3B56DD85DC9 /* TSInfoMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8849660969D582DDFA6682A99238CF3D /* YapReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = BD2C0BAB9722F2B8FD74C997E180FD78 /* YapReachability.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8850F4BE7769C72D85A7C63B69BCDADA /* OWSOutgoingReceiptManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 101533852C02544F1092DF7ABC0F8C4A /* OWSOutgoingReceiptManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 88819EC5B1174B0051C054A6F5177328 /* Google_Protobuf_Any+Registry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AB73BA4E70A77B601088750E5CD40B6 /* Google_Protobuf_Any+Registry.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 88AECF2623BBA901122FFE24C67D3549 /* YapDatabaseViewOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D523F3B48976F94B331638C65FA50FF /* YapDatabaseViewOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 88EFB465C4CD213E1A4822C27F4EF6C9 /* FIRConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 3948497597DCFA9063811677EEDF88F9 /* FIRConfiguration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 89044AF6FC6ED7F9383C0915804BE612 /* YapDatabaseViewChangePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 458E07751363AF47B3B0947203656A9C /* YapDatabaseViewChangePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 8905B3D7046933B2F9FEB6A2CB864F5E /* Starscream-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 20636B4CE8368F21D83E227B3D1089DE /* Starscream-dummy.m */; }; - 890E9D3A890DE9B086223E2B18CC87F9 /* HKDFKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A74F7AF4999888176070F3ADBCC55388 /* HKDFKit-dummy.m */; }; - 89741D4C6A64225820EFD0C0A476892D /* mz_strm.c in Sources */ = {isa = PBXBuildFile; fileRef = EE634FF5CF1AF2EC740B8EAEAA355337 /* mz_strm.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 897A51499BFD21672DC22B8902DC1327 /* Mixpanel+AutomaticTracks.m in Sources */ = {isa = PBXBuildFile; fileRef = 27B632D75E3203AF8A588E62B62C6792 /* Mixpanel+AutomaticTracks.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 89B26CDDD96B2FD72B6791A5CF74D5E6 /* placeholder-image.png in Resources */ = {isa = PBXBuildFile; fileRef = 46FE43816B1002F4227A73940FC43B9D /* placeholder-image.png */; }; - 89CDD47D9BBEABD12773841B0B50F614 /* NSNotificationCenter+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 721C0592B3829450B100F4D5F92C5CF5 /* NSNotificationCenter+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8A32339D2BABC993450EF952B27C04E4 /* NVActivityIndicatorAnimationBallDoubleBounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3113BF53104A90B44A020718F60C678C /* NVActivityIndicatorAnimationBallDoubleBounce.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8A886C22108DFB14F2EE1C0AE4FEDAD4 /* ProtobufMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFCE2807F7CDEE9AA21DEC904CCE91C1 /* ProtobufMap.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8A8D2D97DDB9BC88207E0176F218B5A7 /* NSDictionary+YapDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 836F2F7B9044F96347AC30A228325F33 /* NSDictionary+YapDatabase.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 8A97D7473595748C49422817583D046D /* Promise+Hashing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43411A6062580E937F791A9E51E66F64 /* Promise+Hashing.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8AAE0BCFD2345C49F9BF2634983D178E /* YDBCKChangeRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 41AC75DA2F5740027E3A7D29FDEE0783 /* YDBCKChangeRecord.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8AE1E9C64E779D53353D4BF6D7F616A1 /* OWSSyncGroupsRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 18FE75B619205E672A28A81A04DFE1E5 /* OWSSyncGroupsRequestMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8AE8FC6FA32855B267057AB0F2E6B32B /* OWSContact.m in Sources */ = {isa = PBXBuildFile; fileRef = AF721033622212C4346E454E98D68CFE /* OWSContact.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8B4D71085D3D53DD9F949AA78F69C797 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F461F5E9907C58FED03519F0212ACAF /* NSURLSession+AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8B5B02F136CED2410C88F248EC8463CB /* OWSMessageSenderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 49CE8C2F74FAECC5F9D93D84E711D540 /* OWSMessageSenderTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8B63D5801C95E327728C3ECB316033E3 /* LKDeviceLinkMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = F4278C71C759864FFDF355FC9D32D84C /* LKDeviceLinkMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8BB75C6F4E3CDD052DAD8782CC8DBFC8 /* YapDatabaseCrossProcessNotificationTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = D5D0E453D8F5034F25AEC67F8ABD9741 /* YapDatabaseCrossProcessNotificationTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8BC6D983E63E820DCC931BB44CCA536C /* MPCloseButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E67E200D0F75DFF621E0FA776CC8FD3E /* MPCloseButton@2x.png */; }; - 8BF157163197D51A27BB53DBF8FEBE80 /* NSDate+OWS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6BB358B99280C24D299FCE09BF464E80 /* NSDate+OWS.mm */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8C2418524EBC663183DD99EA5DA531DB /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 243AB39BA8DEB501EB1429C77F309526 /* Accelerate.framework */; }; - 8C388F3A73C786C20048CBA7C26C8AC3 /* ge_p3_to_cached.c in Sources */ = {isa = PBXBuildFile; fileRef = 4140B5EFB658F836C5F82A547D04B05B /* ge_p3_to_cached.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8C4053BAB0A745E5ED587C3D56C0E37F /* MPSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = A2F211573FE8E45838D78EA851F97894 /* MPSwizzle.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8C666A054756DC7452709DCA341A3743 /* OWSFakeContactsUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 01F6331FBA2A795024E7ADD2483994FE /* OWSFakeContactsUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8C6D908304112B270AFF3D7AF8E5E9DC /* NSObject+MTLComparisonAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 775B4AC32FC2EEF15F034D8EDB8BB6E1 /* NSObject+MTLComparisonAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8C760824A40B60A753CA29C486BE83FB /* Notification+Loki.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5FA8CDEB9FEC9499EA4C76A594A56C5 /* Notification+Loki.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8C8CC95A90B69A488014E98D2EEE1F0D /* SSZipArchive.m in Sources */ = {isa = PBXBuildFile; fileRef = 41611FF213CC38A5CCC12237707150A7 /* SSZipArchive.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8C9C5BCAADE77782DD8736ECF1086A2D /* YapDatabaseExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF307BB9993DC79C242C410073DBA43 /* YapDatabaseExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8CAD84904CB24E0B644A34DA8147FC7B /* NVActivityIndicatorAnimationTriangleSkewSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76DD5C062D0F5C50A512E69F94D5F079 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8CDF554AC3DA41102E452EBFF6A84EC2 /* FIRLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 05A8C5573B7ECADE4B2199A9A843A3DC /* FIRLibrary.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 8CEDEA945206F73383C56C58A5AF2208 /* MPClassDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 94045CD92B6AD28B0FADBCF77F6638EF /* MPClassDescription.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8D3CA59679BEFF67CAF48D7E0545B3C5 /* AxolotlKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F5903C61564B32D705EF64FC9D179AE /* AxolotlKit.framework */; }; - 8D788555D8ABF818ABA9F49B475F9E91 /* mz_os.c in Sources */ = {isa = PBXBuildFile; fileRef = 626696245C54DFFEF11B45F3EB43C705 /* mz_os.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8D8B55A1E509687A32FB297A5B310118 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A77C362EC9DB96928A5E8A851DC2DECA /* StoreKit.framework */; }; - 8D998951BAD8EC86BB317AB897B648D1 /* NVActivityIndicatorAnimationPacman.swift in Sources */ = {isa = PBXBuildFile; fileRef = 539208534B4E56355F6730AE52DFEF69 /* NVActivityIndicatorAnimationPacman.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8DE36D1EC91DCB8DD4519BD8C385DF97 /* SignalService.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = F366E537533B1013937B00F3D5A9711B /* SignalService.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8DF609CB4AA3AF8D6CCFE6138CC73811 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = A33CC7FA4FF3CE20741B522F759A7B78 /* RandomBytesSequence.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8E0836678F67258D510A360EFEE288E4 /* YapDatabaseConnectionProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F5D913AC04A1F666FB8592E766149E7 /* YapDatabaseConnectionProxy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8E1849369B6973D0221928381273DFFD /* YapDatabaseSearchResultsViewTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 31D41BE50697F457E1DE22E189D2088C /* YapDatabaseSearchResultsViewTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8E699DA5977F2371F4FA17C186DA24E6 /* TSDerivedSecrets.h in Headers */ = {isa = PBXBuildFile; fileRef = B28CC36DCB29CCCB318A276AA6633A22 /* TSDerivedSecrets.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8E6D27CE0A88FF320FEE5B2C3AEA8682 /* MTLValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = CD7A425FC83F684E3CB0B9C3AF45C250 /* MTLValueTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8E83FADAF5E399CE1EC3482ECD638948 /* TSInvalidIdentityKeyReceivingErrorMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = F2D329D3F06967545474089D7EBBF027 /* TSInvalidIdentityKeyReceivingErrorMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8EA913F4A38C87FA61C8F27B3A8C61DE /* SessionMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = ABCB395A33593A85BD927A5C110D1693 /* SessionMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 8ED289ED285870D8F9AD4F8C1C99C68B /* OWSBackupFragment.h in Headers */ = {isa = PBXBuildFile; fileRef = 34BCD2EA7690741B4F49743C2B2118F5 /* OWSBackupFragment.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8F0510FA77F3C2C81EF471B7F75D6E26 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 8F20B6BC2DEEC9A4E08602729107AA4E /* OWSSyncContactsMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 01853F9C3C7713C6C0E3444103048DA2 /* OWSSyncContactsMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8F6E66B54889E62539ECA0F8860899B3 /* MPResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DAEE252B0B6E4CE29879A4FB5CD772D /* MPResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8F89531709B346156CECD1D3A678DE5E /* MPValueTransformers.h in Headers */ = {isa = PBXBuildFile; fileRef = A6AF89C01AC5CC23B87A14763A741EC2 /* MPValueTransformers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8F8BD8014407325F4E50A006451C109D /* SMKMiscTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D094427D91142E3CB3A83C53CDCB299 /* SMKMiscTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8FA5256BCBF0E8C90081D5604A6812B6 /* JSONFeedParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C74A3E0900614F965ABCD1576E00D3C /* JSONFeedParser.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8FB51FA921AE191541772E4D6E8B1E6E /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = 9315531F674C1A111DED6DB0FB471F90 /* after.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 900DD78860388169FC3D884706489114 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - 90A85B160010CB035FD881E9A6A55574 /* TSNetworkManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FD791A30C2274476FAAC8E27662E15C8 /* TSNetworkManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 90B47C742F91C2526BED0F225741B9B7 /* YapDatabaseSecondaryIndexOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A23EC8E756954BD37915003B8EE6FE5 /* YapDatabaseSecondaryIndexOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 90C1AAB0CF4CC4615009EF314463A600 /* AliceAxolotlParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 031B7F871142ABF21276B31132E15F4F /* AliceAxolotlParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 90D9E568E7E2A7D3FDDCADAA47EAF955 /* NSArray+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 87CA02B6CC66385E136075BFD5921F0A /* NSArray+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 90E9BBE84746504AF8B89B0D8A6EEE48 /* OWSChunkedOutputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AB4D9AEDA8542E68D23BB9CF2F7EF38 /* OWSChunkedOutputStream.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 90EC67E5AE856E82ADAFFBF363D46A6B /* MPABTestDesignerSnapshotRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BC551874C50108931F313D9B41E564C /* MPABTestDesignerSnapshotRequestMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 91395B3D72522DE9F1D971159D0CBBF6 /* MPObjectIdentityProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 42448362C4A1B1E69E140AAF1FD4061E /* MPObjectIdentityProvider.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 91523D93A146C805C98DF1C124EB7BFA /* NBNumberFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AC01B0E733C60428D6E5FD466899EF9 /* NBNumberFormat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9160A9C93EBBF1B6DEEE5F104AC7DE74 /* SAMKeychain.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3A9BBB0D2609413A7F79BA505BC1DE8E /* SAMKeychain.bundle */; }; - 91736E2AFB9DD66CCED5E9134AE7AB98 /* CLIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 8953851E8CBFBBBED4BDB92F59260BB9 /* CLIColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9176C23C091464CE4116A58CEAA9D761 /* OWSReceiptsForSenderMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 672AA22084045B9835A0D46F4EE5C080 /* OWSReceiptsForSenderMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9183EF10CB689AA44FFD40EFCD56A44C /* JSONEncodingOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABB21DDE0C82129EC66AFD89656C05ED /* JSONEncodingOptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 919EA9B4AB476E486619B488076B5072 /* PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A040B954399C4C7679956C9122764 /* PureLayout-dummy.m */; }; - 919F4F79AA780D9AA66F277928386389 /* MPNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = B0A1DD63C9FA1CEE8385B3313ACCB833 /* MPNotificationButton.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 91BB3CE7DD26BE9687EE4E6CF09FF64F /* TSNetworkManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B5065FEB8998FDD64B3BD80B9A7784D /* TSNetworkManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 91BBCF71C8BBE3487BE30F3F7335CC2B /* ge_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = C0F3CC1A9F7A785E32701E6AF9EADBAA /* ge_sub.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 91CBF7C10DB50AF2403CB809FEAFD21E /* OWSSwiftUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB4BE9214DAD8901676181322654EC40 /* OWSSwiftUtils.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 91D3B5158EBEBDA00A103492686B4324 /* OWSRequestBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7720ED347A0107A159445C3DF4EB46C2 /* OWSRequestBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9217BE1FA739EE56C3DB0808FD3F8700 /* YapDatabaseRTreeIndexSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = 1412BC2DDC574D460188761A18E58F62 /* YapDatabaseRTreeIndexSetup.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 92421AA8DE1CEB48E2D2955BF341BCF2 /* OWSMessageServiceParams.m in Sources */ = {isa = PBXBuildFile; fileRef = 5081E88E8EC08C73F3C8DCB48FC4B876 /* OWSMessageServiceParams.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 926B9EF61DB0E552EAED05A5E98F8DBF /* NSDictionary+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = F26DA07DF5B598DD3438A90A35D73ADF /* NSDictionary+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 926C7C17EA571E57D8AF3F7CE4ECFBC0 /* libPhoneNumber_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF15350AEFF50AFA01BDBDFE2B4090B1 /* libPhoneNumber_iOS.framework */; }; - 929C97E867F51CE5B27D9A8B72969F6E /* MPLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F4A0B085C37CA57FFB4F94E123E6E5A /* MPLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 92EF56278A123548624E23163CCF4573 /* libPhoneNumber-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 366558CAF41F4A28EE8669D36463C0E2 /* libPhoneNumber-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 93071D79D48F36D73AF09D64C7483406 /* UIImage+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A93E487A839FBB1F1D59C95799CD482 /* UIImage+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9320EC68C9E04E3C646102098011670C /* SSZipArchive-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E2202EF1D27FD987B18A721A404222EF /* SSZipArchive-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9332DC52DDADECBF502FE79B063011ED /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A00BD3CF2194C38BDF51DF395FA5BE /* race.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 933DCF0342FD866BA7C62608A8477CD6 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = B184469BBB445866EDDDB5C3C6FFE37B /* DDLog.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 936EE6851AE9B32F3F05FDAD2CA34C5B /* RSSFeed + mapCharacters.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABA50657842562CFD26124FECECFB777 /* RSSFeed + mapCharacters.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 938D145A58B2110E3C05128B68B5EFB4 /* NBPhoneNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 72F884CCE346A2B8B8DC5249A5094019 /* NBPhoneNumber.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 93BF6DA2CB7CF67E455D90A709F86337 /* AxolotlKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F5903C61564B32D705EF64FC9D179AE /* AxolotlKit.framework */; }; - 93DABD0B8D1356CD04821234B72640BA /* OWSGroupsOutputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = C6438314B8752E5ECF576722ECF13CBB /* OWSGroupsOutputStream.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 940D76BD4680237F8C3373AC19B4C1DE /* AxolotlKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F5903C61564B32D705EF64FC9D179AE /* AxolotlKit.framework */; }; - 9415A82E9DA04E97DBEE4B39BEDC0488 /* MixpanelExceptionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 303ADF30C949883DA207B1E2A433C3D7 /* MixpanelExceptionHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 94181FDDCB34B52B6D84375F88C7B303 /* OWSFakeProfileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F9A01019CAEDECD9088DADD75205672 /* OWSFakeProfileManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9433F75FD7A22AD7C8C038732577A6CB /* OWSLogs.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A388A3C374A7943356BAB1B9BD34935 /* OWSLogs.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 943D6711D75BD790291C3E16563BCB9F /* OWSAddToContactsOfferMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 54962F7C194128FAF8931DBEFA08EE49 /* OWSAddToContactsOfferMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 94AB118E82F8FE61219AB013177B785E /* YDBCKChangeSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 9160F575F1959D09B48815657E008362 /* YDBCKChangeSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 94ACC4F9730FAB42D341767569A0243C /* TSStoragePreKeyStoreTests.m in Sources */ = {isa = PBXBuildFile; fileRef = B97CC332CBC2128B931EDA1507B4AB42 /* TSStoragePreKeyStoreTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 94B22E2E0EE84750C8AF3BD954BB4D2F /* TSThreadTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EE18AD8D5DFC777B54922F68D5F9E92 /* TSThreadTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 94C065AE0DD5466E90CDDBE46CE6B755 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = AED2357E181C18EEFF7ED78892A65C40 /* UInt32+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 94F9F8688418B290B6B7229D94567730 /* SAMKeychain-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 60F64F750321842497154F9A465D20E1 /* SAMKeychain-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 950B0967F802E39AB339F898DA244F33 /* TextFormatEncodingVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 072EC5C3132F7017C235DA3E6B67D833 /* TextFormatEncodingVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9522F0C447C872D34EEE1ED6223C87BC /* String + toDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BCDF3EB46F8A7991D738BB8C9F2E443 /* String + toDate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9558CC65A654B947DAECBE7627D0E74D /* FIRErrorCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 7477F6D2E94DF650D64DC1263AD3FBD9 /* FIRErrorCode.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 955FCEBE425D7765E40541B3FF7E4BD9 /* RSSFeedImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D84E004B213E9492B07B70F758C4AE9 /* RSSFeedImage.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 956AD4B74012F2E33393EBB94358FD5A /* SAMKeychain-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B5B13667C0FF4A91A035E4C452DA6929 /* SAMKeychain-dummy.m */; }; - 95ACEE6ACCA32EE93B7C69107932C36B /* SMKSenderCertificate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E4DA8F7E32B5AB0185D26142D4CAA64 /* SMKSenderCertificate.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 95B2E518F6E730C1837CBA62FA412FD5 /* TextFormatDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B42B9B83BF27B55CD4FC17E1F69391F /* TextFormatDecoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 95B9E65847C3F916F70EE6750CDF9EC7 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5869F2671232FD8B696028C6D101353 /* CipherModeWorker.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 961A9298905FDEABDC83963349B405A0 /* YapDatabaseRelationship.h in Headers */ = {isa = PBXBuildFile; fileRef = 42836EA2149E9C6A3CF37108F65EDFF0 /* YapDatabaseRelationship.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 964E93ED2C42B56DC94831B03360F933 /* SessionState.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A85B36FDA348C5A6EF145A512850A5 /* SessionState.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9650FB4F76FB8242FA56F9192596014F /* MPTweakStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CDED2B29E6A4F6B2239EC19149318A7 /* MPTweakStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 96527A5A692F49DC97073F8271AAD9EA /* OWSDisappearingConfigurationUpdateInfoMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 80A8985C4FA9F083814A9FB6338BC856 /* OWSDisappearingConfigurationUpdateInfoMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 965AF7183D1BDEDB900713B878681195 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F8CFF3E3FAD9A589537AF367DDDB096 /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 966664BC86A3918E5971C734DA88A8A0 /* TestKeychainStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBA1CF9A6246D6709EC63BF90ABED675 /* TestKeychainStorage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9678BE08F64DD03591B54198AC5D8256 /* OWSAsserts.m in Sources */ = {isa = PBXBuildFile; fileRef = DDCAF0B3DAAEEEA7C8F98EBF87B2D233 /* OWSAsserts.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 967D15381C38EC4219FF683AFB44E765 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991C292F5ACA20C5726C63CD775017C7 /* Bit.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 967DCF6DC94440D58AA9168A192F2E74 /* YapDatabaseStatement.h in Headers */ = {isa = PBXBuildFile; fileRef = 023910A50F6FE69E0C139FBAF1475FE7 /* YapDatabaseStatement.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 9691F1ADDECA579A519A117F9753F999 /* OWSAnalyticsEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = FAFC41140607ACD9080A55C17BD98ABD /* OWSAnalyticsEvents.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 96A5AFC0ACF76B8D19285A8D04E2DCDF /* GCDWebServerFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = DDA3DCEDF0964273505C1E4482BD4DD4 /* GCDWebServerFileResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 96B886FB7C5E31C980B6E216164B9A18 /* Threading.h in Headers */ = {isa = PBXBuildFile; fileRef = 79C38A0DE6A638AFB2CD80EA8AA95827 /* Threading.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 96CF110ABA507AE9D7564370C1C4D7A4 /* AES-CBC.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B9A457A6F21B2C3CB8DFA791F75E61A /* AES-CBC.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 96DB288F22C12B5B1B8B4C8BDC7DCB94 /* MPABTestDesignerTweakRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = E54EEABB33232D72BB7ADA0A8B011528 /* MPABTestDesignerTweakRequestMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 96FFD60FF8F1A39F769567F9B68C1260 /* DigiCertGlobalRootG2.crt in Resources */ = {isa = PBXBuildFile; fileRef = A55CF9AB22784A0BF4CB3E12BE844F02 /* DigiCertGlobalRootG2.crt */; }; - 97215E07D9048850F4071C2ECF183D5E /* ge_msub.h in Headers */ = {isa = PBXBuildFile; fileRef = DAF34D1C8254147087B0C72B431549E1 /* ge_msub.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9721A589D006F6D45312E2ABDACF44C2 /* YapDatabaseRelationshipEdge.h in Headers */ = {isa = PBXBuildFile; fileRef = CAE8C9B1CAE1FFE935C296D447429A4D /* YapDatabaseRelationshipEdge.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 974F4EBFE36707C2F0C1057252A2FB45 /* NVActivityIndicatorAnimationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 754E40D7BFF74C2551C3FF4F757BDD9D /* NVActivityIndicatorAnimationDelegate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 976757A9620077E015A4908D7BCC98F2 /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08AA83417860F0AB48A29C7CE5812E0E /* Poly1305.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 976FC42D9048BF87BDFC15D105162EDE /* OWSVerificationStateChangeMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = E96263FCFEB2D0A9B27D781C26EBD080 /* OWSVerificationStateChangeMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9788E7AC80A557C00768BF021081A144 /* YapDatabaseViewChange.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B78468425550A60EE166E6B8AEE0B11 /* YapDatabaseViewChange.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 97964B9FAC108ED5A9319716E33980F7 /* YapDatabaseCrossProcessNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F0FF94C21621788F65678FE8C6FD7F9 /* YapDatabaseCrossProcessNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 97D381A3DD030994638C1AB450A9138B /* OWSSyncGroupsMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 35B07A8D2AF82C7856E565A1BF0958BE /* OWSSyncGroupsMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 980FFC0375E2CAB4E41B1CF30793E051 /* FeedKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B31F3D790A14DC1DC41AFFC64D96D95 /* FeedKit-dummy.m */; }; - 98385D68E3B5BFB931BFE4D918871BD8 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78A37538CC7E1A401665CE46A28FC511 /* MD5.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9953C553E671231CBACC12AAF446B61D /* ALView+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 967A4D9C7E2BA24BEFF4B77814EED9A9 /* ALView+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 99ABBCC8DDDF9B305034872627FB250A /* MixpanelPeoplePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 194E648A8F13373CEA3BFA0118DBF82D /* MixpanelPeoplePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 99B5F1C80DF8BAAC06657FC2B6E02019 /* OWSBlockedPhoneNumbersMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C4949C4669C1A3735224E994B5AC69 /* OWSBlockedPhoneNumbersMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 99C0A4616473DB9614AC23BC61FDF3EA /* MPPropertyDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = E4CE2E0A94D00102FCB27E7769327D20 /* MPPropertyDescription.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 99C2B815F2FAE972C0A3D3EB1BC57EA4 /* YDBCKMappingTableInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = B074F5F3DA2E44D708131BE42B17447E /* YDBCKMappingTableInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 99D1FF69FCC07F60ACD51576A1710529 /* NVActivityIndicatorAnimationBallGridPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C5142E5BCE104F7F5D0EBB45D4B4F7E /* NVActivityIndicatorAnimationBallGridPulse.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 99EDA89FB104E3BB5C75189E62EE6929 /* AnyUnpackError.swift in Sources */ = {isa = PBXBuildFile; fileRef = B97DC78F24AA8DBD6A6D9510E68E78C1 /* AnyUnpackError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 99EEA32F85C8CFC03F57E96E9BFF2962 /* Pods-SignalMessaging-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 51AA38ADFF28718154F2819DF302F4D1 /* Pods-SignalMessaging-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 99F18663F943A4E93A014BD11D7B549E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 9A1FA30D5A127B8099DCEDAF996564F7 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 105A6FEFC45DE9C8B89ED32FE6A7C501 /* Security.framework */; }; - 9A411DE3DB1DD67B0E5082DBF61C9E65 /* DDContextFilterLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF095A368B3C52D81CC0EEDF7EA0145 /* DDContextFilterLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9A4BD460DDDE28BC32DD97422C04FCD7 /* YapDatabaseRelationshipOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 34981F5627CC5BD617921A30E2BBBE61 /* YapDatabaseRelationshipOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9A5967227638C72C8323B4109AE63139 /* SelectorEvaluator.h in Headers */ = {isa = PBXBuildFile; fileRef = 36F36AA3356C3685BC291FCBD92EDB70 /* SelectorEvaluator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9A6E1FB3A80A4987852EE7CAA224813E /* sqlite3.c in Sources */ = {isa = PBXBuildFile; fileRef = DC14BD0A6206A660DB36EAD4BF3CD88B /* sqlite3.c */; settings = {COMPILER_FLAGS = "-DNDEBUG -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 -fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9B19AF2EDCCCAE98A1EFB530661AC464 /* AutomaticEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 14B063379115576613070FDC5E314218 /* AutomaticEvents.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9B2C508ADCF8A6256C3FCE8A3DFCCDC1 /* Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E3A41FE57DB22CC250C62FF85360CB3 /* Internal.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9B8C853CA389FA67CE5EED933A524ACF /* OWSOutgoingSyncMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = F1FD23E5A7D183567C8CEE7A0F9E7211 /* OWSOutgoingSyncMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9B91A937E181B21EEA532315D4BE8BAA /* MPUITableViewBinding.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AA207580396C4298542896B75B6EB85 /* MPUITableViewBinding.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9BB1ADAE907D07C08C43ADBAFDE57DC5 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DCE2915B9BAC7FA81725D0254B62303 /* HMAC.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9BE735FF1E313EDE136F11D9A6612BEF /* NVActivityIndicatorAnimationLineScalePulseOut.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75949A0F809A5A6058FF86294F00347 /* NVActivityIndicatorAnimationLineScalePulseOut.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9BEE1940236918098A74DFB1D09E43B1 /* MediaContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A4875E9420A494809B9881BE3663A13 /* MediaContent.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9C39A4D6D067B350ED158160EFE50572 /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = B3B68C2F45C542AE3ED8F6DEA2D94916 /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9C857E391C0098D5CDD3425B963826C6 /* YapDatabase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A386F6D3B4B439F42311ECF2AB1A342 /* YapDatabase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9C8E9A67F57A0C7D8B6EC322F93A9FD7 /* ChainKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 60BE82FEEB864B8D68E586024D6D6A48 /* ChainKey.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9C8F1FD5CC72E170D56EA5437A778CB9 /* OWSContact+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D2EB00466FCD9098D6E117D16E6C7A4 /* OWSContact+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9CA46CD3F471A9D520D49421A1383F7E /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E82C3917488BD813AD4A052A208B366 /* AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9CB1F5373D7EB32D57DA25B1B8456E2C /* SimpleExtensionMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9597617128700DB1DD54E3E0147976D4 /* SimpleExtensionMap.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9CBFD0C8E959F59318A7DC67DBB18A94 /* YapDatabase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 97E57B2BF9B3F4D08A12C3BB89C2A42E /* YapDatabase.framework */; }; - 9CD94151DE6DF7715FC44CD21EA33AE4 /* fe_sq2.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F6B8FBF9F22442843977BCDD277CE93 /* fe_sq2.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9D06BA7D0C05A3FE9731903524A942A1 /* YapDatabaseFilteredView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62F1A01ADBAEB102BE660E8D2D0AC4CA /* YapDatabaseFilteredView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9D07760C033B03C8A11BB96238664CD3 /* SMKSessionCipherTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC2EAFB2226BA4C28FA465018D140C8B /* SMKSessionCipherTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9D62BED16FCF8F747E4D9AA700B7BD8B /* EXTKeyPathCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = F31CA3A11D97263E345A63108B36DCEF /* EXTKeyPathCoding.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 9D9A02068A8F186AB6848EC138F28EDE /* OWSDevicesService.m in Sources */ = {isa = PBXBuildFile; fileRef = F07B47DF129A042224820B0ADB06CF23 /* OWSDevicesService.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9DA7E840F633AD16243BD7B8A71B2BA6 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = F960B005A453E431F9F75784CB9DB136 /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9DB781092F5C462FAB225009786FA1D9 /* NBPhoneNumberDesc.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DEE0C6E3CF3C7BA8BE1B30E1169487E /* NBPhoneNumberDesc.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9DD1A1338FFE0ACE223C300CE6B0291E /* Google_Protobuf_ListValue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A18F020F11A32F297FB284BAEC5D643 /* Google_Protobuf_ListValue+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9DF64EB66291B7E78E090FB602DCA994 /* GULAppEnvironmentUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = BFCE71277788486350487CFBE96C3F11 /* GULAppEnvironmentUtil.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 9DFBF411FCB163D9C84214AA36680BDD /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A2CA8657E84B799EE520270B21EDF15 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9E02B2791A874BCBE70E935D932EB86C /* YapDatabaseHooksTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 3380360D6D1B1C942E69DD5F25F04F2F /* YapDatabaseHooksTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9E0B0D513857A7FD120E0027EC97AF8B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 9E3992ED1B3EF0490F46503A585A8A61 /* iTunesOwner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25CFA51FA202E2D37C42A566A9D5793F /* iTunesOwner.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9E4383AA4BB51AC0E04581D8FE1835C8 /* MessageSendJobQueueTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B0A102943A30D06E3377CAB91307AAF /* MessageSendJobQueueTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9E4F362AE5780E5303A800C6E97BC7B0 /* YapDatabaseLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = B4620905B58FBDDBDE0F5904696607BC /* YapDatabaseLogging.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9E56D2D9ACCFF8998E8AE8E8DD944F9C /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72840D2106BCF4F51C8DC907BF50FEBC /* NSObject+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9E5B8D3E23F779DEC4941DAB5D367C48 /* YapDatabaseViewMappings.m in Sources */ = {isa = PBXBuildFile; fileRef = 68DEDE9B65DE340F6F6E486CE08C0017 /* YapDatabaseViewMappings.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9EA40525F3A984E78D6D5631D2D082F7 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = E9C9F7C14B78D565AEAED3A63DFA2A27 /* DDAbstractDatabaseLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9EC75457846C593BC0FB3345CC9A1316 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - 9EF40EB2671D383D009F41AC87BD282B /* OWSSignalService.m in Sources */ = {isa = PBXBuildFile; fileRef = 1017F831D1CFD7B9202836374FB7E943 /* OWSSignalService.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9F683F0F9CE18CE33DBDCCE150D97202 /* YapWhitelistBlacklist.m in Sources */ = {isa = PBXBuildFile; fileRef = 8459BF8036CC4E5F9CCC5149B88E279B /* YapWhitelistBlacklist.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9F8DD36E0805676F5C2649FB4CAFD192 /* SAMKeychain.h in Headers */ = {isa = PBXBuildFile; fileRef = F8C96B7E6E3FF2AA9BDAFAA098AD7B9B /* SAMKeychain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F9C9DBA93B16985FEDB080B34FDB7A8 /* FIRBundleUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 567B98E11A25F1D7F3054BE463BDF4AE /* FIRBundleUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A0236666FFEA162113F41BE30BB7993C /* FeedParserProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 011DEF3EAA317217C77ADD545A415149 /* FeedParserProtocol.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A04812D05CEFAF3CF847F6D84E467F82 /* crypto_int32.h in Headers */ = {isa = PBXBuildFile; fileRef = 6663C5ED7AD1985A9ADD42273E172ED5 /* crypto_int32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A04984464787CC3DE08CDF5A02FEE67D /* ALView+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = FA42EEA3119CFB75E881C00DE5744663 /* ALView+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A07EDC93838465B48E7A6EA5C3B65E6D /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D41CA72CD6C659759009AAF23AF8358B /* AFNetworking-dummy.m */; }; - A0B72EC2511DE36ACF072BE26C1F089A /* BinaryDecodingOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8E07EB4CF3441194A64E67753AF42D6 /* BinaryDecodingOptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A0DC25189B6068DE17D86A4ED0022A81 /* Message+TextFormatAdditions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D98A2C67BCB5FB04D7B0476BB46FA0B /* Message+TextFormatAdditions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A0DF12DF804504E477C0A85B76819C4C /* YapDatabaseCloudCoreGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = D5C59ACB24D671102B17AF9B4865984D /* YapDatabaseCloudCoreGraph.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A0FC402EDDC1DAB2B3A78676152327CE /* YapDatabaseSecondaryIndexConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = B48EF25277FF61E5D5213A98462C7E5E /* YapDatabaseSecondaryIndexConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A11115E6138463923A77815485A3AED9 /* NSError+MTLModelException.m in Sources */ = {isa = PBXBuildFile; fileRef = BE5312CEA4690C8FAB76488EA6E48328 /* NSError+MTLModelException.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A164FDA449625E3093297A63748A71B8 /* LKFriendRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 863FB1F8B6B9127EC3BC80D78517EE83 /* LKFriendRequestMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A1AA2F8FE42AC894BA5C2417329E46FD /* SwiftSingletons.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2AFF153A21BE3EE0B6E9C19BE33F081 /* SwiftSingletons.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A1C2D7CB9ADCDD0678189739C8F9B053 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - A1F44671F37165763D8ECF46DD90F389 /* PreKeyRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 605B1572B1612EF0E02CF1274E6056A8 /* PreKeyRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A219037AE5F25AA7F6F0DEDE60BDF6A4 /* YapDatabaseCloudKitTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 0006C20B77295D08CA55E94AE54EC441 /* YapDatabaseCloudKitTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A236DA1C7ADFE656E8F884FBFBB6F450 /* DataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 77750FA582ABA84BC1356FABC26B95D7 /* DataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A265070F1790BEAFF3E369EFD464E682 /* FIRConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = B92D847B827FD9155167851C232CEC58 /* FIRConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A2872514A14E3BE3EDA033729DA9D60E /* OWSDevicesService.h in Headers */ = {isa = PBXBuildFile; fileRef = DB129A1DE4AF3C483C875C80D98C4332 /* OWSDevicesService.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A29ABAC8F52DD9A5F498D92D1F30C035 /* RSSFeedCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3182456F0B62C43D821ABE8061EB18EE /* RSSFeedCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A2F078A558BB01FAA4B8F09D067436E0 /* MPUITableViewBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = 97E333907F6A0399737DFF8EC4ECD6C4 /* MPUITableViewBinding.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A2F3325E6B4B5ACFF6CC25A4E41200F2 /* OWSSignalService.h in Headers */ = {isa = PBXBuildFile; fileRef = FB891E1A245EC34BA8A3D0DC6EC90228 /* OWSSignalService.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A301856CD3973C4613D69DBBFA7E5C8A /* ZipArchive.h in Headers */ = {isa = PBXBuildFile; fileRef = 452D7214F7269A5A4754B07C67C70E8A /* ZipArchive.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A305C224800FF24B8285ACD7F85B9363 /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 43FC16D1F6FDE330638283932DD5C107 /* UIViewController+AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A30706C048D7E62D2C176C1B1093316D /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 553B36161F2D03B5945170D698D19C89 /* Array+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A335ABD9A6734B3BA93E44D0534CE7ED /* NSError+MTLModelException.h in Headers */ = {isa = PBXBuildFile; fileRef = F9AEA4678F6CF4C3399ED9E51FDC8EF3 /* NSError+MTLModelException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A3670C611EA96B11F8E9AB52D2164B4E /* MPVariant.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B34C1E6FFEA77EB80A4923BA271C3B3 /* MPVariant.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A3BF5E794883E74CBAB111FF0CD7A2EF /* MPABTestDesignerClearRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DFD4C3F90E7B2B98DB974DB0C06588A /* MPABTestDesignerClearRequestMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A3C8614FD14312B23BE6C754794EE4B9 /* MPDisplayTrigger.m in Sources */ = {isa = PBXBuildFile; fileRef = BEF0262D3CAA4A0E5B175EDE8265020F /* MPDisplayTrigger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A3D9E1CD12C50AC9B9FDE5AFCC80C5A1 /* CocoaLumberjack.h in Headers */ = {isa = PBXBuildFile; fileRef = 927037EB8AF12624CD4FCA002198050D /* CocoaLumberjack.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A405A4CE98935F87E859BCA8E1D7AD9B /* SSLSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AAD6AA7C7742C21E8F13B00CCA85538 /* SSLSecurity.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A40C7A5C00BA77282469D80B308A76C2 /* zeroize.h in Headers */ = {isa = PBXBuildFile; fileRef = 82C68E7FF62E53EAE619753197DB9DE6 /* zeroize.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A430F36E2F60E588F8D4AE053EAF28D7 /* SQLCipher-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 45EA5F7F1FF8B1E94D6C03BA05CCD86A /* SQLCipher-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A48B4C89DF8BCC747C0C61B6FBB2A46E /* OWSPrimaryStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FA222AE8C1F8A744B195426A560084A /* OWSPrimaryStorage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A4962B75637A2D2497103693BD53C3B7 /* SignedPreKeyStore.h in Headers */ = {isa = PBXBuildFile; fileRef = C0824E949824213582B098E0726A47F8 /* SignedPreKeyStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A4E25BE3C406A95BF2B37608624D2FFA /* NBAsYouTypeFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = D21BE4E2C1BD7F89580FF94781A24DBD /* NBAsYouTypeFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A4EB77E2B93A56BD09404BC6838C3A4C /* YapDatabaseTransaction+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 00E22FF732BB4AC9B24CE03877736C7D /* YapDatabaseTransaction+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A52CF4D3CE8A6AC37BCDCB67EC4C96A9 /* DDLoggerNames.m in Sources */ = {isa = PBXBuildFile; fileRef = 239BC4DA11A97D319309931AEA35F8B8 /* DDLoggerNames.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A58F8187FE2E389212FE8141FC952085 /* RDFPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C8F3817E0399D205891958928A0543A /* RDFPath.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A5AB152496DF6DE9917058673D82468C /* DDAbstractDatabaseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = B0DC9F0C417EDF312E68E1447CCF3F2C /* DDAbstractDatabaseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A5B1ED18E2EF30710AB511FC22C36B36 /* DeviceNamesTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7166B92B9C166FDF75635F25C15D3E3F /* DeviceNamesTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A5B3B68F5B49BCB997FBA85AEC69F352 /* YapDatabaseViewPage.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3DA1EB2A8B627B2753EC069A98C08782 /* YapDatabaseViewPage.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A5D318EE81B9E95625591CDDE43E3824 /* CCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86AD29CD30DB35C0576C70BA364EFE36 /* CCM.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A60CB4A53FBF253AD054A0ED15C0E866 /* MediaPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF4665C5252293733CB4BA4D0D8FCAA1 /* MediaPlayer.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A61ACCAC60B783409F3E794F4219CC57 /* OWSReadReceiptManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 73AB41ACF9DAE245F4BFBCB611FF8A4F /* OWSReadReceiptManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A680114D3E016F8367DD6CA03B949DE5 /* NVActivityIndicatorAnimationLineScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83DD8425C42FD896D3309206ACE3E6D9 /* NVActivityIndicatorAnimationLineScale.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A69F8F75AF81AC4D4988F02C9ED75B10 /* GCDWebServerStreamedResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8797E305F98441E016BF965561A07CF2 /* GCDWebServerStreamedResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A6B3B8CFC71AD89ECA1EEB755CCBF317 /* YapDatabaseSearchResultsViewTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 26F87741E5B6F18221A259A776FAC26E /* YapDatabaseSearchResultsViewTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A6BB58DE6A8A778BD98DDA4BF67BAEC9 /* DeviceNames.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D0B787F34696B242570A94A934306B /* DeviceNames.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A6EF6FEDF4FD1B84786B8DD65A70CFE5 /* MPObjectSerializerContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 22AC1331D73AA4F2B25D4A11BBE7967E /* MPObjectSerializerContext.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A6F34229CA98A194442EF9C73E7F85CB /* empty.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4E4BA8EDE016B125209CD82E0E75F44 /* empty.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A715AC7589528425C32DD7ED5C9311CD /* NSUserDefaults+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 349F565BF75CB2FA84D297EF716C8BD2 /* NSUserDefaults+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A71C1E76A28D8FAED404258DDE6378E7 /* MTLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B20B7C0287C2FA957B9B0535DA4CA98 /* MTLModel.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A75DC2087B6EADDEA0EF6A319AD88FF2 /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EAFB8AFE018484D7E30B131154D2150 /* UIView+AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A7809021FAAFFA9606E6E382725E9CC5 /* JSONEncodingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BF77802D06928C2AE02AFCD01F278FD /* JSONEncodingError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A79FED9A78BD863EC34585F244752005 /* Varint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FD4DE03B700D2F9FD0E635CB2B68A45 /* Varint.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A7B33D2AE64F8A72A52D66373DB0BC3C /* OWSFileSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = F70E9CE2EED92D0DFD78371212070E7F /* OWSFileSystem.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A7D1CCE5AEDBFD79A01F47E1B1CDBC10 /* OWSPrimaryStorage+SessionStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 01E3EC73CBFD89FF717CDF62DBB3E34C /* OWSPrimaryStorage+SessionStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A7FE52579E7344E2E4ACC1EC75580895 /* YapDatabaseSecondaryIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C023C3A5FEEF2A22EC5F1A8BDFCEA04 /* YapDatabaseSecondaryIndex.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A82A8959B7682DB64EF701AFE16619DD /* YapDatabaseRTreeIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = 5747F71F9EA384175889AE8173E85BAE /* YapDatabaseRTreeIndex.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A84CF48E929B89CB77535A408D1B9566 /* ExtensionFieldValueSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC3D26BD220B31225A146B5B48332EFC /* ExtensionFieldValueSet.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A8940A6E81AA47C2B01DBCC0C61A6EA3 /* TSIncomingMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 06A97D97FC2A1D494AFEC038748F947B /* TSIncomingMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A8AF67F56249D06D3C448A86E2104C3E /* Randomness.h in Headers */ = {isa = PBXBuildFile; fileRef = BAEFDFAA8F84AEE7C68F8D3729ECEA13 /* Randomness.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A8B32E80B45EF0BEA1B9A1326DFEB888 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA87AED48BDA315C57A0A350A5A26EC6 /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A8C2BCF6AE8A726D86B5D0A6293BBA8A /* PreKeyBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = B86D736B84AB8403597F7293B21A1280 /* PreKeyBundle.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A92A1A86EF790A60D00892D0BCF3482B /* YapDatabaseConnectionConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B9A5FCE1ACAFC6A1EF5EAA04A5D3E89 /* YapDatabaseConnectionConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94FB359DFBE32A335B563A10DB27B48 /* SSKPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8ADEFEF977CB53D5A23CCB891609015 /* SSKPreferences.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A97451653B7206CE92D10989C8A4715A /* Promise+retainUntilComplete.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7CDE370E6369E02629CAD329D738C51 /* Promise+retainUntilComplete.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A983D65F0EB61DD8AB95C3A77C222DC1 /* MPABTestDesignerClearResponseMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = A626D02A5EE784035EA6A53115CD5FA1 /* MPABTestDesignerClearResponseMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A994532C89785BC3597345C2D212311D /* mz_strm_pkcrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 046C0239F9DD6ADAF369A0F01B522CC1 /* mz_strm_pkcrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A9BE9E180D585673DD0254741EFD79FA /* YapDatabaseCloudKitOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = FBFEAFF52035D68E890B31196C64AA1B /* YapDatabaseCloudKitOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AA49F5803CD89F891AEAB3B34D061AD7 /* EXTScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 55D75287F87139BC0691496FD56D34BE /* EXTScope.h */; settings = {ATTRIBUTES = (Private, ); }; }; - AA67313FB9673557790BDED70EF71BF1 /* UIColor+MPColor.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A64D4040D424BB290986136666E4D8 /* UIColor+MPColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AAC503E540DB11768D2AEA3DF193BF41 /* NBPhoneMetaData.h in Headers */ = {isa = PBXBuildFile; fileRef = 88A6A1E9B4F182DA34A92D8D4CA399B1 /* NBPhoneMetaData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AAEB8F5F4BEE10665C80EC6537811529 /* OWSDisappearingMessagesConfigurationTest.m in Sources */ = {isa = PBXBuildFile; fileRef = AB74CF993FF7500407F4A0BBB086D94B /* OWSDisappearingMessagesConfigurationTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AAF1B813E5BDA2248D69F6EBB9F2AFF4 /* AxolotlKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B932F871B555C781B2396D0310998EB9 /* AxolotlKit-dummy.m */; }; - AB04675E86F2D1E7A00AC91AB575F283 /* BobAxolotlParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = A02FAB20AB4F372599BE8326DB4727B9 /* BobAxolotlParameters.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AB53D36BCBB31C6BFA23D46B25291275 /* YapReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3B69181FADA38972E5464FD67308A9 /* YapReachability.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AB669E3B2071594787795751DAA5E935 /* Contact.m in Sources */ = {isa = PBXBuildFile; fileRef = 73FC75A0B803F785F2F845CB0BB92E79 /* Contact.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AB845E1669CECBD279E3A290F84214EB /* YapDatabaseExtensionConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = B3064C3639239244B59421B33505A66A /* YapDatabaseExtensionConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AB9B7B36FD390D2462B5EEC84F21C419 /* YapDatabaseAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 3665C83E2BC951E808844D5D5127A911 /* YapDatabaseAtomic.h */; settings = {ATTRIBUTES = (Private, ); }; }; - ABBC5DAF846C3A0A1E047751E49098E1 /* NVActivityIndicatorPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85A084BB5B7918E183171397E030FEC6 /* NVActivityIndicatorPresenter.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ABE912E2AF390FDFF9D6FEC546093D1F /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0266D34A40994A7157C87D94B25BB98E /* AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AC05E31094319FFFCB6FB87B1FB59C2A /* MediaScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 455B66D0B5B5862E56B319A26993D6C1 /* MediaScene.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AC0FBCDEA84AC5D5FEFD8A7C2C1E780E /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 701ECF735510D282FE37DDA41A23ED66 /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AC3C17B36133F77FBD84BE324E60376D /* OWSIncomingSentMessageTranscript.h in Headers */ = {isa = PBXBuildFile; fileRef = FA4EE58C46A5A490A0608A0F7CFFA6CB /* OWSIncomingSentMessageTranscript.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AC47160C2E33A7B59EEB7A381CD55244 /* YapDatabaseHooks.h in Headers */ = {isa = PBXBuildFile; fileRef = 5915279A49A80AB710D83A536A3ABC6D /* YapDatabaseHooks.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AC4D84FD6109FBC96A39AAA0DB4A5E5C /* type.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A3E851A409C76C3F14951EA98D9E6ED /* type.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AC6B5C303A9AFEA24DEBD3081BEB042F /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5883071CA951ED9B7BF433AB5C383A50 /* SecureBytes.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AC6DB93BF4ACC7FFA0A3E019DC989FAA /* OWSPrimaryStorage+SignedPreKeyStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 53D7828BEE9FBC1414D1D82520E98C2C /* OWSPrimaryStorage+SignedPreKeyStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AC72725B547E05FC32048AAC4C248507 /* YapDatabaseFullTextSearchTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = D03C002B7BFF3B57559BA15C4D370F08 /* YapDatabaseFullTextSearchTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AC908EDBDF6C013544502E1E192B935E /* SigningTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 32E0A1B905791E4B8AF16CE75F5394A7 /* SigningTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AC9D1232CFE01819761F169793349374 /* YapDatabaseFilteredViewTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = FE00DEB16953120FD5EC5F8125AE8EAE /* YapDatabaseFilteredViewTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ACC24DEE95D10471D16B319DEDA0824F /* Pods-SignalTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D36D1B5A594E0251F05A177AD16A9862 /* Pods-SignalTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ACD68D7F719AE18D848048A7618D5316 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F9421152E6F9F5288299F313E6AE2932 /* AFHTTPSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ACE7340166D219185AEA5DB9A55807AD /* OWSUDManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 809E26BD177EE9EACD3212B9C6A12D2F /* OWSUDManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ACF750B2E654968818CCFA53F678AC94 /* YapDatabaseCloudKitConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = F0DD796F207825BF218F0754154B7A21 /* YapDatabaseCloudKitConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ACF811AEACC0FACB153BCE0036A14D91 /* TSOutgoingMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 2452B4F65545E02738D311EF03EA6BB2 /* TSOutgoingMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AD84F64CF72FBF7A702D4F13B17E4845 /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = D46256B6EE87D67A84ED23191334E817 /* SHA2.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ADB395D602D57725297B03B227868811 /* AppReadiness.h in Headers */ = {isa = PBXBuildFile; fileRef = 758D6E8BDCF12C9C35DB1643ADDCD040 /* AppReadiness.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ADD30CB23FD4907A2A16A658BA020BEA /* FIRAnalyticsConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B97FA1B5E5B4E5473F2DE076DB1593B /* FIRAnalyticsConfiguration.h */; settings = {ATTRIBUTES = (Private, ); }; }; - AE0C30C5A9A365C8B5239C0E642C371B /* Reachability.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29369BEA76FE6E8664A895B8F132C1DC /* Reachability.framework */; }; - AE0D3B771ABD1E538C9DB17BCD58ED8B /* ProtobuffsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = AEFF17D76365DA34659BE6557BFA7378 /* ProtobuffsTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AE4DD5793A2E613CFA7E62C556D4EA99 /* GCDWebServerRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = B25E5C13888EC2B733351D2756B1EBE0 /* GCDWebServerRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AE79C488DC4151578F42254D264AAF72 /* NSData+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C291D34E0195FA5512AA0DA59398900 /* NSData+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AE8272D5A4098A317BF663057F8CBF3A /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BE693131FB40FE9AB195D369D73F45A /* NSNotificationCenter+AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AE881656E5C1A71A3DACC54FC071629F /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A4D9A00904D1B88D00E5B1E63B17E /* CryptoSwift-dummy.m */; }; - AE8B8005F839AB64DA5B78B5EAC296D2 /* d2.h in Headers */ = {isa = PBXBuildFile; fileRef = D29260BFB7370CFF0E161B68630C83E9 /* d2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AE8ECAC67870F5F638ADAEAD69AB59DC /* ProtoNameProviding.swift in Sources */ = {isa = PBXBuildFile; fileRef = B852516AF7D26B40AEBAD3A04BB8AFF2 /* ProtoNameProviding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AED530237F60F180E1533CD8CA46BAF8 /* OWSDisappearingMessagesConfigurationMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 89AAF2ECF7A2A2274D7663384642E023 /* OWSDisappearingMessagesConfigurationMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF04B2B20DF49054DDD4DA4D180DF84B /* MTLReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = DF39A77D23CC04B5A564303763644A93 /* MTLReflection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF1F603869BE4E3EDD16A408E9A84496 /* mz_strm_pkcrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F57D80E0A2ABC68D878A0B5483A19B99 /* mz_strm_pkcrypt.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AF226895BC778E599591D3208D57CC32 /* OWSDisappearingMessageFinderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F5CCD9C51446DDFC628621B9E706941A /* OWSDisappearingMessageFinderTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AF5A4B638BC1D6C235831C07BD79B46F /* SSLClientCertificate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E9FAB28E05B56D6830C0E750279DD01 /* SSLClientCertificate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AF66DA40DA7E50DEAC3C19C7E9C5E2A0 /* YapDatabaseConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = C65FE12188C5592AC813B4B9A442D766 /* YapDatabaseConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF82228BF86E1E21E98BA4A1D7E94FB3 /* NSURLSessionDataTask+StatusCode.m in Sources */ = {isa = PBXBuildFile; fileRef = C60A9979E63ADFA3C3ECC18869675A2D /* NSURLSessionDataTask+StatusCode.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AF9C4231A06349691871B9018A62184C /* english.txt in Resources */ = {isa = PBXBuildFile; fileRef = B23C35894858352029B2BB2D8E218C4B /* english.txt */; }; - AFB8A6B89EDEB8891DB8ABE0F509A96E /* YapDatabaseConnectionState.h in Headers */ = {isa = PBXBuildFile; fileRef = D01DCF8DE071C9C1E866550EFF02679F /* YapDatabaseConnectionState.h */; settings = {ATTRIBUTES = (Private, ); }; }; - AFB8BE1442C8C750A33E5393B3DD5438 /* ContactsManagerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = DAADAD3C067668ADAFAD5D205BB33A1C /* ContactsManagerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AFED33A36E5CCC72136F3D7A662993CB /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CC941CB1941CDF0E45562CD59408948 /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B006153A1BA21FBE172063EEB8B1EE82 /* YapDatabaseRTreeIndexTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 252AAEA028E444A93B5A6579EBA49532 /* YapDatabaseRTreeIndexTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B0148D1CCA6660C2BA6C332A4C853EAB /* ExtensionMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E68D6F4025A5CD7F7F2111CF939CA95 /* ExtensionMap.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B0210EC118697BB814E0BF23E4A3AD39 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 90A36B551DAF2FC8F3A12767E83FA3AF /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B042DB6D0924815F524A0804A26B6D47 /* ParserError.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6B768EC3FC7AC0E320026B307BC9F94 /* ParserError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B048C2B4BBDDA6684CFE57A4DB92013C /* iTunesSubCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83FD097AEB7085F6667ED50D486DE3B2 /* iTunesSubCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B053663A850F37879C92FC72F6C7F7A9 /* MPAbstractABTestDesignerMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C96B265A5A7541BDEC3C8884D42D07 /* MPAbstractABTestDesignerMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B0A10F6E18E22D756D2A6750744473B5 /* SQLCipher.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 086B66EB1446232C6C359E0A1A3C53B0 /* SQLCipher.framework */; }; - B0CADACF5383A00DE6E83735638F461F /* FullTextSearchFinder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B338243AC6ACC7643044A105F9C616B /* FullTextSearchFinder.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B0CB8FC655283C23F61D70280A4E0C3C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - B11195FCE6D7299E059021F8C0F047CA /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = F48A017B8BF7378CF8D9C42E4F7F288F /* hash.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B142228CB1AA270B7618FA4C766195D8 /* OWSDataParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAFA9494EE1DFA502344B2EC9BD01C05 /* OWSDataParser.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B1423D57605438E07BB0AC4BA40E4FCE /* YapDatabaseCloudCore.m in Sources */ = {isa = PBXBuildFile; fileRef = 94C2937821F1B561D414A1AC8829F463 /* YapDatabaseCloudCore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B147C8355035CBFDD14030FDA6D07CED /* FirebaseCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3395B3A342D6D61858A3C7E3CED6FBF8 /* FirebaseCore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B14A252B7094417ABCC40D23A642F1FD /* ExtensibleMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 378BFF54C647177702DFA1AC059EA7D9 /* ExtensibleMessage.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B176F37448A223F21E29D8FE617AF415 /* PreKeyBundle+jsonDict.h in Headers */ = {isa = PBXBuildFile; fileRef = CBEF01A7D6E4807534D6FBC73A42D906 /* PreKeyBundle+jsonDict.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B1AA8B601FDB04E0DE7FDD875E1D1A17 /* BinaryDecodingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2FD0BBFF090BE97BC696FD16D1DCFA5 /* BinaryDecodingError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B1BB18456F823EE9475D26D204D95964 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3195AC9376BA117C1D14EF68223BCA7 /* MobileCoreServices.framework */; }; - B208226C52AD5316DB7C77C1572C2094 /* SessionRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E25CA49CC18C94EFCA62986D604B5F /* SessionRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B21E85D459EE78BF1F1A1EB939F2B112 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - B224AB92D1F8FCC45ACC3540F46C78EC /* NBPhoneMetaData.m in Sources */ = {isa = PBXBuildFile; fileRef = ABE0B149FD3D90CD81F12CFF08D2987D /* NBPhoneMetaData.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B25C08D759B7A22617AA1EF9CA1FE234 /* YapDatabaseTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = D00DEF16A5213BB827F708288384CB3F /* YapDatabaseTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B26B2B854AD8612B67486C7A2DC650E6 /* MPObjectSelector.h in Headers */ = {isa = PBXBuildFile; fileRef = 2248B3DBB78A4CD725A624C46AF325BE /* MPObjectSelector.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B26C10F0ADACC5C1E6D2AF4F34C50E31 /* SMKObjCTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 55D5E2EA12FC9FFD629CC143AFEB7F68 /* SMKObjCTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B26F17A364D5E796C92A6ED9A558D166 /* OWSContactsOutputStream.h in Headers */ = {isa = PBXBuildFile; fileRef = FA3B6BBBF48E6F38323A90F1D4990DD1 /* OWSContactsOutputStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B2CB31C5EB8845532E382937050E0A62 /* ByteParser.m in Sources */ = {isa = PBXBuildFile; fileRef = B3F76974BAF05195E6C2F8F7A44988DE /* ByteParser.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B2FBEF64969995E33EFCF2D2BEEE1FAB /* mz_os_posix.c in Sources */ = {isa = PBXBuildFile; fileRef = FCE010C85775D6D6BB00DF43697758C9 /* mz_os_posix.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B32A0792F70E3EB111A7D4B30BA064D4 /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = F45B64F856F2F26F5AF6318DD79CC426 /* NSLayoutConstraint+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B36CE252F5438D3461F62230B983A59E /* YapDatabaseStatement.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B5DFDAABA99CC002003CFB14754CF64 /* YapDatabaseStatement.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B37501E8ABFD594BAEF7E152C2F5151B /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E42CA4977EDA8C796B04127CFE4D9B6 /* Utils+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B3752997C1F8031A6A090A0DBA013C9F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - B398631458DAD7C88F35E6D888DFA7D9 /* JSONFeedItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = C78048F8C9DB22BC1984A05FAA8173ED /* JSONFeedItem.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B3D53AD4ECC3D3BC4200D4710716E8D8 /* OWSOutgoingReceiptManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 44E94BAE7335DA9AF02E5EAF3B271D7F /* OWSOutgoingReceiptManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B43BE335DFF1A33EFF2A3052D2C50066 /* YapDatabaseActionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 698C8D781B29922D2E7935D527CB3EA9 /* YapDatabaseActionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B45F4530B34A4F001E18E3C27BEAAC62 /* OWSPrimaryStorage+Loki.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CE4EF549F4DA9C3E7B4A76913C6C6B4 /* OWSPrimaryStorage+Loki.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B46C53A57BC444DF0F92EBC7E35B53B1 /* AtomPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42D27836F27A95AB7E5DAB139FD7B9CA /* AtomPath.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B48C45F0747C64EF151B1BEEAC09095A /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8E37CD510C20D7DF1B8C4538508AD98 /* Digest.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B4CBD000A5E5F2A3B46CF5FD549E8E35 /* TSAccountManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 43CB81C94B564AA251A277C9E8C9DBFA /* TSAccountManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5067D69476059306A9B05237BB6B4D3 /* YapDatabaseExtensionTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4839D783549810CEBA0A34902D059BD8 /* YapDatabaseExtensionTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5705D6D671A0A388A270C345520FE8E /* SwiftProtobuf-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D95C542AF0A176D856BDEA21AAC4B07C /* SwiftProtobuf-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B57C99A6E7E504407DBE0A0F9A1E2584 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3195AC9376BA117C1D14EF68223BCA7 /* MobileCoreServices.framework */; }; - B5A56E318D0D4A05BCECBE27D4A38E09 /* ByteParser.h in Headers */ = {isa = PBXBuildFile; fileRef = A2A806B6F98D29D05FD9BBFADD974A1C /* ByteParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5B93581A972C3A0FD7244B105F5E8BF /* YapDatabaseFullTextSearchTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DE9A40AC81F5F170252EEC14C5DFAAF /* YapDatabaseFullTextSearchTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B5EB2B20063F978693769953A20AE4D2 /* OWSProvisioningMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 6746313C3F3B3E7C63B1BCC5EC9ADB62 /* OWSProvisioningMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B6328668E65CB5ED993E57B501D7ECE2 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6211D7850271F487429C404128AC4F82 /* PCBC.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B638DCE4BE935FB465F05818F0741F31 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F07CBBBFB32198DD4BF11B2D7B35D75 /* Thenable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B64C7B3B46C693CD01C85D52E9D1E39F /* LokiPublicChatMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF415E5DA1D2B6D643FC6568ECBD0FC9 /* LokiPublicChatMessage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B691D8686DC6ED68627EC190085E6693 /* ECKeyPair+ECKeyPairTesting.m in Sources */ = {isa = PBXBuildFile; fileRef = A620AFF518E24B158206700B4EE8553E /* ECKeyPair+ECKeyPairTesting.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B696519151F2AE96FF6125D223DB0595 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 8293E2A743D63A5D00D0BAE1B309720D /* dispatch_promise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B69A8A31F0BEFABDEBFF88A5A74722C2 /* YapDatabaseFullTextSearchSnippetOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3182666BD26428150331703CD5F5CC91 /* YapDatabaseFullTextSearchSnippetOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B708EF29282E27E90614CA4F8F4FB4D8 /* OWSDisappearingMessagesJobTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 25FC0921EB2F706ACA0BEB4C178F6545 /* OWSDisappearingMessagesJobTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B752427C90EF32A6A79616D8FC9D785B /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E2BC2A6FDFE2A27511B3AE2D1EB354BC /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B7572CBD8DB264F55739907F49FE9615 /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95342B2FCCBD8EF1BEBDF18C2BFE917B /* HKDFKit.framework */; }; - B75DF7B860D21CCF89012A1C36299C99 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D6D61E2F16376AE5A36EC72C5C99127 /* DDMultiFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B775A5FF22407EA2283DA5BEA2D32A17 /* sc_reduce.c in Sources */ = {isa = PBXBuildFile; fileRef = A9494E164E8B6EA6A8A15815BFA12909 /* sc_reduce.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B780C19B6080FDF19E8E4811FA60FA30 /* YapDatabaseSecondaryIndexTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EBE6D81AE0E2B1F81DC355FF71BAC2C /* YapDatabaseSecondaryIndexTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B79194483FBAE480A5FD4DAF32F967ED /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = C52AB403FC6D823012C332C2F34534DC /* join.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B7B23F3CBB7651D512CAB17BBFDF66B3 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA277F108EBAFAB2BA89E7E0FEB24925 /* String+FoundationExtension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B7D920DACC47B97DAA84BC6FE1454BA2 /* GULLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = E434C592B54E2DF1DC7676313BE1D0C6 /* GULLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B80499CBB73CE621BA5BFC828DB9E0DF /* NSArray+NBAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1621CB931F7847DDFD881735025A7EE9 /* NSArray+NBAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B80CA42523FA378700F28211 /* LokiSessionResetImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B80CA42423FA378600F28211 /* LokiSessionResetImplementation.swift */; }; - B80CA43123FCFBBB00F28211 /* LKUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = B80CA43023FCFBBB00F28211 /* LKUserDefaults.swift */; }; - B80CAF38238CE728002003AF /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = B80CAF37238CE728002003AF /* Debugging.swift */; }; - B82325E9CA9FCCE7A0587F71ABF5CA06 /* NVActivityIndicatorAnimationAudioEqualizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFAD9BE088CC4AC69FA73F2D9E5C389B /* NVActivityIndicatorAnimationAudioEqualizer.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B82B984D8D7C2D357F5EC2FE0613C912 /* FIRLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 00D221B808A11B5F85DD171182C0917C /* FIRLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B836BFCB23DA6B50002C86A0 /* LKSessionRestoreMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = B836BFC923DA6B4F002C86A0 /* LKSessionRestoreMessage.h */; }; - B836BFCC23DA6B50002C86A0 /* LKSessionRestoreMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = B836BFCA23DA6B4F002C86A0 /* LKSessionRestoreMessage.m */; }; - B836BFCF23DA944F002C86A0 /* LokiHTTPClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = B836BFCD23DA944F002C86A0 /* LokiHTTPClient.swift */; }; - B836BFD023DA944F002C86A0 /* LokiSnodeProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B836BFCE23DA944F002C86A0 /* LokiSnodeProxy.swift */; }; - B84664F723503DC20083A1CD /* Mention.swift in Sources */ = {isa = PBXBuildFile; fileRef = B84664F623503DC20083A1CD /* Mention.swift */; }; - B8575E39F8B440ED18AC885753713527 /* NVActivityIndicatorAnimationSquareSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 811083E74CF6B3759C094310BF3B3882 /* NVActivityIndicatorAnimationSquareSpin.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B86207AAA78C6A0EDEE958F361D8E66A /* SerializationUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = B1926EB07CE2F9AAE32787A0DB2D0B9C /* SerializationUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B86F994623E7B675005D9FE9 /* LokiRSSFeedProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B86F994523E7B674005D9FE9 /* LokiRSSFeedProxy.swift */; }; - B87FAD6ED22494493E4ACC9AB7677BBA /* RKCK.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EA1C5787FEFD053469BC9B027A9211F /* RKCK.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B88847BF23E2A5E9009836D2 /* LKGroupUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = B88847BD23E2A5E9009836D2 /* LKGroupUtilities.m */; }; - B88847C023E2A5E9009836D2 /* LKGroupUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = B88847BE23E2A5E9009836D2 /* LKGroupUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B88847C323E2A66C009836D2 /* LKSessionRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = B88847C123E2A66B009836D2 /* LKSessionRequestMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B88847C423E2A66C009836D2 /* LKSessionRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = B88847C223E2A66C009836D2 /* LKSessionRequestMessage.m */; }; - B88847C723E39039009836D2 /* GroupUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = B88847C523E39038009836D2 /* GroupUtilities.swift */; }; - B88847C823E39039009836D2 /* GeneralUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = B88847C623E39039009836D2 /* GeneralUtilities.swift */; }; - B89CF41476E039C2F8087F1384F63C55 /* SMKServerCertificateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E39D121D057ADE54A028CFA9F17C102 /* SMKServerCertificateTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B8A1AA4C2895B3618DC19CAD78678F50 /* CocoaLumberjack-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DB94A9B593057F885764996C43732C8 /* CocoaLumberjack-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B8A5599223544407009B5F68 /* DisplayNameUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8A5599123544407009B5F68 /* DisplayNameUtilities.swift */; }; - B8ABCE2F0E53081130C22DB0701A44AD /* OWSWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D7C254CD080AD9AAB9F689B1A674669 /* OWSWebSocket.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B8BBFE4ABF525C775920B88089A5A3E2 /* MixpanelGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C4B150B9AEA3057AC812AC627ADA8BD /* MixpanelGroup.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B8BFFF372355339800102A27 /* LokiPublicChatInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BFFF362355339800102A27 /* LokiPublicChatInfo.swift */; }; - B8CA3B05021A714FDA74442F2841C7B1 /* NSArray+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 488DE69FD9CB297463FDFEB15C9EBE04 /* NSArray+MTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B8D29C02A23D444A08C548FF3D838B45 /* YapDatabaseManualViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = ABEEC0DBB30E34AD1F8C8987C12C540B /* YapDatabaseManualViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - B8D92A97237A322C0024119B /* ContactParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8D92A95237A2F610024119B /* ContactParser.swift */; }; - B8DE20102345C4F60069EB06 /* NSSet+Functional.h in Headers */ = {isa = PBXBuildFile; fileRef = B8DE200F2345C4F60069EB06 /* NSSet+Functional.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B8DE20122345C5280069EB06 /* NSSet+Functional.m in Sources */ = {isa = PBXBuildFile; fileRef = B8DE20112345C5280069EB06 /* NSSet+Functional.m */; }; - B8EA8341174AEF3A5DF52870AECACFB6 /* YapDatabaseAutoViewTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AD4746722076FAEECFEC2FDC0F7B1CB /* YapDatabaseAutoViewTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B905CAD652F5F8A1B30ED6E15E8A66E8 /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = F87A5E14D3AB6180F1B03053FF30C218 /* AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B9136D7D323E930BBE6E110724991673 /* YYImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 13A456130B94DC2D52F639B593F7CC03 /* YYImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B9268023B662862A9B4961F74BC9136D /* YapDatabaseRelationshipConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AD9C005ACD9293F8C41256E55870CD6 /* YapDatabaseRelationshipConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B9288F564B82BA562FAED38CD526B271 /* YapDatabaseRTreeIndexPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B663C00AA4DB0E415A5EBFFFFD4E19B /* YapDatabaseRTreeIndexPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - B9536B45AB023E160A9B394D98686681 /* MPABTestDesignerSnapshotResponseMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBF4FDF08AF93606F98D923D49AB28F /* MPABTestDesignerSnapshotResponseMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B9653B177039D6A6E08BD2A67245E3F6 /* AtomFeedEntryCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E83DD387A63FC46C567FDE1EC776295 /* AtomFeedEntryCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B97D269EFA04F9AE8DB106FC048E78BA /* YapDatabaseFullTextSearch.h in Headers */ = {isa = PBXBuildFile; fileRef = 2188620CAEE4D9EAB27A5058EAB0D537 /* YapDatabaseFullTextSearch.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B97EA85449E0A35D252D3C72F0028F9E /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = FDF58F1E645C83ECE3EC2B8D2C873BF8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B985302A9BB4D6DBC5C309E38608EB90 /* TSConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C65D337333C6C93A2EAD81D32B43D87 /* TSConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B99FDBDD92B03808B83E00703FD59C95 /* NVActivityIndicatorAnimationBallScaleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7084A42B39FE1F3630D2D0B211207D37 /* NVActivityIndicatorAnimationBallScaleMultiple.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B9A54174A1F390A96008232A66C99BFA /* LokiDatabaseUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = C86EF8D9E74885F62A88D8871ECF2B00 /* LokiDatabaseUtilities.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BA039CB6705D3B0FD2D477BD89AFA9D3 /* crypto_verify_32.h in Headers */ = {isa = PBXBuildFile; fileRef = 28C2CFDE79A3C656A18605233FCF2C89 /* crypto_verify_32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BA0A306D1367E743CD94FEBF929D778F /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 511B483FF333DEAF04A12F54FAA8EEC8 /* firstly.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BA1F9954C666B3C5C2E471D41A281884 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C62F73A0CC58C5D81D3336A495ED56B /* AFURLRequestSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BA2B74A7F99484DD6452B85936CC2BCB /* GCDWebServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 46EF5D46CC568818F260EC6859F9B68D /* GCDWebServer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BA2F457A4E4B157EE3613EAF9F52CE77 /* LokiPublicChatAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69AAA796BB93BB0C945489A714B90501 /* LokiPublicChatAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BAFA510EAEE20975512042B5FC0CE1DF /* ChainKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C44C1AD95850D4E9BED3293E287D1ED /* ChainKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BB1F2B968ADF65D0933822DEF1C3BD29 /* TSAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = DF55C67EE0272FF7772BB15DE691D054 /* TSAttachment.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BB1FDA70393C3A1011B4841AF584B75E /* MixpanelGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EB46776C096FB8B596234DA0D5F04CC /* MixpanelGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BB73D5B394DDA78B02FF3490DE74098B /* FIRComponentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 55D20278638AA62F3C84C4FB5BDFCB94 /* FIRComponentType.h */; settings = {ATTRIBUTES = (Private, ); }; }; - BB7FA33AC6339416B7A5C735E82BD0C2 /* AtomFeed + mapCharacters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BDF0BEC22DA65D627A350348FF16A91 /* AtomFeed + mapCharacters.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BBBFE919C19CF363EDA4845F348C9DDE /* YapDatabaseHooksTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D9C8440E921E0B764F8C84AE990165E /* YapDatabaseHooksTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BBE3AAABD40E854E8AB89BE5932761AB /* YapDatabaseView.h in Headers */ = {isa = PBXBuildFile; fileRef = 99BC78B551179B1A94CBA426EB11AF10 /* YapDatabaseView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BBEE0CECEDDE6C71EE59F86214D36611 /* SignalServiceClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = B07DBD68D37A545C7D37ED789664BC15 /* SignalServiceClient.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BBF81B778A3C382BCA5FC7407D70EE01 /* MPCATransform3DToNSDictionaryValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 697A6909A39491E968BA0F04F337D925 /* MPCATransform3DToNSDictionaryValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BBFB50C9899AC05A6977B3894B8B6230 /* OWSMessageHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = AB8D24A3D2153A628743C5E8A64D8024 /* OWSMessageHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BC4EE0BBA6A4BE3680D1B5B624238872 /* TSRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 6222FB99A6CAC88847834A45642C831C /* TSRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BC7AFD3263D5F64298C3133FEB65A306 /* TSMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = B74CDCCCB0DB5C94AFAB2B11550D4DF6 /* TSMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BC9162D81BE270E70A34B2D3E8047701 /* YapDatabaseSearchQueuePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 019522652870C4A93CCEA1FF643E8FDE /* YapDatabaseSearchQueuePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - BCE1B1BBA778F3CB1D62EBF3106CCE7B /* YapDatabaseManualViewTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = C68AE886275EE8DC95E1F2883A3793BA /* YapDatabaseManualViewTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BD0BD889AB3201030FCEF3E553EB0E02 /* YapDatabaseViewMappings.h in Headers */ = {isa = PBXBuildFile; fileRef = 1202FEEA39494BCD69E01AC4AEBC82D1 /* YapDatabaseViewMappings.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BD0F866ED498D61855E4C7290C7821B2 /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C61E1FF368935181F2F3A60FE189647 /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BD25083563F56E038EB59A3CCE597A37 /* YapDatabaseCloudCoreOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6874544BF2BCEF41E9B9C38EF27194E1 /* YapDatabaseCloudCoreOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BD4185E1DC3790A5E6F70158717A4448 /* Fingerprint.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72ED563DE1D78B4EEB88F84C0C88F651 /* Fingerprint.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BD94DFC84A81D80BAE94645EB1605BA4 /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 6393D5EA0920C701AFA810A51A09F545 /* hang.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BDB4234BCAE13A3E561F28D3825BF894 /* OWSProvisioningCipher.m in Sources */ = {isa = PBXBuildFile; fileRef = 569095E4B2FB01109764C258F300CAA0 /* OWSProvisioningCipher.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BDDAF73ABB19067646645C67ABAE4377 /* MediaNamespace.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2F01F33837430EE4A736692743A136B /* MediaNamespace.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BDDDC830DE847E5EFC049A46E5464BA3 /* SAMKeychain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E010FFA0D46CC76E71CC8200DF1A6C7B /* SAMKeychain.framework */; }; - BE4207A36051DEED078663B7A3059B23 /* TSInvalidIdentityKeyErrorMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 15E80BE91C2497584D28F42155AAF581 /* TSInvalidIdentityKeyErrorMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BE933BC2A1D4822F8EE9B32C6493E1F8 /* RSSFeedCloud.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2CCC7E742AAB6F61ACE0F90E1FA5F5E /* RSSFeedCloud.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BEFA3344B160425F9A5D49428001EBBD /* NSString+SSK.h in Headers */ = {isa = PBXBuildFile; fileRef = 274793CD68CF2E978F703C274D76BFBF /* NSString+SSK.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BEFB68F17F5EC3B8CE1D113A975B53EB /* YapDatabaseRelationshipOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = D3955BAA78767651510F1408CD107866 /* YapDatabaseRelationshipOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BF0F4FEAA4E302C5D7207224073D2628 /* OWSPrimaryStorage+SessionStore.m in Sources */ = {isa = PBXBuildFile; fileRef = D267792FFA792E3094C3ACF922126087 /* OWSPrimaryStorage+SessionStore.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BF1CD81A9AFED74C750407B96C66DD13 /* YapDatabaseCloudKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FD5F070103F916B59ABD68B487F03AF /* YapDatabaseCloudKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BF3F63CFA38E899DAF27959FCB990E4C /* GCDWebServerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 385C667126D7E5553E9F7010846A00A7 /* GCDWebServerConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BF7CFA036964D18F2000F3380DBA6EB8 /* MTLModel+NSCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = A8769D2968E6D38F6ED26AA2013DA16A /* MTLModel+NSCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BFB488C6E656F8CAF196AB2DB0A82042 /* SignalAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0DD51353BE4AEEA7ED81B8032CDAD3 /* SignalAccount.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BFBA2D00CA004A68EA09939C2774EBE4 /* OWSMessageSender.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C3E333845DE3289BAF4AC0321A5690C /* OWSMessageSender.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BFC92805B06634F108DD5B0EAB3FEB84 /* HKDFKit.m in Sources */ = {isa = PBXBuildFile; fileRef = CC1093C2BDAC81ABEAE9DDAB8BF63259 /* HKDFKit.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BFDFC0530193749CB509FF8C6F8E9066 /* YDBCKAttachRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C1AE7D8D4F6807C805C419EFD6D8940B /* YDBCKAttachRequest.h */; settings = {ATTRIBUTES = (Private, ); }; }; - C03DFD98417FDA44D031862B94E1265C /* OWSAttachmentDownloads.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BDC536E8C3A0398A5B80E40B44D7D60 /* OWSAttachmentDownloads.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C0664FD6FA36D18472CD7930504B3E98 /* OWSAnalyticsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E602DAC73D8755CE8C55D5C243B185E1 /* OWSAnalyticsTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C08FAE61A017E3029AFD269928407F68 /* YapDatabaseViewPage.h in Headers */ = {isa = PBXBuildFile; fileRef = 92CFA4692F9D94511734B0FE082BE659 /* YapDatabaseViewPage.h */; settings = {ATTRIBUTES = (Private, ); }; }; - C0F80AB1CAD9D233B2A4297B68084A5B /* NSThread+MPHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EF1285BC8465EF0E5C81AC644467128 /* NSThread+MPHelpers.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C10B2A4BAD4C997DDEABD383B645E1A8 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AB864B4969F0404B8312E189AC76FDE /* AFNetworkReachabilityManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C13F1C2F7720291478576082296546B5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - C1411EFB0E6871BD2BF26AD2405BCBEA /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6033CAA245835775574B109BA4D4D0ED /* UInt8+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C155D258344524A68E568C817A85F749 /* UIView+MPHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 92E04068EF8D77BF3027C745971ADC5C /* UIView+MPHelpers.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C156CD4AF63E002892CE348669FD722C /* DDLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = B994790A58371165DB6972C70EC37563 /* DDLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C192AA99FDE616B29346CCA80FFB18A3 /* AppContext.m in Sources */ = {isa = PBXBuildFile; fileRef = A497072DED602879E6D5D5B9BC9C35A0 /* AppContext.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C1B6CA9D5A95962A1173E3C2EC501D4B /* FIRDependency.m in Sources */ = {isa = PBXBuildFile; fileRef = E14F5C235A6ED0A919E64FDB47EDD4E8 /* FIRDependency.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C1DA619F9C200E864377E74EF5B92FAC /* SPKMockProtocolStore.h in Headers */ = {isa = PBXBuildFile; fileRef = F05FFBB99FC23A08E67A1777E711ADE9 /* SPKMockProtocolStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C1F4EFF37C2345DFE67760FE998D3256 /* field_mask.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04053F17374E06B95DA6FD7C7156D21A /* field_mask.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C2371A66F5C41C6E1F5D9BE93EA4BFE3 /* ChainAndIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F813AD4A90C2E6B242B9AE8EAEADC21 /* ChainAndIndex.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C24B014F6AAB385E4F85542D1F619CA1 /* ge_double_scalarmult.c in Sources */ = {isa = PBXBuildFile; fileRef = 7A27B1568489A5FCE23213157DF89CC5 /* ge_double_scalarmult.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C26C79925D3D468C5AAB6E03BACAAF2D /* OWSReadTracking.h in Headers */ = {isa = PBXBuildFile; fileRef = E4D84DCFC0A6B758B373153B8C0AC227 /* OWSReadTracking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C28611B97A6862D5991E8D10375BD73E /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80A81E44501AC2362620EAB28837DC54 /* CompactMap.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C287C001DA429D33854FCD024DACD8EC /* MessageKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = ADD09A68908A00753CA620D1D9D337A4 /* MessageKeys.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C2973957310753076FEDDF71516201ED /* mz_strm_split.h in Headers */ = {isa = PBXBuildFile; fileRef = EAE92E7DD352C9D740A3884CE11CF827 /* mz_strm_split.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C2B5E1A697206412E5C4CA16FD0BF929 /* MPPassThroughValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 2576B4213F93DD700E0E118B09CCBADF /* MPPassThroughValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C2D7F8A6E0E358992B2090CC10D93010 /* YYImage-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AFCAEB8BC9F1B10BCE9F12B41E1CF2F4 /* YYImage-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C2DB42203DE6BF04B7EA68371209A4DE /* OWSSyncManagerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = E06BF576CAE337CAB43BFB18E341D098 /* OWSSyncManagerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C307B3348ADB7C586CA17C20FD084D1A /* OWSEndSessionMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = C5A3AB72EEAA730293EFE742281ACC3C /* OWSEndSessionMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C30DE6C01B9DDC1CA9C8EBA7F4EC1C52 /* SwiftProtobuf-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D9C96FD8BD0ACDEFCEC97DE49B09A47E /* SwiftProtobuf-dummy.m */; }; - C3254C187B6586E7B2A22524C6359919 /* OWSDeviceProvisioningService.m in Sources */ = {isa = PBXBuildFile; fileRef = E7BBA174BEF1030442B563E74167215D /* OWSDeviceProvisioningService.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C32A5B882408B5F600A1BA52 /* GroupParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = C32A5B872408B5F600A1BA52 /* GroupParser.swift */; }; - C32A5B8B2408BD1E00A1BA52 /* LKSyncOpenGroupsMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = C32A5B892408BD1D00A1BA52 /* LKSyncOpenGroupsMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C32A5B8C2408BD1E00A1BA52 /* LKSyncOpenGroupsMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = C32A5B8A2408BD1D00A1BA52 /* LKSyncOpenGroupsMessage.m */; }; - C345596DD6564CB8B86E569B7BD82AE8 /* MPAbstractABTestDesignerMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = F3F86BD15E742F2F1FC127D187395E51 /* MPAbstractABTestDesignerMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C351BF2123E81A1E0041D98F /* Data+Streaming.swift in Sources */ = {isa = PBXBuildFile; fileRef = C351BF2023E81A1E0041D98F /* Data+Streaming.swift */; }; - C36CF1BEBFBA486B602D49B29F9B0D66 /* DDLoggerNames.h in Headers */ = {isa = PBXBuildFile; fileRef = F3611177EC5C2F42EBF376EB06ED73AD /* DDLoggerNames.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C380926143D609433202A7937F2E7502 /* TSGroupThread.m in Sources */ = {isa = PBXBuildFile; fileRef = CA51D22F889D900B62A901241336CCCA /* TSGroupThread.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C38D75882385E6E10047AF0B /* LKUnlinkDeviceMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = C38D75862385E6E00047AF0B /* LKUnlinkDeviceMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C38D75892385E6E10047AF0B /* LKUnlinkDeviceMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = C38D75872385E6E00047AF0B /* LKUnlinkDeviceMessage.m */; }; - C3BADCE123E6380900B304DE /* LokiFileServerProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3BADCE023E6380900B304DE /* LokiFileServerProxy.swift */; }; - C43CF814A60E4CEB7F14A24231188C11 /* SignedPrekeyRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A87B989657BF344031280E8B9295F3C /* SignedPrekeyRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C4454B4D47C68B5474C1325145C7B9FE /* OWSAttachmentDownloads.m in Sources */ = {isa = PBXBuildFile; fileRef = 48AD0300C14BF0876A5CB5C4F88D6DD3 /* OWSAttachmentDownloads.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C46F713417828F97201D8E745C369D47 /* CDSSigningCertificate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CA73AB49B75E99B11DD622A4470F816 /* CDSSigningCertificate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C4701AD9798DAB082C0D0EE682DA2612 /* NBPhoneNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FF29C49C252992D173EF5234DB0E5BE /* NBPhoneNumber.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C4A5ECEE2A3729EF96AA45E08FFE8732 /* RootKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 15968FCCBEB977712793E40B4BDD16B2 /* RootKey.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C4AB354571A0FAC4199C32B0685F9CB6 /* Mantle.h in Headers */ = {isa = PBXBuildFile; fileRef = 1127D8DCD5B695CCC807A6D3ED1C744F /* Mantle.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C4C0DEE0C61F50F141A29E98CDF95A36 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 259E13E084BFD450CBE05A38413B6976 /* UIImageView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C4D7D5AA7C96EF784FDF9B33B2A14114 /* ProtoUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 1244A35166A57DA857A3D2F5728AE4C4 /* ProtoUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C4F00C4326441A6A15776372BB9D81F4 /* YapDatabaseFullTextSearchSnippetOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 398029584AEAAC09651007103AC98C90 /* YapDatabaseFullTextSearchSnippetOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C50E150815730232B9AB73E2F5CACA88 /* base2.h in Headers */ = {isa = PBXBuildFile; fileRef = BD35BC46E0F1F93D3010FCF8493E72E6 /* base2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C510E103CD39826245196E4E3B5B09FF /* SignalMetadataKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 007D9A80A2873E78CFDCD1AC9B037EDD /* SignalMetadataKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C5187B0FAB308730620AD8866277CF63 /* YapBidirectionalCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 85A485467DA49D6C866D02D84C98106E /* YapBidirectionalCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C571892B313CE908D5EC956B3118F89C /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5466C59F812A5D3B99E6ACD89D70C7BC /* Operators.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C57824575C6E3BB6E4267F479A120604 /* UIImage+MPImageEffects.h in Headers */ = {isa = PBXBuildFile; fileRef = 65DFEF6AB118206C23629A1A07EB42AB /* UIImage+MPImageEffects.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C584201CE577B8538B228F8E03BAE122 /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB614DC0631AFDEEBB786026406B114E /* SwiftProtobuf.framework */; }; - C5C7D04CB3CFB6CEA092D3D33AEF136E /* MPABTestDesignerSnapshotResponseMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 65CF1D3B156E8233B50D94C1B6F0A2EE /* MPABTestDesignerSnapshotResponseMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C5ED0A4EB7A1503C05B361C98696795A /* YapDatabaseRTreeIndexHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3A050502A4FD8E9116374162E1EA09 /* YapDatabaseRTreeIndexHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C629E2D59C88C00EE233E579D9C78891 /* YapDatabaseManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CD052C585BAEA27E588C0A9ACF4150B /* YapDatabaseManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; - C68B89F4FE8C4A5AF57D8DBAE0A7C9EA /* pow225521.h in Headers */ = {isa = PBXBuildFile; fileRef = 1030EB135E30DF7DC4C1A522992872B6 /* pow225521.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C69490B4BB1DC758C4DA54A6E901EFF9 /* NSURLSessionDataTask+StatusCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 7240FBD0CC08757D9BB1159774252BF4 /* NSURLSessionDataTask+StatusCode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6A31430D1E4A73B13B6D0EAF67DA429 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E87B00C07695348AB27C5B5E2968FB45 /* AES+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C6B1C5DC8AEBE10CD52BDF8CE0DE053E /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 071029F5FFAFE3CC5DDA37C1743FFAE3 /* CMAC.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C6D464D0A5FD74391B70B6D0D6D59C79 /* YapDatabasePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 57848CBBB445C66D9494492FB369D73D /* YapDatabasePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - C716B1400E12E80FF2B7577F7E7BECD6 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 384EAACE30ECC8CD105F599D618F6FDA /* Result.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C72FE4420E88D7A3CE401C37246CE52B /* RSSFeedItemCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA5C535B60CF7A296347C762360A6EAA /* RSSFeedItemCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C75544ED30BEA44686E65657BA825D10 /* SAMKeychainQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A4080F3B31ABE5C771F4CF700373C21 /* SAMKeychainQuery.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C761693A17CBEFF7E1EBCA334663D38D /* curve_sigs.h in Headers */ = {isa = PBXBuildFile; fileRef = A103DF8DC215021C1D250525DFD7D80C /* curve_sigs.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C7A6FEBDEFE554D70DAB063BCF2532F6 /* MTLReflection.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D9CC07100634A947940D6391CCC4982 /* MTLReflection.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C7D689F0C704FFBFF04643EC7CB3A970 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F7993D01DE96F7753A686B12C1C44FF /* Curve25519Kit.framework */; }; - C8402802C885299EBB3347ACB18CBC28 /* DDASLLogCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = A00127B55BA922F0B60A9AEA9CDAA95D /* DDASLLogCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C84BB8DD3BAE58B5F6D9344958243061 /* MPABTestDesignerMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3330DA2C7A233B849AC1219FB97C4B32 /* MPABTestDesignerMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C877FCF7EB6E64C375C6F914DE38F7F9 /* SMKServerCertificate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56619C2C1798FE84F0C0DE5265C5BA21 /* SMKServerCertificate.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C8DA0DD97B420B8E96A3D040D2920306 /* LKDeviceLinkMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = F24671AB2FD9BBB651769D905F507409 /* LKDeviceLinkMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C8E714C4E6B082186F6556C7D44D8ABD /* YapDatabaseViewState.m in Sources */ = {isa = PBXBuildFile; fileRef = E84AFD71C7C42BCDF02380D4F2C44972 /* YapDatabaseViewState.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C8EA29080B41F162B4F583190F61932A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - C90928FF240963AB7500A660302D8C94 /* NSThread+MPHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 5982702504EFC5BBD50318DFF0325193 /* NSThread+MPHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C9102BD9BDA0227507CF4E610469A022 /* String + toDuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C09EE135EE9313BBC1CAD139B99076BF /* String + toDuration.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C912ED17F3FC66A8C325095E604531C4 /* MPTakeoverNotificationViewController~iphoneportrait.xib in Resources */ = {isa = PBXBuildFile; fileRef = 153CD8CCCC36B4A2E35E2C041A3985CD /* MPTakeoverNotificationViewController~iphoneportrait.xib */; }; - C95091F013A9EDF44119A729667F04CA /* YapBidirectionalCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C2AAE08AC0472347EBB91C85F1A588E /* YapBidirectionalCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C9FC4D9FB78264FB3CD77C53F9D86C9A /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29715EA23EDAB97C21E54FB39075CDF6 /* PKCS7.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C9FD808AE571F525CD9BB3D2DC48CFEF /* OWSUnknownContactBlockOfferMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 00EC95A831D5366E2527ACC9A38264AA /* OWSUnknownContactBlockOfferMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CA199FF977E1FDC0CA33A726EC6D290C /* FIRConfigurationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EFA09E63F660B9CEA117B6DE85145F1 /* FIRConfigurationInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - CA57F615C8AD0AD30D0B3894AD0129C1 /* OWSMessageDecrypter.m in Sources */ = {isa = PBXBuildFile; fileRef = EB59AD361172C1BA24FECBC0F0BFAECA /* OWSMessageDecrypter.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CA59E2FF779D49CD9D9E25E8663E5B00 /* TSConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = DBD3AE6FD69118BD661DF353DB68E8D7 /* TSConstants.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CA6E07D14F6C5BCF36961DAC084D6837 /* TextFormatScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 450BEE2029F8CEBC7E43020628138463 /* TextFormatScanner.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CA6ECEB3D4EBDBD05A2AEC034A2A6AB8 /* TSGroupThreadTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E5E27786F53CAD9DE7EC8AC50CD1D0E9 /* TSGroupThreadTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CAAF15EAC61607F6D91069AC3B08A7B1 /* MPSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = ABAC20049EA59640859856E460E13820 /* MPSwizzler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CAB9460CA06E396CD1EDD4809BB1C545 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 982FA3AA0FB7A55C5113288AC4C669BE /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CACC6B8E2FB9D1FD23462470C6641586 /* OWSOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0937579A0A00DA8DC4F5CAD79D65C306 /* OWSOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CAD54A2CCD16C1015A88057076825F6F /* TSInvalidIdentityKeyErrorMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = F06750D69EAD0A3F064E9AEE50E1B560 /* TSInvalidIdentityKeyErrorMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CAD6041F34A51DC2E736C2198FA9263F /* OWSFakeMessageSender.h in Headers */ = {isa = PBXBuildFile; fileRef = E8317E665B3F558868E834ED401E42EB /* OWSFakeMessageSender.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CB60921234EFB8028A88D045F08EDEAD /* OWSFakeNetworkManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E3792C2FEF886F7756CC26636B3B4754 /* OWSFakeNetworkManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CB99EA663DFB261C3E7EC2375DE389CE /* mz_strm_mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC1DE27DE8D7ABD3AEC3144D4D98FEF /* mz_strm_mem.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CBB27AF8758836CF7A3B80335253EE73 /* textsecure.cer in Resources */ = {isa = PBXBuildFile; fileRef = F2A9332722595E23D63521F83EB6A61E /* textsecure.cer */; }; - CBB415901A265DE1F30C2F446E52779A /* OWSFailedMessagesJob.h in Headers */ = {isa = PBXBuildFile; fileRef = E588F8B00FBB3972BBDBE72707338CE5 /* OWSFailedMessagesJob.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CBD5896B6B8292FB8AF13AD4D5C033D9 /* YapDatabaseQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B8CF218B79A05FFDEDD604FB7F2F76E /* YapDatabaseQuery.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CC12781DF503E6BCEA1187B8F9C3ACB6 /* NSDictionary+YapDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CA0E28DDF139EFBD2ADB0DFE21AFF84 /* NSDictionary+YapDatabase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CC14EE96D6B93FE9063CE29987AE5BC2 /* OWSAddToProfileWhitelistOfferMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A4C74A4E92B39C3FCC7AB5567F5C68F /* OWSAddToProfileWhitelistOfferMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CC581EF4C82343357E311A87D9C935F5 /* RSSFeedItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF72E319266831AE8E78D38F119963F9 /* RSSFeedItem.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CC602582079485C52A9FFF3E58A9CAD5 /* OWSMessageManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F86FB647B876D8DBD1F58F478C9C9D6 /* OWSMessageManagerTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CC9263EFB5A5BB7268A2ED2C37119E07 /* FeedKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CF64961A4A26120C710715DACD57B7FF /* FeedKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CCB8550B1564B38285E850BF313BAB00 /* YapDatabaseCrossProcessNotificationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 679CF6AA9E0D207AC0E2134C7C7B95B2 /* YapDatabaseCrossProcessNotificationPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - CCF80FD728B05B7ACDDCF95A169EDE51 /* AppVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 730A99F3E470CB3C8EA9DD56DA23DCDB /* AppVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CCFB18831F1E17907F9352474E316262 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18F53D4E2D908074330A08C1F39A69BD /* SHA3.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CD6604C6BD2399B1998A389508D73266 /* YapDatabaseHooksConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 36354B593D4A004C67ADF448C8A66FDF /* YapDatabaseHooksConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CD97928FF39591BF1B6F00C2A2EED7BE /* MTLValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6371A608035D70BAC8C7C09ECCD3DD78 /* MTLValueTransformer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CE0554AF11D9CEA070ED517C9447D0F5 /* TSQuotedMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = B74903D4BB664E40F75C5C3F5C5C3860 /* TSQuotedMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CE0D34CE7AB9355561A5483AAE958671 /* OWSMessageServiceParams.h in Headers */ = {isa = PBXBuildFile; fileRef = 6803905BA551C903924143D136535B1C /* OWSMessageServiceParams.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CE133725737AA9CB931B3E8016B9779E /* MockSSKEnvironment.m in Sources */ = {isa = PBXBuildFile; fileRef = F96870EC7955392A356F7BD94489DC0F /* MockSSKEnvironment.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CE37D28E91E57087286A0EF5722A90A5 /* OWSFileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = B75D7BD820A85ECA758EDDD257A7F336 /* OWSFileSystem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CE83AFAB4F71A3206DA191F4F34FEE4A /* MPMiniNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = F4A00E6FF273476784E7F8ECAAE40204 /* MPMiniNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CE8B836CC5639DE7F72FA985D58B5831 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 15AA4AFEF09976CEC436B2CBAA47B058 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CEB9719B9DD6D797D40B466FF0637756 /* NSInvocation+MPHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = E4F9AF4ACA5930151ED3790F77F71C57 /* NSInvocation+MPHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CEDBB07F0AFB8A537BD5B0C78FAEE1B9 /* OWSDisappearingMessagesConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = C67E4FCB5C1E799656EC53BA687D3CB7 /* OWSDisappearingMessagesConfiguration.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CF81D24D0441E84FE28F784102D94C48 /* YapMemoryTable.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD8BD49F283E583BFCA50C1EAC7615D /* YapMemoryTable.h */; settings = {ATTRIBUTES = (Private, ); }; }; - CF98982D1AC95D4783BE6E599F9D492C /* FIRComponentContainerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5307E1A9A2FA37262226A224CE80ED77 /* FIRComponentContainerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - CFBE683F577782E72C36C974BF17739C /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F48D1F1B6112CA6428AF64118B2B014 /* PBKDF1.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CFC6F0276250DC81E3C5F42478E3FC19 /* YapDatabaseFullTextSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BEC36268F5FFA97712E3D79B62B77D1 /* YapDatabaseFullTextSearch.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CFF2687B6D7544E3CEECC4BD6587734B /* MockSSKEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C70DA485A19D6CE1CC45C5BAB0D736 /* MockSSKEnvironment.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CFF4703BA87898326E584163E9B0EF29 /* YapDatabaseConnectionState.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E3FB4A1382C1FFA5148218F20C9CFFD /* YapDatabaseConnectionState.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CFFBBB00695195579EAC0E4CC141193A /* YapDatabaseRelationshipTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = B9AEFFF7465027B11CD95889D5B80164 /* YapDatabaseRelationshipTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D00F0DB9FA1ABB9F94BCFAB6DF2A09B9 /* YapDatabaseSearchQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF8F143A8B66ED0BD9AE55C479E6F84 /* YapDatabaseSearchQueue.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D024B1A76E0D0944A6AF527B2572F75A /* SyndicationUpdatePeriod.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE92C08ACFA7B95A9DD1304A55F8B6FB /* SyndicationUpdatePeriod.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D077B6BBB5F2A984BC82AB773A9508FF /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BFD0DED0EB195882732493ED625B96E /* Compression.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D0A6D24CE1327C8E400547074AF637C7 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26B9008F74BF53CA04543647AA5B1DCF /* SystemConfiguration.framework */; }; - D0A9BE233284BA1E3EC475D0B869C5FF /* OWSRequestFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A72A510D8BEC122D6365BD5F991EFCA /* OWSRequestFactory.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D11907E700723718060D98B65FD34ACE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - D1782530296163B76EBB67B9703BD2E1 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48D0EDD30D23912191798E45FA80388D /* QuartzCore.framework */; }; - D1BA11CADB3998522C78D3FDB214F74B /* YDBCKMappingTableInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = F782700D361CA9E1A7507AB929B622B9 /* YDBCKMappingTableInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D1DAA8738F969A19B4AAC3CBA4382658 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - D1F0AC42ED3DBC0AFE4E4EBC3F50720F /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - D1F63AF955CE9E2E1DD4FAF8A10FF4EF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - D242EF7980F7BA384C6EEF2A35FDF8C4 /* YapDatabaseAutoViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B241F19FA4B8936CAADFFB8696B7BDC /* YapDatabaseAutoViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D266D78D9195D47DB0A1330A0BF043B3 /* YYImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D24F9B5177B7BF144D1E1E197287DE4 /* YYImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D27E720A254708C0F55BEF2B262845DF /* crypto_sign_edwards25519sha512batch.h in Headers */ = {isa = PBXBuildFile; fileRef = 653DE7D38C2ACD0D2289865C7B1D1D18 /* crypto_sign_edwards25519sha512batch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D2A16D3617720403F5B92DF8558F75D3 /* base.h in Headers */ = {isa = PBXBuildFile; fileRef = A32261D843A3F010DFF1AA32FABBF047 /* base.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D2B90A3DB063E0EF0932E4452A458A71 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - D2CB0673166FCDC83E0C8367B418ECFE /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3843F4F9FCDD989A9A60967A6BABEA64 /* UIKit.framework */; }; - D2E2182ABD0459810F75C897F7DB4EFA /* YapDatabaseRTreeIndexHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = CF2B237AD1F927BBB0C71FAADBDDE972 /* YapDatabaseRTreeIndexHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D2E69A666FEE56F03E62DF3ACDF8B796 /* OWSSyncConfigurationMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = BC8DDDAAB67354D4B9478FF59D2318C6 /* OWSSyncConfigurationMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D2ED14DFD9DEAAF3786227629E906CC5 /* CustomJSONCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2A61A830F451505C150CED9204C85B1 /* CustomJSONCodable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D301CDEB50459B8278BC3427FC114234 /* FIRComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = 5006545B36AFFA0FA53A40EFC3DC55B7 /* FIRComponent.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D3049B0F0A5739A50E46F0D1DCD2FAEC /* NBNumberFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D1DC1C03378E4B31C58F16A86E3A459 /* NBNumberFormat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D31B40D4500BB23C4106576B74D2267C /* SSKMessageSenderJobRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = D56C96E30C5CAD0EC3564B0B09E3EA58 /* SSKMessageSenderJobRecord.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D359A88A749CD9BE369FE866CACF1B6E /* OWSBatchMessageProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31459344F7E9FD43279DD41408F442F4 /* OWSBatchMessageProcessor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D36F652A3AEA6CDA1AECB0F06B367E6A /* YapDatabaseCloudCoreTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A5F6054F72EBB42CE9FD6FBAD6D844 /* YapDatabaseCloudCoreTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D37E64333BC683AFD3353060214D7853 /* MTLTransformerErrorHandling.m in Sources */ = {isa = PBXBuildFile; fileRef = 42542A5A68A83AE6675EA0F29BCCEF2F /* MTLTransformerErrorHandling.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D3949AF4789A8985BD7DC62BF7C4E9C3 /* OWSMessageDecrypter.h in Headers */ = {isa = PBXBuildFile; fileRef = 87E31875A05AD8931CFDC905526CBB34 /* OWSMessageDecrypter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D3997CD1EF4A6593759E2B3BA2E31FBF /* FIROptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 428BE35FC55ACF995F4253FBC137D74E /* FIROptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D3DE7DC974A8D6C8ED6CBDE912394404 /* AccountServiceClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85EA67C88AA10C6A5042825A31EFE046 /* AccountServiceClient.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D3F5280A116E64FFC13689BAFC1CAFE4 /* mz_strm_split.c in Sources */ = {isa = PBXBuildFile; fileRef = ACB13A1D1A9B801ACF000A61F297B3BA /* mz_strm_split.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D3F9651C69B78D3FAF86EF1F867532D3 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66D5E0980AED5FE6CB0FD6F445B9573F /* AES.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D429884FD556C5303BDB8B9F649E9A5A /* YapDatabaseCloudCorePipeline.m in Sources */ = {isa = PBXBuildFile; fileRef = 58D6B77A917D195877E888CCDF06C9D8 /* YapDatabaseCloudCorePipeline.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D43B4999B03A0F9B23FB62FABBCB6A21 /* ge_p3_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 272C0D7FFB36CC03E53244F8CF8CE466 /* ge_p3_tobytes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D46EEF3AF97F56F01B813F9C9CA6BA21 /* YapDatabaseCloudCoreConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E5C88EA887F574B2F28AD43BE4D4E0B /* YapDatabaseCloudCoreConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D47104ABDD6D2C1BE5431FC29B38B2C2 /* FIRComponentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 1242C92C6D89E81FDA79556F6543B7F1 /* FIRComponentType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D47E18EBF275708DC195965EEB13A47E /* YapDatabaseRTreeIndexOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A1CDC48E94C3754D9C3617D582DF9BB /* YapDatabaseRTreeIndexOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D484522977FC6563BA50A19A26320E80 /* GoogleUtilities-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CF821C2DA787F51973337E3F555118A /* GoogleUtilities-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D4A080C92CB5D43722238F18DED30BB5 /* NVActivityIndicatorAnimationBallPulseRise.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA7ADCFA1DF730818DDEF37C43253CE9 /* NVActivityIndicatorAnimationBallPulseRise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D4DA41E6F03CC3B92CF8983BB30E8309 /* Google_Protobuf_Struct+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94C9D1CD0D7C1B148358CFA80711C34F /* Google_Protobuf_Struct+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D4E184F864ED503C29AD1D15C197C253 /* OWSVerificationStateChangeMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = E132293D79A8D14CA21D0A86D7337A01 /* OWSVerificationStateChangeMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D4F330275275B130B8A50F815F56F1B8 /* OWSContactsOutputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDCA059CD69F5EED5B076D24B613DB7 /* OWSContactsOutputStream.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D520E3D25CB3930F04FE63D8024CC88B /* FeedParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 446578EB64ADE6AEFC5B4E0CB8506B7E /* FeedParser.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D5642D8BD08C197951AFA42D2DE8897A /* Randomness.m in Sources */ = {isa = PBXBuildFile; fileRef = 08788652F17A42C29A954A739DEAD59E /* Randomness.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D58A3DB4E07AC46B2E99FC940774DE4D /* YapDatabaseActionManagerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 42B5403742673EA09E9B8897FD5B81FC /* YapDatabaseActionManagerConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D5AEB5B40CF47E3065F9163AA923EBFC /* AtomFeedCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2A5C44FCBCDBC5E5953FAAAB2238F3 /* AtomFeedCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D5AF7C0B3D8C29081ACEA73396C95B8E /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 105A6FEFC45DE9C8B89ED32FE6A7C501 /* Security.framework */; }; - D5D3FD3FCA3BC2F807E2079740CBFFEA /* NVActivityIndicatorAnimationCircleStrokeSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CF9834332481B22C7A878459764C34E /* NVActivityIndicatorAnimationCircleStrokeSpin.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D5E6C3D76AC09A73651E6D4388D3C98B /* FriendRequestExpirationMessageFinder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85EC3435C861717279A6142988132FD3 /* FriendRequestExpirationMessageFinder.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D61BD06B9E1158BB9B257EFC5610A90E /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3AFC90CDE60BD0FAACBE6A0E5CE4617 /* Blowfish+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D62FE22593A53A4338BD5779469F36BB /* YapDatabaseFilteredViewTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D10AB795B7D3DCFAE96799C2239D399 /* YapDatabaseFilteredViewTypes.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D635E23849B3C9A7B523F50697A9195C /* SSZipArchive-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A60347E123B94DEF8BF4D5679239B570 /* SSZipArchive-dummy.m */; }; - D637FD7ABF4CAFA26637E2788CFEB614 /* URL + replacingScheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6E66E2FA2CA221549CBBCFD9A15B0ED /* URL + replacingScheme.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D63935A3084315646AC3AB01CFB8264C /* Reachability.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29369BEA76FE6E8664A895B8F132C1DC /* Reachability.framework */; }; - D65DF11CBC1378272C1EE195C0D9A08E /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ADE78913CC1F331ADC0E7DB4B4B9338 /* DigestType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D6CE16A36988B363AD240123219C85D6 /* SMKSecretSessionCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93EE7EBEC1CBC17F8582BFC13FDD776D /* SMKSecretSessionCipher.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D6EBDB9EAA1796BF4637A812EEBCE785 /* fe_isnonzero.c in Sources */ = {isa = PBXBuildFile; fileRef = 9EB7F16069CD7CEB5503DC9A6206FBC6 /* fe_isnonzero.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D726E5C47E57FB7E50C13F259CB907DF /* RSSFeedSkipDay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65436838D6F466EE6F4A58AD595267FD /* RSSFeedSkipDay.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D734B425CEBC4268D46CDD1CBD2D67E7 /* SMKCertificateValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9CA2634C6852C02C374C9AE45C60230 /* SMKCertificateValidator.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D7535A497AB5BD715CB0DA661DC7FB11 /* TSYapDatabaseObject.h in Headers */ = {isa = PBXBuildFile; fileRef = DF64D961115AD8A16AA0D087D8EC1665 /* TSYapDatabaseObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D7C3557DF763B1D440D73834B7EFF6BB /* YYFrameImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 5013091BE381B4E4AFFA193B7A850F67 /* YYFrameImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D818FC85F0855D910B2DE308C13866E3 /* JSONEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5617251C11890B523083C1C4FE57C7D6 /* JSONEncoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D83FC1AD4E980C4E472A1697CD2B9BE2 /* OWSProfileKeyMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = EEE0072491A89BAB2142CCB3F4A270D7 /* OWSProfileKeyMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D854BEC067F49FC596ED770CA1A78EB0 /* YapProxyObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 3707A41E27D48013BD1DFE8816D2CF18 /* YapProxyObject.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D85912D3F710A6252A234E692FE3EFEB /* PreKeyBundleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 958C9FF596BF2C25F0AE35ADBC44F41A /* PreKeyBundleTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D8D335189A48A9228E9183FE8B2C772D /* AtomFeedEntrySummary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 483752DC029C77C4F1EDE6C68145106C /* AtomFeedEntrySummary.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D8DAF3F9D3B910F80F9D083B29F0DFE4 /* DDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = F29CF1CC842A3AB4AC96A8B1E674C0FF /* DDASLLogCapture.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D94867C2F4D7C570737B019D98F0276C /* OWSContact.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B3EC8426279736894226D2C87C0AE1C /* OWSContact.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9741AF6AFE75439FDCD7B3C886DE820 /* ge_precomp_0.c in Sources */ = {isa = PBXBuildFile; fileRef = A9F17D18B7F2026A48EF4E8D309698B0 /* ge_precomp_0.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D98190E41FEDD6A6BECD09DD34EBF2F0 /* OWSOutgoingSentMessageTranscript.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C58CA521EE4BEA66628FD4B978A2F56 /* OWSOutgoingSentMessageTranscript.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D986B12DB0C809E952D61DBEF9603CFB /* OWSSyncGroupsMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = B5769D7719CFEDBA528690606CB8C5FD /* OWSSyncGroupsMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9949546688AB1400455302DD51DC384 /* MediaRating.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5795142CFBF0E1B6921AA248408D987 /* MediaRating.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D99501FABDFE8225ED24D9B333336D3E /* Message.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E56D9237EAE4184DE90D3D6FF2509A3 /* Message.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D997BCD16E3B86CA61DB69440D44DC71 /* HKDFTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F554088C0FD96699CA6A4EEA981ED20B /* HKDFTest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D9C4656B3BE6A45B083CB41D87A81419 /* OWSProvisioningCipherTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0683D90A1A04D4ECD408B16F91495CB0 /* OWSProvisioningCipherTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D9CC5A042FEF8B4121767B9DEA3175C1 /* MPBOOLToNSNumberValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B884A71488790E0B619D1F5DFD0D1D5 /* MPBOOLToNSNumberValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D9D7DD6BBF4770890A12465F52652318 /* MediaPeerLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBF7D49A555A7809FE062DE4073CC54A /* MediaPeerLink.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D9E07E4079E5ABBEB3E6A6F6DFACDBBC /* TSInfoMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DDC65E58063EEF41F78902955C84EAE /* TSInfoMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DA37E1AAAE527EA7C36FF3F657554A76 /* PreKeyRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E0CFA4F2A3B03D40EFB7A63C889E001 /* PreKeyRecord.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DA44D1E7F0BA0EE6F9E0F8B4F61A251B /* DDFileLogger+Buffering.h in Headers */ = {isa = PBXBuildFile; fileRef = F5D157F55A52F85F1D544198AED473F6 /* DDFileLogger+Buffering.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DA4AAF49187F0AB384FD8A9B066FEE4C /* YapDatabaseCryptoUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 61BE9AA63DC4AD444C55CC93C72759E2 /* YapDatabaseCryptoUtils.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DA556FE88D4FEF7EF93290656FB6F933 /* DeviceLinkingUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0967C25F4D6231AAA6AA2D8EA9A1EC43 /* DeviceLinkingUtilities.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DA96101C40B9A4122344E0D6918B8FA5 /* MediaCredit.swift in Sources */ = {isa = PBXBuildFile; fileRef = E494E22A28F24DC653652DBD7C52B014 /* MediaCredit.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DAAED852A8A34EAB28683DB29CFDCF21 /* MPABTestDesignerSnapshotRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = DF942CCB4358E9F169A6389AC63E89D9 /* MPABTestDesignerSnapshotRequestMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DAF00D9E7C3F1F88156BB2D589462A29 /* RSSPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 397F0C4831DD9B0F806A12A94E5A10B0 /* RSSPath.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DB21442D449B91EC22EE8030058E33BC /* DDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 1986C91CD031D3D220E3EAC788606980 /* DDOSLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DB3267E57FEE95DBB7E5AC170E148D87 /* OWSPrimaryStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = E355C62E6BC51ADFD85781E71B23D77B /* OWSPrimaryStorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DB9D3BA1F5DEFDD243BA9E5AE63F2F52 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CBF32175C351034EB5C6A35F8E144DB /* UInt16+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DBB61B6F20BF72606CDD8E0548BBC738 /* GTSR1.crt in Resources */ = {isa = PBXBuildFile; fileRef = 5720A9679B3A7BB714F28B98892B9481 /* GTSR1.crt */; }; - DC7B08EDB42422920B17670A33A3EE36 /* NSArray+Functional.m in Sources */ = {isa = PBXBuildFile; fileRef = D192BE6A79A1E1AC490E7F23DD1BAD33 /* NSArray+Functional.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DC97E04B2029939A0520C4F167063F1B /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - DCA5DC83CBF203BEB7D7B9BCB6DBA556 /* YapDatabase+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957D01562AAAAA4EE5A13F7553012910 /* YapDatabase+Promise.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DCCF969EC87A1BDD234305B0F6D6A50A /* SessionMetadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 7142D4C2290E1E1826A9C4D6D102303F /* SessionMetadata.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DD73D5FF71F6B7D3D91A923DFF5DF0C9 /* YapDatabaseRelationshipConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F90B49D33EBE4BAF94B5184F8766892 /* YapDatabaseRelationshipConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DD9BFE7E505EA82A13D1E1A731A84237 /* YapProxyObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 0282EBDBF931B4C5A13B3EF20831B72A /* YapProxyObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DD9FB444CC29B0424F822F8AD3F5F63E /* SignalServiceKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7929DDC1131D4CB9B41A0157903FD9C5 /* SignalServiceKit-dummy.m */; }; - DDA424AE441EA706830B12217DF39643 /* OWSAddToProfileWhitelistOfferMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7B34F768852F827ED6CBD799E7C8CB /* OWSAddToProfileWhitelistOfferMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DDB5B521DD5D75A792834345B5E39C83 /* mz_strm_os.h in Headers */ = {isa = PBXBuildFile; fileRef = FC6402C3A70C87E0B6821C3B54A02984 /* mz_strm_os.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DDB93DE896D4E607B0BEC7D8ADC52F1C /* WhisperMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F29B50144BC9556D1D9D48F3B0FBB56 /* WhisperMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DDD770EB02BDE324A64D8655C41A8B23 /* ECCTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 160930596227699D8ACD124D7867A865 /* ECCTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DDD894D4F99E20C18468C1FABC91DAEE /* YapDatabaseHooksConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = ACEB44EEF74725A265C9DFA82DE71B6B /* YapDatabaseHooksConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DDEDBAAC3379DB3F45826A44FCA0BD0B /* OWSFakeContactsUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 782672E8ECFCA66871950962C5A17A53 /* OWSFakeContactsUpdater.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DE2F1818DA0DF9D369BB93B82B39474F /* DigiCertSHA2HighAssuranceServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 39E6C959B491C89E95D9E3B9417AE17F /* DigiCertSHA2HighAssuranceServerCA.crt */; }; - DE3A4944049361D979F48ED8CB541123 /* SSZipArchive.h in Headers */ = {isa = PBXBuildFile; fileRef = CE2E34EF41C5F1A3216A0770B21FBBE2 /* SSZipArchive.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DE8A4F3C3627FC39DAC28212F4DA8308 /* MPApplicationStateSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EE48A8884996B8A16EA62AB5DDDCD5A /* MPApplicationStateSerializer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DEC190D13BD45A267CBE769B8C3AF932 /* ProofOfWork.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A6673F52A4EBEE444F8C414602E0B29 /* ProofOfWork.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DEE5F54B16F2341095AEB40A11FDA293 /* ge_p2_dbl.c in Sources */ = {isa = PBXBuildFile; fileRef = F723AA0F88FA556F7115BE40D0A03819 /* ge_p2_dbl.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DF0E9A087A88EF0C40123F89CB22413F /* MPABTestDesignerDisconnectMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = F51A805D09B562A543452D88F53266D1 /* MPABTestDesignerDisconnectMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DF3D79D2F3D72B0C687FAD0A92DDEDC9 /* MPLogo.png in Resources */ = {isa = PBXBuildFile; fileRef = 2AFD3D47C1786FDF80982E3013F7512C /* MPLogo.png */; }; - DF8373FEB1E686E9539A356417FDE49C /* SignedPrekeyRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 95B0E130D1A1785ACB637C577E8E9EBA /* SignedPrekeyRecord.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DFAB3F11387C5BB6237A3E5AA19FA9E1 /* OWSSignalAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD5D68EA19E2419EAD0DF7E66599C5FC /* OWSSignalAddress.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DFD1E5B3AD7626F6CD40A6CC93684B84 /* YapDatabaseCloudCoreOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D10A9CC3BB210539C60E1FF7BA77C2C /* YapDatabaseCloudCoreOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DFD2CB54261B1A1B419FA10D6DADC396 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE482490B7A11A9654BCD16FA08940C2 /* NSNotificationCenter+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DFE14956CCA31C5D10710679A5CB2E39 /* YYFrameImage.h in Headers */ = {isa = PBXBuildFile; fileRef = C4FDECA328604ADF5C19D19C0972CAD6 /* YYFrameImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DFFAF8E013AB6D15B4809AA52421A7FB /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9E8FB9C1855E118814AF8255EB46839 /* StreamEncryptor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E023BEE6D2023ED20731AEE5C054848D /* YapDatabaseViewPageMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 072908055C0B9CBFCF124015320CB1D6 /* YapDatabaseViewPageMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; }; - E024D240446A2518E83988C7066DF78D /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65DAF715C2F6DEC176C55836821B64C4 /* UIViewPropertyAnimator+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E05727D0701FE2907D3665B21F71DE91 /* NSObject+Casting.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D933A8EF316F51A57B2AE9710652786 /* NSObject+Casting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E092EB1B49B49C6AE768FBE52F145FF1 /* OWSDeviceProvisioner.m in Sources */ = {isa = PBXBuildFile; fileRef = 691A38BB328AD0ABEA95300182E354DF /* OWSDeviceProvisioner.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E0B96FDD5D3FA2A71F62E94E4AA08324 /* PhoneNumberUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E5461D0817CA802D5E058031199A8C1 /* PhoneNumberUtil.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E0CE674478BCDF8B9374D1150CBBF365 /* SPKProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = E888FD29306F368BC2B382D774975A10 /* SPKProto.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E0F75492D92BCD0E8A9343B47EC5AAE1 /* CocoaLumberjack-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 65261F288552596C104F18908693F611 /* CocoaLumberjack-dummy.m */; }; - E10EA38711F6E7A08BED2600AEA19D5C /* YapDatabaseFilteredViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 854FAFEAA173FD89FD816EDD4B82760A /* YapDatabaseFilteredViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - E1186D63918965A59ABD7C3190CDD7AB /* MPABTestDesignerDisconnectMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 70E8E89B2216AB2E6DE5FA07EBC376EC /* MPABTestDesignerDisconnectMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E1603EF05485D90C6809564144C772A9 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314EF9BEED5F381E40FCC6662D62551B /* SHA1.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E16D9381692BC09A193D2193C0B7EB6A /* sc_muladd.c in Sources */ = {isa = PBXBuildFile; fileRef = 6034C56C7200F3DD520417A2AF4D8D2D /* sc_muladd.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E17A0EFFB246915A44A73CC704CA4F3E /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DF74795470B9FE4E728913AC0AF15DE /* ChaCha20+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E17B2C131EB4DDE96FE4AA7C17BF8BD4 /* OWSMessageUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 65251D44152FBF514FC8EF738A09600D /* OWSMessageUtils.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E1B8B15BAA747152929BE48A3B7137A2 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB6D9168B1AA412A636F4CD90CD6F9E4 /* NoPadding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E1D2BB74526D12CBCB90C71AE6596221 /* NBAsYouTypeFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = EF7F86D0142871143432FD8120BA7C7A /* NBAsYouTypeFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E1EB163FC2F5CC22DBB828A5F8B1D3D2 /* YapDirtyDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CC832585DAABE886BBD481A72B81552 /* YapDirtyDictionary.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E1F9E9413242EECBCDEE1AEF4D52F434 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593BDD7F3F2F225C0107E60D9295B180 /* GCM.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E206A663FFC5166854D136F8DFB544CA /* AxolotlKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F5903C61564B32D705EF64FC9D179AE /* AxolotlKit.framework */; }; - E23759912ACA8E17CBFB2C712A28840D /* TextFormatEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E7A11863A0B8B87D2F5C6AFA965C8C9 /* TextFormatEncoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E24D57314C475CE4B185141290D4F337 /* PreKeyStore.h in Headers */ = {isa = PBXBuildFile; fileRef = C97D0BA6A0E5B8C1C44FB2BDC762E269 /* PreKeyStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E28BAFC5E0F277A9921F437C2CE72017 /* MPABTestDesignerChangeRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A62AAC7F296F9BC359CD636DB6F24F /* MPABTestDesignerChangeRequestMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E2E004A07DA8250A84EC3E63495F9CCF /* OWSLinkedDeviceReadReceipt.h in Headers */ = {isa = PBXBuildFile; fileRef = DE93549DC382C34AA10B88171351E664 /* OWSLinkedDeviceReadReceipt.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E2E33BEF4DD60E2F53A4910EB961A9B4 /* MPObjectSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 129007893AD6CA9E63B3C7EAAA7E71AC /* MPObjectSerializer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E31B3BD9A9E95B7DCA2E8367569F35C1 /* OWSReadReceiptsForLinkedDevicesMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 323436477D93E81C5087CE531740AB04 /* OWSReadReceiptsForLinkedDevicesMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E344518CF0BB511B7B19CD33DD25F6B6 /* YapSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 283969690CA3D0943474EE4DB5144948 /* YapSet.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E346A754A0510FB810781F04AAFB36D0 /* OWSDeviceProvisioningService.h in Headers */ = {isa = PBXBuildFile; fileRef = A980464815695B983F9B954A3040757C /* OWSDeviceProvisioningService.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E34AFCD9D1463AC71690BF88EF6BDDCD /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB614DC0631AFDEEBB786026406B114E /* SwiftProtobuf.framework */; }; - E37C0B95C85B7C8900F49A5FFD237FC4 /* DDMultiFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 26238F22A146C33DCB68E1B152330F22 /* DDMultiFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E3A1159A2FB0FD477E88468396827E61 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF59EF7E659611F248B2F7AD73C30AC /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E3B58F9DF11675693290534FAF59E0A9 /* YapProxyObjectPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5801FC7588195AC40E82CEC1773E035E /* YapProxyObjectPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - E410F45764EF050C1A96948B1FB845CD /* FIRAppInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A8DB7CA07DD11326BA537E50E52A195 /* FIRAppInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - E4307098751CBECC7BBDF36D408B76DC /* OWSDynamicOutgoingMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = B159399185B18CB528C2FDA2AE8C3E99 /* OWSDynamicOutgoingMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E4334C49571A832CB438A82E0EF65A2B /* YapDatabaseCloudCorePipelineDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 029F484A2CFEDE5C9DDB32C8E558FB85 /* YapDatabaseCloudCorePipelineDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E4356A671908B9642E628F80E6748240 /* Starscream-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E63ECF36E53C049939C157E480B0EF51 /* Starscream-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E46F28B2BC16936D3E81B72E7566F576 /* MPResources.m in Sources */ = {isa = PBXBuildFile; fileRef = E64E9179B7ADAEFC16178FA59A067319 /* MPResources.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E471D0AEBDDC8ECDD7577E39501A10BD /* MPTypeDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AA79A4DD9EE160716CBFFD41579C46F /* MPTypeDescription.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E49109AC001FC49C68D9CE0483C4FB13 /* NBMetadataHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EE786D1E443FD302BCED4ED0B06FFA9 /* NBMetadataHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E499772E31936ED1B1D805D03824C634 /* AxolotlExceptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 24AFECA4B88CD4BA4097B7006561DD62 /* AxolotlExceptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E49FC3FE8A9E800AB46A0F4F8D8719C1 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - E4A8B5050F3B6972F01B01DF5DDA7608 /* YapDatabaseConnectionConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 0894712D8FA945F42EA67900827AFA3F /* YapDatabaseConnectionConfig.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E4E7A4966FA888F9D395C60AA94BE809 /* ECPublicKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEF3E023E39D7061D467BC7D198A548E /* ECPublicKey.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E52C192B08CE9FE74AF2FA2F56657BE5 /* MPNSNumberToCGFloatValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = C183AC3082FF95B2724CA1893F6F5339 /* MPNSNumberToCGFloatValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E534D3687A5A7F8BD1D2442336C36FCF /* DateSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B2729E21E8136DED182E9CE4B70425 /* DateSpec.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E559ECBCA508A60858F19B9B06A5B412 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F7993D01DE96F7753A686B12C1C44FF /* Curve25519Kit.framework */; }; - E59EB6E037534271C1477BCCE50A960B /* YDBCKMergeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = D46E2778B6393E9EBB3AC1E2111888BF /* YDBCKMergeInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E5A421333388AAFB71FC3DED3C58CFB4 /* RKCK.h in Headers */ = {isa = PBXBuildFile; fileRef = F2A065DF994FCD97986E908923A72789 /* RKCK.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E5A7D392700CC4FE7E2A97D44FB1990D /* CLIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E51BA505BFD3EC5F4DBF656853893D0 /* CLIColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E5B147B48C5ADFF24E57DF8A9AD5A652 /* MTLTransformerErrorHandling.h in Headers */ = {isa = PBXBuildFile; fileRef = 5316E4F77A19230F93FBE83804382C09 /* MTLTransformerErrorHandling.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E5E55D2D69197B95B20613B7ED44ADF5 /* FieldTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = B68DF522EF403D8485F7014004E2E285 /* FieldTag.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E62B596AA0C9FCC44090AF22794179AD /* SCKExceptionWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C8D47704A8555589886603480AB25E9 /* SCKExceptionWrapper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E63CA0C55B614B2154DA067E0BC1C3E3 /* YapDatabaseConnectionProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBAF0C6A1EECFAACC6345B7060332AE /* YapDatabaseConnectionProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E645753D12F0B5C3986E1F21CFA89249 /* SSKBaseTestSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CE4166573E532BDFEA71BF289F25D45 /* SSKBaseTestSwift.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E64845EA6B98E03C0A3D203BF6764971 /* SSKBaseTestObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = F43923211E1D1E87D49E0ABE3CC28F91 /* SSKBaseTestObjC.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E6585061DF7F450211DBBCFC8DBDCDA3 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = E36E3BF4107BBA586BB9BBB23845B923 /* CTR.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E671896CF1E4F8CE61D6F8B17FDA6A12 /* YapTouch.m in Sources */ = {isa = PBXBuildFile; fileRef = 537D8F47170D5B8A3172EB0FC80498C1 /* YapTouch.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E671A5D11D790E9AB40C641A363803EB /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1290DF694FF7ECAC3C40EF459E7AEFD6 /* UInt128.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E675E5E66064A5810B6EDFB2EB2674C8 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38C8A1D2E65889F825312B551C5A69A8 /* CustomStringConvertible.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E6F81109D3C569846020E9D94CE6BD4E /* WeakTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6906E512F936F654DB89621F90928B41 /* WeakTimer.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E6FED42A12BEC6EE0A673987B2A7526D /* NVActivityIndicatorAnimationBallClipRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AF5CB8E51BB8E410610CE0EAC5460BB /* NVActivityIndicatorAnimationBallClipRotate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E7291A1F405BC1333CAF54B66ACDD362 /* ge_p1p1_to_p3.c in Sources */ = {isa = PBXBuildFile; fileRef = EFF715DF5D2276C3DD4CEAF9BD20A50B /* ge_p1p1_to_p3.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E73577ECDBFEE46115E568AA0CA257D0 /* UIApplication+AutomaticTracks.m in Sources */ = {isa = PBXBuildFile; fileRef = D2BA78CEFFF66645458525EE71AB7D06 /* UIApplication+AutomaticTracks.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E76E08ED2D03CD4EC1AB9FEFFF24524C /* TSSocketManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C44CCE83C848F3C193FA7EA5E5899D /* TSSocketManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E7CBB40D4E6BFCAD9D2A632B7897409E /* PhoneNumberUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 73F7CD9032820E80A49909704E2AC0E0 /* PhoneNumberUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E7D4CE9DACC62BFFBC7AA1C29E69727A /* fe_isnegative.c in Sources */ = {isa = PBXBuildFile; fileRef = 855F84CD063FA3E041430BCB887205B6 /* fe_isnegative.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E7DA48CF7F7884690EE9E976911F820D /* OWSAnalytics.h in Headers */ = {isa = PBXBuildFile; fileRef = 92C2FD669B37F29F0CDE93FFEA02F24D /* OWSAnalytics.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E7E78FE50F4F2B90468A618D8F36E532 /* mz_crypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 3068ECCB29640B1E5F286DA000D044EC /* mz_crypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E80963DE2FC69802C694F028ADCAE3FE /* UIViewController+AutomaticTracks.m in Sources */ = {isa = PBXBuildFile; fileRef = 056F3B498A2DD85B1485CDE3A2AC47AC /* UIViewController+AutomaticTracks.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E82A2F726269C767CC8DB2CC00106B37 /* NSNotificationCenter+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 8757A020F3671DB84519FE9AD101DF1A /* NSNotificationCenter+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E82D61EA754B124CBDE55E0FE3477B08 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED9876422ADF9C64794795B75FA01BF6 /* BlockEncryptor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E8708F4068797FA14513CCBBD857EFFC /* SignalMetadataKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 438B094A2687F028B3147C56E095EB39 /* SignalMetadataKit-dummy.m */; }; - E8A25865E58DD98403E1787EF1032175 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F7993D01DE96F7753A686B12C1C44FF /* Curve25519Kit.framework */; }; - E8DD324DB6EE5BD32B8FD84409281769 /* MediaStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50B9499912A40AE518288849FB24191C /* MediaStatus.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E8F1105CC86448FECFBCD070F34C0A14 /* ge_p3_0.c in Sources */ = {isa = PBXBuildFile; fileRef = C1E78FDD1E7E83D69C62845E32E5DCAC /* ge_p3_0.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E919169678225F9912BA500185EB61EA /* MessageSender+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97CE6A91A0944AA05FCEDEF9172685B4 /* MessageSender+Promise.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E92958D65F748F54E2AFD378D9991ABE /* TSPrefix.h in Headers */ = {isa = PBXBuildFile; fileRef = B8F4724D678B888409F99C631C513A86 /* TSPrefix.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E92C9044EBF89F78164CCF574241A0C7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - E98B10866D222F5700BBF54A1E96F1B4 /* OWSDisappearingMessagesJob.h in Headers */ = {isa = PBXBuildFile; fileRef = 28587F71F317D1468EBCAAAF805D5996 /* OWSDisappearingMessagesJob.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E9DCD30261F73CFF6AE1C7CAF3B863BD /* GULLoggerLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 837460F5BE2024DF59F94275B38B63BE /* GULLoggerLevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E9F7957DB091F2A5A0C41C12DF2147E7 /* HashVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D120DAA34E3DFD953AC52D58AE454342 /* HashVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EA2D24D1E971478BFF251920D3C476B2 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */; }; - EA493B54C188136A7089E2B91E23F69E /* YapDatabaseRTreeIndexTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 9374DDBCED59354E1A819C3B90779209 /* YapDatabaseRTreeIndexTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EA4E386402C5A36E0663FD4E262D652C /* GSR4.crt in Resources */ = {isa = PBXBuildFile; fileRef = 9919E2DF5CC9332E4759B2E356CD826D /* GSR4.crt */; }; - EA81F58431386D2CCA47C13C07476CC0 /* FunctionalUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 5029B913B1ECDE94877D596A700D7ED8 /* FunctionalUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA8A4AB7262746E4EC2CBCF7F9947D4C /* NSTimer+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F3D334BE721A45F4849E6137200A992 /* NSTimer+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EA9D90DEF25B3BDDF3CF3BD42E787590 /* MPArrowLeft.png in Resources */ = {isa = PBXBuildFile; fileRef = A9710C3B119EA8852448C8CBE6C3B33E /* MPArrowLeft.png */; }; - EAA8AAFB9FDA77B3F851E5B551A346FB /* YapDatabaseManualView.h in Headers */ = {isa = PBXBuildFile; fileRef = 635A52BB194C6B947EF3B7F923E07DD3 /* YapDatabaseManualView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EAAB4917B0B51F0C2F44C7BF1EA67A89 /* SignalMetadataKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF561178336CC23023460B392536083B /* SignalMetadataKit.framework */; }; - EAAE1D7B90FB48ED29C3850B5ED659DE /* MPNetworkPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = A6D7A02C1E50A5855316C74B4E3DFEEC /* MPNetworkPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - EB1B77D9DB77468491FD249093B971D9 /* Factories.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1ED237E64E71D50139322F47F15481 /* Factories.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EB3428EA7D2C29EE3DB7A8FC2677B7E3 /* crypto_uint64.h in Headers */ = {isa = PBXBuildFile; fileRef = EDF587F86C8986E235798AED4845D70F /* crypto_uint64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EB35357163AAA692E06085CC9DA0A942 /* YapDatabaseCloudKitOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D77E3FFE9CCE93A6E53630E7A14A695 /* YapDatabaseCloudKitOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EB6C5A84CD11D09743914A2E04086BF9 /* NBPhoneNumberDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = C4263682487BB86BE933E89D6B2DBEC3 /* NBPhoneNumberDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EB7EF9487D3DD81BC5561A2055A22C04 /* TSContactThread.m in Sources */ = {isa = PBXBuildFile; fileRef = F132E03B01D3FDAF451F247F29845B8A /* TSContactThread.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EB871C6A7B1FB695F43C2CD7731E3C82 /* TestAppContext.h in Headers */ = {isa = PBXBuildFile; fileRef = BFFE9343827B639EECAFFB21A78C39E4 /* TestAppContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EB8CFAF8EA9C4CE3E635CEA1425773D7 /* ReverseDispatchQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A23987CBDCB916F6EBBAAEA847F257 /* ReverseDispatchQueue.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EBBDFFCC25ECFE2CB027071F0295F45C /* SMKSecretSessionCipherTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2B193A48B098F57A1C1A39A5E2309CF /* SMKSecretSessionCipherTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EC121B44F70038CEEA799AFCA69285D0 /* BinaryDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E8C064653798294D43D211BBEA38555 /* BinaryDecoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EC42C8125AA94F3F1141E83D86449DBA /* YapDatabaseConnectionPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 25E265D9710185BAC420FC2332BDFB6D /* YapDatabaseConnectionPool.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EC65DBC93B2BA7B549DC70E118A3F2CE /* String+SSK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 558F4A8A0568BFB9E04ECF4EF3A6105F /* String+SSK.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ECE1720257C6CC891B3E8DEE136B1E78 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6B04B3996D02682A464A14C492AEBA2 /* Catchable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ED206B21165ED201CF2C59B63183A27A /* YapDirtyDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 09BFCC1BE2242985DC9F60EA6B26C2CB /* YapDirtyDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ED39384161CED9C0D64314B2BA497FD0 /* PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E637B71925C6A62FD471662EB0B5C79 /* PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EDD8F34E56E9A3C1C8BAB41BE077A10A /* MPEventBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FBF987105DC19B9D24D4F4726392A4D /* MPEventBinding.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EDF10488AB13C7C3E006C5D3616CDE62 /* RSSFeedTextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EF54C98DC41ABB6402A6B9903584663 /* RSSFeedTextInput.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EE1EFCB8B8CA10D13CA9A01D495A2F97 /* YapDatabaseConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 47D3C38DC9BC0DB219E33026D0A613EB /* YapDatabaseConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EE4711DABEB33C407B6227DB9AAE9EA0 /* OWSFingerprintBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = A625ECFAEC44790D96356613F1426EF2 /* OWSFingerprintBuilder.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EE534D3C85FB79C1DE4FC62497738503 /* Threading.m in Sources */ = {isa = PBXBuildFile; fileRef = EBA7C5621E37EF2C0B796055EFE47D74 /* Threading.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EE62DC0865CB2A3639E627E522CA441E /* HKDFKitSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87CE49C05EC4887EF3368F1C116EBF3E /* HKDFKitSwiftTests.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EEA857C5B478093C07AACE77266F625C /* OWSMessageReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 576C2D553410C4B962E8D9FB8E932113 /* OWSMessageReceiver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EEF1B08A7280F89A2FC7608D693887A4 /* NVActivityIndicatorAnimationBallClipRotatePulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 996101C4C6B7CC14918D3D6B6E3C3BBF /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EF0097C786C146AB48EA0828A21F9EA1 /* ZigZag.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD813A09BC99A9495464774E9E2E992F /* ZigZag.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EF2C669147AA3D7B67C29B1DDB3D3ACF /* YapDatabaseViewLocator.h in Headers */ = {isa = PBXBuildFile; fileRef = EC1D7C62FD275690885071CD01F9A967 /* YapDatabaseViewLocator.h */; settings = {ATTRIBUTES = (Private, ); }; }; - EF33CA067F04B53C44A0532597AE9958 /* YapActionItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EDBB277E96112EAA743405CB6931B68 /* YapActionItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EF698674277C8499BDA5FEAE9A772D23 /* MPConnectIntegrations.m in Sources */ = {isa = PBXBuildFile; fileRef = AA8813AA710C4AA699516A470B174EFA /* MPConnectIntegrations.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EF71B298DE2FE4B16C80B6C7123B2975 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62C907D7FA38DD40614F51BF5C65C59F /* Cryptor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EF947C902DF03821A7291841503CDD55 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 39F2F5905D5002758E3400F5D54F5181 /* UIButton+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EFF31FDD0BF8EBC1386D6289F5B7E543 /* api.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 431DCEC7D7C9BD4C015DC76E1F34E9C2 /* api.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F07554E685065B782293B60BC385ABC6 /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B7EC6CAFD9C5E539F889ACE5185B2BB /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F09E5BB66E423C3D10538881CE615581 /* YapDatabaseCloudCorePipelinePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9564AD3E5416FC8DBB8ACDEF58DFA721 /* YapDatabaseCloudCorePipelinePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F102C7897E177BBA1FA73D8055653398 /* YapDatabaseViewMappingsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9BCACE531D08EDE880C3C0101F59DBC /* YapDatabaseViewMappingsPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F113CBBA5B77FD3BB0E8C299F67CD8F9 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = F87CA39DC312E530F78579DB49AD0DE6 /* DDContextFilterLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F1736AEBC2A87A714DCF8AB1A4B3F95C /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DBA35158E1C915E70FAA15824702DD8 /* AFImageDownloader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F185F1E55EFFBD02C28E935356239FA9 /* FIROptionsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EF71B74EC9F5F795F11974E820C3536 /* FIROptionsInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F1A4D594DF6589C00BF514858609AA25 /* NVActivityIndicatorAnimationBallScaleRipple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 619527122231B3D5BADFD2E45C342AFB /* NVActivityIndicatorAnimationBallScaleRipple.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F1B417B9DF294D9C2C7BBAC59FA155EE /* YDBCKAttachRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 25E619EB976D0904B7B84391597DDFC1 /* YDBCKAttachRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F1DDFE0A6799FEF2C8661809D3774396 /* MPObjectSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = F524E3799D4CB3F4558E98AEE895973E /* MPObjectSerializer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F1E881EC271D1E6C3DA53AFECA849248 /* FIRComponentContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0625C01A435188551CBBC352CD55D5A9 /* FIRComponentContainer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F1EDFABAF111674C4DBE3F2221C1B5BC /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52EBC0CF0386E48CC827F294ED694312 /* CoreTelephony.framework */; }; - F2526DEFD0DCDE215D0401B545250CDC /* LKEphemeralMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = C3A2127511F52A3C2A5AF8A8E763C81E /* LKEphemeralMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F25F6255D471E00FFD39F079CB7615AC /* GCDWebServerMultiPartFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = F80A0B76C6904A2EF07350F5F9D30E32 /* GCDWebServerMultiPartFormRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F26CCEBAF577EF4A01B03612884AF311 /* NBPhoneNumberDesc.m in Sources */ = {isa = PBXBuildFile; fileRef = 50279392960E7D3D10EED17C5A5E90DE /* NBPhoneNumberDesc.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F2C05817CDA8D445DF8C142B793C6096 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - F2E0492E93C7B719D8F9E4E5644B2DC8 /* MPABTestDesignerDeviceInfoRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = FB582E581ADDBFC21A022F24C5802603 /* MPABTestDesignerDeviceInfoRequestMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F2EAC96879F373041BC406681E82D243 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - F30A1D7A49988D8DEFD4E2BD6878D820 /* YapDatabaseCloudCorePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = AB8FDE6F6E16102428DDBC6CF7BBEA76 /* YapDatabaseCloudCorePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F32C1A4B7EAC939FEB3B2E3E198B7DF0 /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95342B2FCCBD8EF1BEBDF18C2BFE917B /* HKDFKit.framework */; }; - F3630852617DF3009104B27A5476C107 /* OWS2FAManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B65E32AD2F9F7FB3C7770B584D2CBA5 /* OWS2FAManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F368C579D9F1917585088509FC78E67C /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF0D501A72C88ECC476096B1AAD4B820 /* Process+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F36DB05C413DC3BB323EAE871C7208DB /* ge_sub.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B44F143660645457AB425FF5570643 /* ge_sub.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F3B426090B2586EB88D32172B33AC3F2 /* YapDatabaseCryptoUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E39FAEBB0E1C08430F9AD476A24273FE /* YapDatabaseCryptoUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F42170AB4A2A71405531CB1366864BE4 /* JSONEncodingVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C84C80CF04A0E0CB0AF2FBB1DE318B /* JSONEncodingVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F4386D62AB769C637F8C5FFF2ABA0AE5 /* RSSFeedSkipHour.swift in Sources */ = {isa = PBXBuildFile; fileRef = 261D5D9E5EEE3411E6011DCAD943D8C4 /* RSSFeedSkipHour.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F462AA1F495D33F4BE93780C34193BFA /* YapCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E689BE9DF4866199F55CC0DA16DB971 /* YapCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F46B7F116FBE9FD1687EB69842FCF6DE /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FBCC6E42B5D29EB7C1F03C18AFD93F2 /* AES.Cryptors.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F47DB54208E012D415139FDD90CF4E40 /* AnyMessageStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAA1C3A8F6C414BC617C4C28EA1E3244 /* AnyMessageStorage.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F497506C233DBC6C86F8123A0B434EF3 /* mz_os.h in Headers */ = {isa = PBXBuildFile; fileRef = C6A23C42BD908F492376EF006185FF17 /* mz_os.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F497AE543EFD43019ACDFF02412EC253 /* NSArray+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 17174150F1824B5CB3A49B30FBCE13BC /* NSArray+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F49A358FFAFF68AE9DBB08B49559965B /* MPABTestDesignerClearResponseMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = B29419C990FF078104E2F651FADDE2C6 /* MPABTestDesignerClearResponseMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F4B0113FDB5B11201F0F25F9025B3F89 /* NVActivityIndicatorAnimationBallBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = B56CB2AB3E164EFF52758E0A5DC73B3C /* NVActivityIndicatorAnimationBallBeat.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F4DC0E910F82DAD0181327C515063DF5 /* YapDatabaseRelationshipPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = F71EFFB49140D5C4185195326ECBDC42 /* YapDatabaseRelationshipPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F4EAD52911116EF1EF6C4D12F0EDB0F0 /* YapDatabaseFullTextSearchHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DF1D8D2DDFE843DAC41A513DE027960 /* YapDatabaseFullTextSearchHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F50B5EBB7AC141AB88F26A2599C04A56 /* MixpanelGroupPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = B131A102A6190F68CEDCFDA7E82AD0C0 /* MixpanelGroupPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F539A14C18FF19A1CFF5117E0D190C02 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F7993D01DE96F7753A686B12C1C44FF /* Curve25519Kit.framework */; }; - F57E61D90C4EACDAD402B7D9518F4EBC /* PhoneNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = 27FDF9C41E45E2FB2B3D11ECEB740D9E /* PhoneNumber.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F588A17E6D58F8B1EFD31CF72F825658 /* NSString+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 21BE40E74375E0A59D5A7141B499A45E /* NSString+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F59593119B9CC0CFDC1DDABCF687439A /* Ed25519.swift in Sources */ = {isa = PBXBuildFile; fileRef = 720B889C52F6E9B62DB5AF37249CA87F /* Ed25519.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F5AEC8EA0DDF9312B4C64E35A4A2C9DA /* OWSStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 68491FB661DC3FDE75075D6C4E7F6A7E /* OWSStorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F5CE0C347C3046D29100B2CDC0923DCB /* UIImage+MPImageEffects.m in Sources */ = {isa = PBXBuildFile; fileRef = 93AE128FDE68E6E434CB0959D18CD0C0 /* UIImage+MPImageEffects.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F5EC58404FCD1FA4EA2BFAF0130A080D /* FIRComponentContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = F5620FD40B63BC69929EC1E903B1B584 /* FIRComponentContainer.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F5FBA63E14089D11999B3E3459FA1BA9 /* d.h in Headers */ = {isa = PBXBuildFile; fileRef = 71376FA8120A7825524978D54D384354 /* d.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F6566D830D11BF6B44C058B435E5307B /* YapDatabaseActionManagerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 35910147F63B8583A48613E0F7300839 /* YapDatabaseActionManagerConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F67C366337BB07DC59BAB7251F3F8D60 /* NVActivityIndicatorAnimationBallRotateChase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B8E856EC2F9A34AFABA6856E8478B19 /* NVActivityIndicatorAnimationBallRotateChase.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F69A800C7B7E44F97E9E138CD9F84BC7 /* YapDatabaseFullTextSearchConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = EFC7082A8EBBE1869FC3C158DF1186F1 /* YapDatabaseFullTextSearchConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F69CB46B5176252EC0D4BCD7C4A03D1C /* LKAddressMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 75ABB359C23CF329F3B96B8B898A994F /* LKAddressMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F6B8A0DEA82A213473A9286327C3D7F8 /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A96929E4E2DA0167E77496EDFE563F53 /* UIView+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F6F057EEE665402663AB1787CA32E4FE /* SignalRecipientTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C2CC56A67FD148E2258AB05F3FF8250 /* SignalRecipientTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F784C6E2921EE5C48FDAA8714A1FEE46 /* CBCMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D85E5241F8A92CC7310811E26834DA8 /* CBCMAC.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F7892227D23B1241A61A8613B7A6BE3E /* SignalMetadataKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF561178336CC23023460B392536083B /* SignalMetadataKit.framework */; }; - F79A70D331AFC5AF1BB8EAC0ADC300F8 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */; }; - F7B90C83F3F252F0423D4FB634E0120F /* SSKBaseTestObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CB85DCDBE92FB7384EE05EDCCDFCEE2 /* SSKBaseTestObjC.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F7DAA36C441569CA3ADCBDEBF1946653 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - F7E4ABF76B65584CC146CC26D0D15C74 /* YapDatabaseViewPageMetadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 75F5B222BF477865B14F3272EE08C422 /* YapDatabaseViewPageMetadata.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F8348727973684CB27618F5C12D3ED0B /* TSStorageIdentityKeyStoreTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E0FDBB0137374D1E14B7F4D6673EA903 /* TSStorageIdentityKeyStoreTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F841D229CD2C65A4CE54738EC45AD866 /* YapDatabaseSearchResultsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1843275422AD29D90A8469D66A8712E0 /* YapDatabaseSearchResultsView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F85526EEFA0C03D16BC7C55A23C0F7AD /* String+OWS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21FBBFF5966E66319781B71D09CB153F /* String+OWS.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F8609A183BF1F4EB98127F99D95FAA43 /* AES-CBC.h in Headers */ = {isa = PBXBuildFile; fileRef = 95366E2A772E1393C9D7748CC9CDDB78 /* AES-CBC.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F870605CC7DFECC92EF50F8700AA93D8 /* OWSMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AB85C832AC58465413629780AA8C568 /* OWSMath.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F87A5F053E8E5AF9716DF06546BE44FC /* AtomFeedEntrySource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D8264CA34ED00776B517F3C7A1EB394 /* AtomFeedEntrySource.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F87E078AF0AFC6AA31FB3A40C4D98D7C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - F8805CB1040E3121D28244CCF68D8BB2 /* TextFormatEncodingOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 632D5B487B20C218E210E0DD4228A5AB /* TextFormatEncodingOptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F88188BE3A72C27D2832D03A5A63200A /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F6580B8944477F05BF4E6C3B0A6F12E /* Data+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F891A7203D08B64849CE832C3E8220CF /* MPNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C5957CEE9F1BCBF43C86A4C2D4A7E30 /* MPNetwork.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F8C81222C1D54A8F923C1ECE347E4A0D /* OWSAsserts.h in Headers */ = {isa = PBXBuildFile; fileRef = AB8E3613D72E1C9E81D57B1F42B2420C /* OWSAsserts.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F8EF8B024BA65ADFC6D06AD4E775282E /* MediaCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC363BF16CBF0BA0339424AD75F57CF5 /* MediaCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F909FDD79F7118A36F251D80F6FB018A /* BinaryEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E585504BF3C4FB0261574A536689866 /* BinaryEncoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F95F7D01CA93726D91B4F18993221D56 /* MediaLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 529A95024C300ED40AF5FE8CBF6E2E8E /* MediaLocation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F97473C4754350CC19DD391CA29DDDE5 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D1FCB05B64D6B37B8EF1364672EF3312 /* Starscream.framework */; }; - F98C7FE33B971A6A00E455371E8B3590 /* YapDatabaseCloudKitConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 93AD5CF756571C975F2C5FE4B94F64CC /* YapDatabaseCloudKitConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F9CB57273063BD0A8185AEA01CE27092 /* MPTweakInlineInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A4AA6C1DCC8804995533D132D96603 /* MPTweakInlineInternal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F9EC1E923FE657C54C2B1CA9085365EB /* AtomFeedSubtitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A38353FF7F7DC19FDEB407F1B2F8C6A /* AtomFeedSubtitle.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FA12111A49719828EC6CD807335748F4 /* ProtoUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 32AAB9F55D1E0C668532AB5547B11E56 /* ProtoUtils.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FA41D24C1922302FEBE47139CD048DD2 /* MPABTestDesignerDeviceInfoResponseMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 420E0C86CCE65648AE3D56874FD15FE5 /* MPABTestDesignerDeviceInfoResponseMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FA4418B685E5F9BB3E31446A1E34B3D8 /* JobQueueTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B293C04A6B6FF07C61C819C02B2C06FB /* JobQueueTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FA5941E472E5CF025F424B1131BA4E34 /* SPKMockProtocolStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BD6BD55B2337CDC3EDD695D43DED44A /* SPKMockProtocolStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FAB20B80A0BCFB3741D7459F2980C93C /* DDASLLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B21D5C2F67E0CBED4A40FCD6199310 /* DDASLLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FAC5E1B1A6683709B1B8004911CB0983 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - FB390B9644351362440E3E9A9B3CDB4D /* DeviceLinkingSessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 579FF5B44E8E7E20CBB9468D07F50366 /* DeviceLinkingSessionDelegate.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FB9F204734EDAC28C884AF010E55F109 /* Message+BinaryAdditions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D895465103C4562A19C158BAB2439C17 /* Message+BinaryAdditions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FBA07E150C5E76A385B0D73BC6C7F59D /* PreKeyWhisperMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E7CA316BE641E9F63A5FA9AD10A5CB /* PreKeyWhisperMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FBA1FB3172D9E952CA3EC3141D495078 /* NVActivityIndicatorAnimationBallTrianglePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A91052BDE50CF8C04DC521D7020BE3 /* NVActivityIndicatorAnimationBallTrianglePath.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FBA3BC6E31A1FB84DB55F7F3D60ED0CA /* OWSMediaGalleryFinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 646D842E3AAFFACFFD9121CCA9645A36 /* OWSMediaGalleryFinder.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FBCB1D0C505A25044BA1D6C86947BD1B /* MPABTestDesignerDeviceInfoResponseMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = AEF0C01D3188CBE674F04D33CAE09FD7 /* MPABTestDesignerDeviceInfoResponseMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FBFD6DAB6136637213DF54DFD4E1586D /* TSRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B623CE6EDCDF2F4A55FF1DBDCE24C84 /* TSRequest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FC1D942ED7A318931D70FE868D83BB5E /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 311EEE5A80D2A1962871A5BD42666342 /* ECB.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FC6B28BF324F6EB8FFD81139495C4EBA /* FIRAppAssociationRegistration.m in Sources */ = {isa = PBXBuildFile; fileRef = 6907BC3F042ABA26375606693F9CAC22 /* FIRAppAssociationRegistration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FCA8B06705E2A2DF7A77E2B5DD67A5A3 /* mz_compat.c in Sources */ = {isa = PBXBuildFile; fileRef = 619F6A353F53C797D847FC2BB05B0026 /* mz_compat.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FCC1DDF05AAC7FA82CCBF03A8E622D0F /* OWSMediaUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E50E29AEC593F3429FBF130D8DFA7E8D /* OWSMediaUtils.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FD139BD0511F8223D5AE05819520C38C /* YapDatabaseSearchResultsViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = A26D0A331F1A8B706834F8802D1493E2 /* YapDatabaseSearchResultsViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FD30F1FC81EA1449F28E9420C4AFB73B /* OWSBackgroundTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 5605CDAC84A1FE97D798F7C6515D8A32 /* OWSBackgroundTask.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FD39A901AAE6F8E059B008FB7F54A7A6 /* LRUCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2B434B6844A101FF33473073AED0A24 /* LRUCache.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FD3CFE36FC8D6008D3C8C9E36B86EE02 /* OWSFingerprintTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B2CB19A9737B5F2BC8C8DCCC59F556B /* OWSFingerprintTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FD3F0883A8B86D3C380DD17C20F3F7C7 /* MessageSenderJobRecordTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29E981F0B35779D31664AC4A018B476D /* MessageSenderJobRecordTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FD85CBA479B8181B9BEE1C2C108CAA05 /* TSDerivedSecrets.m in Sources */ = {isa = PBXBuildFile; fileRef = A3F9065A384100D08A261F2808E2DA1F /* TSDerivedSecrets.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FD8CF4E168531142BE4ED27BC33BAED7 /* OWSDispatch.m in Sources */ = {isa = PBXBuildFile; fileRef = B3F38296176616E6B43C5178B984D93C /* OWSDispatch.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FDEB4F886B6022BD423820BB88D78A2C /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F10CBE9F870D72953178276B35F82C /* Blowfish.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FDFF1963F0C1255C22342BB4564AA8D5 /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55BFE36D337A9CBF89DAB61CFB11C110 /* afterlife.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FE168386C8459307A995F861F003CED2 /* OWSOutgoingNullMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 555D2FBC53FD4303F1305B3338FDF85D /* OWSOutgoingNullMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FE29C722AF7BCB8F0F75CBEF7AD003C9 /* TSDatabaseView.h in Headers */ = {isa = PBXBuildFile; fileRef = E5B8A6C0F333D8F1A3CA9B054BCCEA7F /* TSDatabaseView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FE32120EDC75F455FBECC4AA4CCC2922 /* PhoneNumberTest.m in Sources */ = {isa = PBXBuildFile; fileRef = EADE1708BFB613708F8411F9E7219CAA /* PhoneNumberTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FE60614C99F09BDE33B04F4D4E45C7D8 /* OWSPrimaryStorage+SignedPreKeyStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 63F4B0FA72E8C4193365A9BC6BC67FFA /* OWSPrimaryStorage+SignedPreKeyStore.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FE7E426D73D60B89253014E81A9F9295 /* JSONDecodingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34C24474FEF08ABD8E3806B721DE54C1 /* JSONDecodingError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FEA2011B8BC7665462B6DB31BF843D69 /* fe_pow22523.c in Sources */ = {isa = PBXBuildFile; fileRef = 390C2C6A1F5E0B473B1B18C8318A6503 /* fe_pow22523.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FF0D3B14687975AD8407CCDEF3CCD589 /* pow22523.h in Headers */ = {isa = PBXBuildFile; fileRef = E1D27BAE301D28CC70CB9C8EAF036A28 /* pow22523.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FF265E275BEFE04A5D691F968289BED9 /* TSInteraction.m in Sources */ = {isa = PBXBuildFile; fileRef = A784D27EDCF76881732C9D22B6B968C3 /* TSInteraction.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FF89164DC0FE0515EE0F2C2C0D4ACE68 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */; }; - FF921DA642448645FB97B6C16B12C92E /* Curve25519KitSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3245A8F4C106048AD3BFA0D704A69CE /* Curve25519KitSwiftTests.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FFB0DD3AF8C3A1F9DBDFADD4B97C2E0F /* CDSQuote.h in Headers */ = {isa = PBXBuildFile; fileRef = 438491E2166635A30C70F09F142EDAE3 /* CDSQuote.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FFBF3BBAD77E55100F3AFC7E2CDD27C4 /* YapDatabaseViewConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B02C607F064093E832291A99F22A835 /* YapDatabaseViewConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FFC0978E1A05A9976A1AC469EE6E5D8F /* AtomFeedEntryContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59F95C970ED236A38A4E5C7EEAA58108 /* AtomFeedEntryContent.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FFCED2ABFA136574BF208A5D2F0360C1 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2220D5A9DEEDCD1017683E928663990F /* Cipher.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 00021EFC86402FF897A8DDD5566E2110 /* XMLFeedParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF63183B095F0EB4B518918D1A1F546F /* XMLFeedParser.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 001E740E3C819F8DDD2076C9F6228181 /* ProtobufAPIVersionCheck.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69860CBAB9B5EE0F4B0A220D1560C6A5 /* ProtobufAPIVersionCheck.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 006A7D7F1DD368EA72719FDFD542EF04 /* NBPhoneNumberDesc.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D9B14548155194C4EB8C3DA535C8DE6 /* NBPhoneNumberDesc.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 008F1F2714FFE991D00D6C18197A19E9 /* TSInvalidIdentityKeyErrorMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = E6720F86A70FAFDD9441F8C17B87A61B /* TSInvalidIdentityKeyErrorMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 00CE8A6A7A9851E2D1CBBEF89DB941B6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 00FE33956622BF281F328044A37AF7DD /* ge_add.h in Headers */ = {isa = PBXBuildFile; fileRef = DC14BE8B691FC354CEAEA090D739A0C0 /* ge_add.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 010ED784D46A38AD9ECEDA5F05A7E98E /* mz.h in Headers */ = {isa = PBXBuildFile; fileRef = 87ADB38C403E71D86B7C23FF3103E939 /* mz.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 01102202A5CCCDA5B9FE17E36D8721A4 /* YapDatabaseConnectionState.m in Sources */ = {isa = PBXBuildFile; fileRef = 289CC5EFC13A589A12BF6C27871CC23A /* YapDatabaseConnectionState.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 011363560E6F4EBCFAB86E7E09CB5E10 /* NSUserDefaults+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 0ED092C21D8ADD37D38130590A60D75E /* NSUserDefaults+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0127A2744CCF7DF99421CEC63A5336C6 /* ProtoNameProviding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1800741EAA2BBC67DC08FD87F8455FAA /* ProtoNameProviding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 016EE5EA41BDBDD2807F07DD3CA2B2B4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 018EE8186E4D3AD5D5BF560725882272 /* HashVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA35A4D7F0E6F9D112F731070D8C1379 /* HashVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 01DAD9C57208B0C1E6FC2C1383BABACD /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D88EF6B3A2D169068607C7366C36DF51 /* String+FoundationExtension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 01DC3254A010BDFD285E2549837664A7 /* OWSAnalyticsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BD040719E8DFBE5D58E7D1CFCDBC0299 /* OWSAnalyticsTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 02094F1E66D139253B32E22E0317AF8E /* PureLayout+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5505B8AED53E5A9306F26B3A4FAF95FB /* PureLayout+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 020E0201655666F7AAEAEB31D5D7F810 /* zeroize.c in Sources */ = {isa = PBXBuildFile; fileRef = E22662E50C7C862E76E42D7E1552B60D /* zeroize.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 021254110AAE1C12E8240D4021B1F590 /* YapDatabaseManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A7AB9FA2BD5AA6A171E6F75694D9736 /* YapDatabaseManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 023308D5732FE55F04B73375448A3CC7 /* api.h in Headers */ = {isa = PBXBuildFile; fileRef = 43F735D919E2981132908991950B405B /* api.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 027ACBF0A54F80D37994CFDF70B3F622 /* TypingIndicatorMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3172B2A1B9DBEB85A90045E539D71A /* TypingIndicatorMessage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 02A313E9B3F84134F79EBD938D371630 /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C7ED0CF04D220E49944F26020293457 /* NSLayoutConstraint+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 02C5178E9B49DB790DDA2BD3E0E94FB2 /* YYFrameImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AA02633FFB192B168B207E9AFA63A97 /* YYFrameImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 02F783033A641B80ECCC9489BB07986F /* DDLoggerNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 262C23EB0CE9B302905F326A590B9851 /* DDLoggerNames.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 032EDEACDFDC1AD052C91B520F90920F /* OWSRecordTranscriptJob.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F8B52A4F1719D5E961401A532F5CE7 /* OWSRecordTranscriptJob.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 033CFE4379647D99557E38E4FA4C7311 /* LokiPublicChatMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD258F50972EB743FDEF83F6C245674 /* LokiPublicChatMessage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0342749DE54F6612E98265548F6322AE /* OWSMessageServiceParams.h in Headers */ = {isa = PBXBuildFile; fileRef = B78C2F2F8297D52340DAD6F3C906B40E /* OWSMessageServiceParams.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0352A1207004A8DF4366DCF3D76AAA05 /* DeviceLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5CC8E0BE9BD233A7DE8D1432A4DC13D /* DeviceLink.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 03556DEC0277CBEDCEC45B18478F3EA7 /* AliceAxolotlParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F5BB5D17A830593B66179EA2E65B5BB /* AliceAxolotlParameters.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 03801DAEDCC55A22A103BC0221A98CF4 /* YYImage.h in Headers */ = {isa = PBXBuildFile; fileRef = D6873113E0D0E7D73ABBC650C43A5233 /* YYImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 038FFCC66A2CF49C996BDFD086BB818C /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A44E100D0C15BCDF8B44CB1D8BD9C77 /* DDAbstractDatabaseLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 039558645C89C3116C6F7BF1B093296F /* YapDatabaseSearchQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 74A261FECC2B8EC71F2BBF0371FB2A04 /* YapDatabaseSearchQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 039E89F034EADDB73D4B7A52218EFCEA /* YapDatabaseCrossProcessNotificationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = BC75BEF7C180542380538C81E4F07E0C /* YapDatabaseCrossProcessNotificationPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 03E63BFA2D3F370DEFCEAF29DDD1DC7C /* SMKSecretSessionCipherTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EE2CEF911C116E1CE416D29F30A4BFD /* SMKSecretSessionCipherTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0417D7E5FAF221081B935C0C481123A0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 041E1E685C0E332E8C3CCA17F176AE8C /* TSInteraction.h in Headers */ = {isa = PBXBuildFile; fileRef = AA89955220A6D3EAB8F8CBC0296E4180 /* TSInteraction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 044FFA2BA521B42DCCEF79E613944C00 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = E338886DBAA35B0E025D158AB1BF398A /* GCM.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 046C564BACF97B50D82856B01950413A /* OWSMediaUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C049B1C0BDA7EAAAEA890762C074379 /* OWSMediaUtils.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 048F5327E3E0976D2D53E5A69715BF8F /* OWSFileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = E89CC6D555EFFADE482CC73CB6F8EF8A /* OWSFileSystem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 04DB295DA862AA7B92168DEFF7D744FC /* OWSFileSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 150ED395F55C5D489848360DAD4672A2 /* OWSFileSystem.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 04ED6C2195F79421B5A554A3BAABA5B1 /* OWS2FAManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 291555A7D25244E35EB9F6BF688BD622 /* OWS2FAManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0543E09615D10FD442F3CF7FC686CFEB /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9229E0829E79ADD6B3A184643906E83D /* Generics.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 058A47D97F8167E18C158B8CDACE2781 /* YapDatabaseSearchQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FC0B2BDCAB63E74342D9990813B08B3 /* YapDatabaseSearchQueue.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 05DDF71AFB36FE794DF95B0290568829 /* OWSGroupsOutputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = CCE09C67222379F3EBF8D708A9D970A8 /* OWSGroupsOutputStream.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 05E46A74FA8357FA24DCD70731FEAB52 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = C388607ADA118252C700DB6E34BED80F /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 063D93346FFCFC7B2D31D79D00526F35 /* DDAssertMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = F34FC2D0A98D903A6FBEE1504C489AE9 /* DDAssertMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0640D13FDC0BB4260CB5D3197A09599F /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46D5743D007BA7EAB49BE2C2CE4DFEEE /* Deprecations.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 06B92B8CEE6A79C37A3DA60780C0FE3A /* YapDatabaseCrossProcessNotificationTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = D86FB6002C554A954B40770EDACB79FB /* YapDatabaseCrossProcessNotificationTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 06ECBAB8B95F6731179A042935CEC43A /* GCDWebServerDataRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 897F47E404A809FF6CB7C2EE7848A9AB /* GCDWebServerDataRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0716B6F1782D854863D42CB685F93E12 /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = EEB900F6A62E5277C8C071F2D27BEC36 /* PMKUIKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 071F4009A9A11E9D1BED65E6AC540AB4 /* ParamParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49A8048DC0103BBFD9C4D595AB425B8A /* ParamParser.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0728007C1267A6E4187654AE4072AC89 /* OWSPrimaryStorage+SignedPreKeyStore.m in Sources */ = {isa = PBXBuildFile; fileRef = A5AC926BAC19490D3705A40FB83A071B /* OWSPrimaryStorage+SignedPreKeyStore.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 07734C796967D826545A868A72EFA952 /* NSLayoutConstraint+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 13422D375E914409678486F73E16696D /* NSLayoutConstraint+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 07DC329C9B0C67BC9CB5456D7032BA1C /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95EE59242422FC71E3AB1D67692FBB6B /* Checksum.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 07DD706F69DC36FF757B2C784A94446F /* SelectiveVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FAE70DCE980D6A8C1EE12EEF01C1A6E /* SelectiveVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 07EFA6FFF43C7CE2CD700B2AC66836DD /* YapDatabaseCloudKitConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = DEF1BBB7240C7E7A90DB2CC42F7374F6 /* YapDatabaseCloudKitConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 07F7E6E7AD3A3838E8BBFBF1EDBF748A /* HKDFKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A04DCC83C42891B430498E16FE9283F /* HKDFKit.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 082677DB9A191EB14126B6F1F851780F /* RSSFeedTextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = C08226F70ED7891E41D1C88F1E72AB5B /* RSSFeedTextInput.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 08473DCE436222AE22AB3858E24CAA01 /* NBAsYouTypeFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 54860E776C82290727F85929CF9FFA18 /* NBAsYouTypeFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 08509A6E653AD3FD0551E28BA4A39A54 /* SSKWebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35342D7C1586A1173062241A97C69CEC /* SSKWebSocket.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 085C797FC5C73FDB024DEC213A0A4F9B /* OWSIncompleteCallsJob.h in Headers */ = {isa = PBXBuildFile; fileRef = 96669711A0BD05636F7754BCF41A24D7 /* OWSIncompleteCallsJob.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0865BDB70969A8D08943794A0F2C9DA2 /* TSStorageHeaders.h in Headers */ = {isa = PBXBuildFile; fileRef = 613C4E099464FD5088A1218A6DC5DE69 /* TSStorageHeaders.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 087E32008FD86F7880E634A8532BCE44 /* YapDatabaseCrossProcessNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F64EC4B319B246B65C72E5FF743A9C7 /* YapDatabaseCrossProcessNotification.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0898F4A18AA3FC579D887AB0A2A846BB /* GCDWebServerURLEncodedFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 98889BDD5B9ED19D24A4417CE60DD286 /* GCDWebServerURLEncodedFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 08ADF7374E7557C9087D7F97D875DE5C /* Reachability.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C4B6A6268319A30F3EB2D687A5A1B10F /* Reachability.framework */; }; + 08CF7B723806327CE674A8B1C4FEBB25 /* SQLCipher-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 051A000DD6863E4A691909A061C93CF6 /* SQLCipher-dummy.m */; }; + 08D9F9645B70CA43F84BE6BEE8293CFC /* Cryptography.m in Sources */ = {isa = PBXBuildFile; fileRef = 72074004CA251CA95E7BF22409F9E5B5 /* Cryptography.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 08EB1DE97CD0CE5811E883A652D586F4 /* FIRComponentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 3719C08ECCEFFD9D30E50E53213A8EC6 /* FIRComponentType.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 092A1A1508D9F525A65EE03CF9BD339D /* SAMKeychain.h in Headers */ = {isa = PBXBuildFile; fileRef = D51DF0D031E2351A7D5298AC5938A2C1 /* SAMKeychain.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 093C1E2270C82C8EE8068A09F64EBBE6 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = C7D67B73903409AF639B1FBD26443E04 /* Reachability.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 096FECCB166373FDB285E20CC088588D /* OWSMessageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 0233C861F5B5DA2384D73F7807748F1F /* OWSMessageManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 09ABEE9B89BDAE74D5DCF898B3AC24BA /* source_context.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81CFE4B4DEA6A9D99156F986C07B0E5A /* source_context.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 09C50371A796170BBB40EBDF605BD1D5 /* OWSSyncGroupsMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 70E660DBF0F7C05FD2C795364105766D /* OWSSyncGroupsMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 09EC74FEEEBA1F1778DE4B59EE6155D9 /* OWSFingerprintBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 296FBEF90F7CBE2281B8919C8E534448 /* OWSFingerprintBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0A0D600F3FB4A03C2471C9E19DB6F0C6 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 32846321BF06BC2A8EEF822794DC640F /* Curve25519Kit.framework */; }; + 0A5F103281576850768CDB0209A1CB14 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35C39B479A0DEADE7F78A2169D5757C2 /* CustomStringConvertible.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0AA55BE24F0D5A5084D201A75A696B52 /* NSData+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 577598BBC679DB3AD0D61C64B6BB8A5E /* NSData+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0AB6B2611752939128CF6AC0CBBC863F /* PreKeyBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = 3148D19EE00A9B9749EF1F21BEB4FA41 /* PreKeyBundle.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0ADFE7501C18C2EAF78DDC9D57D325FB /* SignalMetadataKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F840133138F36FACBAEED4B069BFE704 /* SignalMetadataKit.framework */; }; + 0B0E5EDDD50D710277CCF285DE02EAB1 /* iOSVersions.h in Headers */ = {isa = PBXBuildFile; fileRef = EEED420B9E26D8C0ECFC8728865B70C7 /* iOSVersions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0B15766913E11C28FA1FC339CE1F1E64 /* YapDatabaseViewRangeOptionsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = A74C46C23B5D910F826B629B0A0ADF87 /* YapDatabaseViewRangeOptionsPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 0B47D2D3804493E953E59A3BE0F5AB72 /* BinaryEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0590D8306EB7157774AFDFEC59237E4 /* BinaryEncoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0B528B368345AFD13AA1ED3B05B6643B /* OWSFailedMessagesJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F06DFB17CF0F5485817E3619A71D681 /* OWSFailedMessagesJob.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0B731AB3DBDA921C73E6394CB1015606 /* Cryptography.h in Headers */ = {isa = PBXBuildFile; fileRef = DC76C2874E0717E6F16AE355DE9B3D5E /* Cryptography.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0BAB8D4B685B47DE467849A83E414655 /* YapDatabase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F370C6DBDBDB58ADE2D78159D271D98C /* YapDatabase-dummy.m */; }; + 0BB3C68D47CF6120061F67868CE8C14D /* OWSContact.m in Sources */ = {isa = PBXBuildFile; fileRef = 05CFBC81D1921DABEE0024A9F6EAAE4F /* OWSContact.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0BE9AF15E1D7E145D43DC5AED899C1D4 /* NVActivityIndicatorShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA1B86A4E77C8652C1547E3249058EFA /* NVActivityIndicatorShape.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0C65FD3B00B2AA3E97CFA77551A7F290 /* YapDatabaseQuery.h in Headers */ = {isa = PBXBuildFile; fileRef = EB38BB58EF7A4D9713F88DB601E9EB5C /* YapDatabaseQuery.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0C67AB38E519E6AD933B58C2CF520385 /* OWSVerificationStateChangeMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BF1E99E4125C948473E47E863FA5AD2 /* OWSVerificationStateChangeMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0C708B48D275B008E68C4DF6318E9FC3 /* NVActivityIndicatorAnimationBallRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF92B65132B679027788ECC2E04D47CB /* NVActivityIndicatorAnimationBallRotate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0C812778FCFD93FA6CAB01BCD0AEDADF /* NVActivityIndicatorAnimationBallScaleRipple.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9214F0DF7C8D8C8D8CF8AB2D5B50F95 /* NVActivityIndicatorAnimationBallScaleRipple.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0C8730DE0EC67F6BC01412E2BC50C720 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 0CA04194BB8AC489E2AA6E4C32832489 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 0CA4020866FCF47572154D21CD28A591 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CCC3B9F2148E4159863C2615B0788FC /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0CAC7E3D3AFE0A2262E4E5396BD4215B /* LokiSnodeProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7A1579BEDBFFB64F60DD16E3FC8AF2E /* LokiSnodeProxy.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0CC079EEC3318B09E30B1C4EAF122E5B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 0CC6F60E9CB80E2B105F7F48FE7DC510 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 0CCAFF48183CB84141CDF6BFA7797DD1 /* FIRComponentContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 665FBA93ADD478AB87C9E2C7BC43D5DB /* FIRComponentContainer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0CDE2A5130A270B257468DBEF5DB4265 /* OWSAttachmentDownloads.h in Headers */ = {isa = PBXBuildFile; fileRef = 99C1820B45CB93C53815334D47A09EBB /* OWSAttachmentDownloads.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0CE5AC0DD30EA374F889D052B8F22FC3 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C97323C785F956F20E4DF2708ABBF47 /* AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0D1B1F0D84279D4D41D693973DACFC83 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + 0D9201C9D0B45A0D395340D0168941E5 /* OWSContactDiscoveryOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3FE80BA706FBEDC7C6A07CE803F7D4A /* OWSContactDiscoveryOperation.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0D9465D5C81F6785733CB9B1B4DC52D1 /* MIMETypeUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 18C82949DF50E6BBC127F12BB4545400 /* MIMETypeUtil.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0DBCC1503A55900243ED7A3A25537680 /* SAMKeychainQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = 59FCCB136633C46FEC93FDD01842C7DB /* SAMKeychainQuery.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0DC1223CD2D52007EF19CC78C0176AA9 /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D132DC0ECF8C44B87F4D3A00C575B55B /* HKDFKit.framework */; }; + 0DE486E3B40A8144CEDD402597C695E3 /* crypto_verify_32.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C3BF9FF6FA4722E463D396147A3D138 /* crypto_verify_32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E236E8AC47A0C6F521084E8845073FF /* SignalMetadataKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F840133138F36FACBAEED4B069BFE704 /* SignalMetadataKit.framework */; }; + 0E2A8A51E99077613965F62490E9BBA9 /* SSLClientCertificate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02DD7FFB954A5D7807DE1602A169178A /* SSLClientCertificate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0E576EBF6C55CD58BA191E580E07A49F /* PhoneNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = AC8D3D15716E9D4AB71751DCF7E16EE7 /* PhoneNumber.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0E5A629E76DD3FAC55D362CC5E9103AB /* MediaCopyright.swift in Sources */ = {isa = PBXBuildFile; fileRef = 559D15EE6CD2CBF151636AFDFC60909B /* MediaCopyright.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0E5A88F15C984939A048A631CE971561 /* YapDatabaseSearchResultsViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AF5ED0B1B203E32AC6D5187A96BB55F /* YapDatabaseSearchResultsViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 0E6D7A3077AFA293B06492012DC4DAD6 /* YapDatabaseConnectionProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F51ADE1792822A4A3B1A649910E384B /* YapDatabaseConnectionProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0E6E6BF2147EDD335A222956CB1E31B9 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD476B28AF49FED885CE8B0E15ACA92 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0E77BD3258FA0C7AE32C9CE8A379703E /* MediaPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C38F3A54EB991D2A07C79946BA599DC /* MediaPlayer.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0E7B0FC74FCCB3EF66778C98F3E863D7 /* NSArray+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D20DD5892B0A11AE42FC8D0F6E04078 /* NSArray+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0EEFCE10A98F24324837D2188BBF4387 /* YYFrameImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D9930483CF467092B3937C5DF55A0E8 /* YYFrameImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F4F8095B0F4437F28FC50408CDA535F /* MockSSKEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = B9F65E4BEAC99780D7E84696AC571A9F /* MockSSKEnvironment.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F5893BC25D1E17C36231481EF82BCC6 /* curve25519-donna.c in Sources */ = {isa = PBXBuildFile; fileRef = 3DAA210D36F23E4C5320C431C6B917E8 /* curve25519-donna.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0F64A2B205ED978F8999CF38761C7E6D /* YapDatabaseFilteredViewTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 85554FF3CE7607CC85B5EEA56E4A7F2B /* YapDatabaseFilteredViewTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F65F2469D411C0C30F3732A1590C17F /* YapDatabaseSecondaryIndexHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C7AE497AEEB787295DB659814B0E005 /* YapDatabaseSecondaryIndexHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0F742133231D36AD8D502A759208EE22 /* YapDatabaseStatement.h in Headers */ = {isa = PBXBuildFile; fileRef = 19A1480EE38C3CBF039CA74CA86C9617 /* YapDatabaseStatement.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 0FC45F88058E2A8DB680941109F6B666 /* ge_precomp_0.c in Sources */ = {isa = PBXBuildFile; fileRef = AE21FDD8140C93B896AC54FA53E37D40 /* ge_precomp_0.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0FD422000EE6C648DCF8C5A4E6D8E37C /* AtomFeedEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C3438F69656192A4D49715B3145CCEE /* AtomFeedEntry.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0FDB6E62909002078F03AF6B5DA83D26 /* NVActivityIndicatorAnimationBallPulseSync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72BE24668C6FA7FDE9B2EB0CB9BC15E4 /* NVActivityIndicatorAnimationBallPulseSync.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0FE31347B9176DBCE422E68B8D77F8D7 /* MediaLicence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46B014F84C63AEA14CD98A91D293A28D /* MediaLicence.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0FEE52E34850BADC88728B4D5A748B04 /* GoogleUtilities-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AED2C668962B942843C29BF002DF97D5 /* GoogleUtilities-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1000BC2167A34DC5449461C329F86873 /* Ed25519.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D5A7244271C2E9759DEC0CE645997F6 /* Ed25519.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1041B5CA0B975A26F782A1D5DC46BE41 /* YapCollectionKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 7220355E80E5250EC5DFAF4844486450 /* YapCollectionKey.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 10B292C7C1E34D3393F61A8CE9092C15 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 458B23ED61A87641E7095310B4A3B59A /* PBKDF1.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 10BBDD90E5E987E93151FA73B301B401 /* DDFileLogger+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3DC2ED3A9BB31FF2CAAF0F5D151E7 /* DDFileLogger+Internal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 1107BF8AD3A6BB083F769C6EA0CB387C /* Mantle.h in Headers */ = {isa = PBXBuildFile; fileRef = 164F967AAFF9FE9BB091295F72612DAE /* Mantle.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 112389F20126999373FBDAD05E4E0842 /* GTSR1.crt in Resources */ = {isa = PBXBuildFile; fileRef = 6ECEF93230A9ABC500232DE581343272 /* GTSR1.crt */; }; + 113FE320F4F043549FBD1951D79E2FB9 /* OWSDevicesService.h in Headers */ = {isa = PBXBuildFile; fileRef = DF9EF7AE85B6237503F82C2201110111 /* OWSDevicesService.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1157BE8EA457450A39E761203A4AB6DA /* BinaryDecodingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7DD5C6B0DEA38DCE441B21DBB006DCA /* BinaryDecodingError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1177058D6615CA293815F339233FF43C /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D132DC0ECF8C44B87F4D3A00C575B55B /* HKDFKit.framework */; }; + 11A8CF295488031667A302CCE947384C /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6863DB7664C6D8A946A9E37D8C00B66 /* Security.framework */; }; + 11C624E4E112FE6B6E54A992AFDA252E /* ChainAndIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = B3B97A30C50986F1EC0C93522DB434D9 /* ChainAndIndex.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 124B6DA9989F7E62C56B0F5DD331747C /* TSDatabaseSecondaryIndexes.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB12A9EB01B67A1636AB60A11A7059A /* TSDatabaseSecondaryIndexes.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 129AB898A9FACBD4A0DDF2ADBE28A94C /* OWSError.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DAA606506441D6F5F68E274213B6AFF /* OWSError.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 129D2A999C9489829391213634434DD3 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BE27C2E060827B90881CB602B94E18F /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 12D3FD99D8281F02F70F773DAF070F7A /* ge_double_scalarmult.c in Sources */ = {isa = PBXBuildFile; fileRef = C5AB250F11BA27C161B35A3968996485 /* ge_double_scalarmult.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 12DCC88D70D40C68152F9BF946C063F8 /* NBPhoneMetaData.h in Headers */ = {isa = PBXBuildFile; fileRef = AF3CC55F7116473F75AA8C98F1001F74 /* NBPhoneMetaData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 131F8051D111AB905E3C034019FF603A /* YapDatabaseHooks.m in Sources */ = {isa = PBXBuildFile; fileRef = 205D440D235770F6D760CAE06E295F7A /* YapDatabaseHooks.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 13449E3A57F3FA35C57572B7E237B580 /* YapDatabaseViewChange.h in Headers */ = {isa = PBXBuildFile; fileRef = 98C82EF89E1B515989B34867F939D816 /* YapDatabaseViewChange.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1355062324232578A0C95623BBFCED38 /* AxolotlKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60B94E2EFBFC76BCC0A28B0F38453531 /* AxolotlKit.framework */; }; + 1367963AA0E500E0DA3AB0D83EFE64A0 /* YDBCKAttachRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B1D1F92A5F6C572AD59731EB07BFC1A /* YDBCKAttachRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1385E3C02517F0D8A0AF8AE1ED7B6E23 /* PhoneNumberTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ECEF9808702C6BE47693B116C943F2C /* PhoneNumberTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 138A515B5E1F34075F924AD27ED88E89 /* AtomFeedSubtitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1842991FE75624B0B9158158328A9F3 /* AtomFeedSubtitle.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1399A0A642DD7D46CF5DC57A7DD6DE07 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 13A052FFC0CA1F917C19F0C455E64D09 /* ByteParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2365DE0A7EE66A7F03D9E483EB4B5899 /* ByteParser.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 142A1FBA0CCDBFB31255836D027E2471 /* NVActivityIndicatorPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32A460B369D9E56F2F6A23A9E5C5D157 /* NVActivityIndicatorPresenter.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 142B3A0719497DB6ED6780F89E51278B /* OWSIncomingMessageFinder.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DC110366682967230329172495D56BA /* OWSIncomingMessageFinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1439D2285EB1BCC2DE7C2067EF63F135 /* YapDatabaseFilteredViewConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FF7624E1BDF8A9AE72EEDC39E447333 /* YapDatabaseFilteredViewConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 14D708AF0725B5DD2457B293FD4C61A1 /* MediaCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D888C81FE887D26FA0F4A155A3A2588 /* MediaCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 14E4A9301FF7F20216F71A6FDFA77C5C /* YapDatabaseConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = AD75D614ACD450BD1990E9B23A2DD507 /* YapDatabaseConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 150BFD9310C571952202A7B0F3A845B3 /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 9363CACDBB3E9B8F64FBF6753EF39B16 /* NSArray+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 151F62C388F0BA230A666EF2B6066297 /* Pods-SignalTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D43B8ED524AE5A6DA6389CBF84E78693 /* Pods-SignalTests-dummy.m */; }; + 15560251067CCFF27DC17C73160C1BE7 /* YapDatabaseFullTextSearchHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 357F87903640BF0318263DD1308B8E2B /* YapDatabaseFullTextSearchHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 157559907143C4064845C7CCCC872BC3 /* OWSLogs.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C57FC3CD792DB128556E346CA0E42FB /* OWSLogs.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 15808484B9B1220810673DE701C34134 /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB089DADB68A3A4E7C3262823A798622 /* SwiftProtobuf.framework */; }; + 15C278E13CA3DDA7376B85E3658A440A /* YapCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 573EEE1400EB41BF0C86BD6F5A736D39 /* YapCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 15D2BAC07D590F15AE5BAAA2EB1E0DFD /* YDBCKRecordInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = B19F9A481EAFF6688AF08BFDAB591901 /* YDBCKRecordInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 15FFFD73E87B94CD5F141F4B10652CA1 /* OWSProvisioningMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3321C6CC65BCD94467261D9DD21F148C /* OWSProvisioningMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1673073AD6EFB6D0CDBC9C9D59E252FF /* Pods-Signal-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AFBD6D8B1B82988A9B55DF3EBBAC4AC8 /* Pods-Signal-dummy.m */; }; + 16FC66D74FEF562EAD8C045EB68B63DE /* GULLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = C0AD9D49F1B43F6BC0C998F08B053522 /* GULLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 170A830198919CCCFFE4434AFF7C0AE6 /* SignalServiceKit.h in Headers */ = {isa = PBXBuildFile; fileRef = C47687913B01578DEBE0266C88E6085F /* SignalServiceKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1711F7DCE0F67734899E77A8D10C692E /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AE8F310B91F3681C03A3FC3994C33D3 /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 17293A2016A2C2951F63AA8A115AF1E4 /* FirebaseCore.h in Headers */ = {isa = PBXBuildFile; fileRef = BE9BC9309AABD7995F9A9A3AD8E3DCE0 /* FirebaseCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 172B79401AEC1F17DAF22DDA5C69A98D /* YapDatabaseRelationshipConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = D217374FB5EAFA7085767CBA17AAA397 /* YapDatabaseRelationshipConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1746370D282B841D330C936C3EF18D55 /* YapDatabaseCloudCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4474C83E547E0A848415A815F231B20E /* YapDatabaseCloudCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 17AEBB48212CB769122556D5CC20F208 /* NBPhoneNumberDefines.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C64F5B170D5906A0264C81FBFD96A6E /* NBPhoneNumberDefines.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 17B67AA89821D76CAFDA980A98D05F1D /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 30DB369BDD24424EB6A54130F5095BDA /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 17C820B4A1B0B183F324B03D81115F2E /* DDASLLogCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 09155805E9C4FB92EE6B6FB7AFBE3B60 /* DDASLLogCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 18028077BB303C918CE2F113E27CA4EC /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + 18196DA85A035E027F882BBCDB558E78 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B2D6777257F40087791E2E92323E6E8 /* BlockMode.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1854FD6B699999FC0D6A35E7B79CB150 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 18BF819E9E277D62396CB1BE11E8B8B6 /* SAMKeychain-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CF13D11004536F81C272A504F13B1E4 /* SAMKeychain-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 18CB67083492401EBD433FC63E53FF8A /* YapDatabaseActionManagerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9134181F564388A64445E88801FCA754 /* YapDatabaseActionManagerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 1936E9091ED9CC1413E5CBE91B73E62B /* OWSRecipientIdentity.m in Sources */ = {isa = PBXBuildFile; fileRef = 80700E2BFC702D4F029A185379287EB3 /* OWSRecipientIdentity.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 194EBBF5ADB21AFDB141563F6D8D8423 /* mz_zip.c in Sources */ = {isa = PBXBuildFile; fileRef = D93D5AD99D02E835CC05091E2D77E2FE /* mz_zip.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1953E6C8DE58BF0E6A6EE6B23897A5EC /* AppVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = AD2DEDB9CBDDAF5C48B5787CB2D6AA75 /* AppVersion.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 196CA25A75288D031D01B4348E25B34D /* SigningTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B0ED1C2B9487E800DDC3BD9B38EF8DA /* SigningTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 199BE1676F3C524B000F2ED3D172D2FF /* Pods-LokiPushNotificationService-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D18E0335322D6750AC5C10A7D443B7ED /* Pods-LokiPushNotificationService-dummy.m */; }; + 1A145B833F0AC1569EE7D417F111C2A9 /* NSData+keyVersionByte.h in Headers */ = {isa = PBXBuildFile; fileRef = C8B5A43EE9F27493AC2464D1CC7F18ED /* NSData+keyVersionByte.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1A29FC98B87DA50FC78BCA1F1249D07B /* ChainKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 65A763D468885010252AEABE9925F109 /* ChainKey.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1A3270C7B5C2C21CAF208D9E2373FB91 /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3B77C4E9DAC16C48272F191CA8F85F8 /* afterlife.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1A60820FF5C52E46F4F406B7C9892795 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + 1A7414948F9D58B2DB9C0EF408CEA818 /* YapDatabaseFullTextSearchSnippetOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = FE77BC82A78E4C219A06A096CFB7D99E /* YapDatabaseFullTextSearchSnippetOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1AE80DE5DFAAA4BCF9119F6C0A411209 /* OWSMockSyncManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 157D0E1CD05E83E2B6D8082EA5E937F5 /* OWSMockSyncManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1AFC60878D182AE5222FBB8E3A82CFD7 /* OWSChunkedOutputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A51BD69F54E0E76CF803EB1071C8915 /* OWSChunkedOutputStream.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1B1CE64E0DC452C99C7869DA54614FA3 /* PreKeyRefreshOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE64D05FE4D2964016F64854B2A98B33 /* PreKeyRefreshOperation.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1B214F752CA15891603F7A5898FCCA69 /* OWSBlockingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B6EE6D86C53E435CB53F1EBE83D6802A /* OWSBlockingManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1B3FC86A2A52C1394EB11AC8F9EE4F36 /* mz_os.c in Sources */ = {isa = PBXBuildFile; fileRef = 95CF535B9B7FFB769395ED4616102BB3 /* mz_os.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1BC05C10170F8D1482B6C918E37C4E18 /* YapDatabaseCloudCoreGraph.m in Sources */ = {isa = PBXBuildFile; fileRef = B145F614354B60EDDC8A1F755F13A8DB /* YapDatabaseCloudCoreGraph.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1BC54689BD61B4C2705B797250FAD5D7 /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700BAD87F1D471885FC64E53B152231B /* Blowfish.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1BC72EDE2162077F802D1CBC3BB8399C /* YapDatabaseCloudCorePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A3F7875943086E752DCF2F6F3E7D2CE /* YapDatabaseCloudCorePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 1BCC9F0CFDA381839E47EA5EC1B04E0A /* GCDWebServerMultiPartFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A44D1F4C8C22405E0D104A82D9A962C /* GCDWebServerMultiPartFormRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1BEFEB76D53DE73C00EA865629AED7D1 /* MediaRights.swift in Sources */ = {isa = PBXBuildFile; fileRef = 545A6C90FD373AC096A08FB87DE389A8 /* MediaRights.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1C2C5114D730914B870F52CE0FAB64BC /* OWSHTTPSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BB1818B110A33C4394DD07396FFF9DC /* OWSHTTPSecurityPolicy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1C53F93C0214D26DCAA142C5E01F7C67 /* JobQueueTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AAE8DF3E1EB556EDD569199BDC41E6D /* JobQueueTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1C7F2144DD96E5ECEC1225FDDC2507A5 /* YapMurmurHash.m in Sources */ = {isa = PBXBuildFile; fileRef = C98A99DFA917ADDE208587DC9D46A0A6 /* YapMurmurHash.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1C9D76A64EEF2F0E0A7A675E753775A9 /* OWSUDManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C36BE3F884D5BB6AE82E4713F049251 /* OWSUDManagerTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1CA629C44F1918A767541BB2953EF236 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71F8EC2FA817FCA5CC82D9CD737E75CF /* Configuration.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1CAB71771122DC5864F216A077C270D5 /* mz_crypt.c in Sources */ = {isa = PBXBuildFile; fileRef = C8C07EEF72CA3647D7EF90A6EA08F2B8 /* mz_crypt.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1CE340D9702F97B39BD7FECEDDBFE6CB /* OWSMath.h in Headers */ = {isa = PBXBuildFile; fileRef = F462E6CB34B40AB6AC3EDF3923322E09 /* OWSMath.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1D0E675BD75EE61DC18A8CFA8A107DA2 /* NSTimer+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = D66A3E292FF16690B2E3E765F165A792 /* NSTimer+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1D3FF12C7A6EBC03F631F6D899F038F9 /* TSMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = FBA7F772F423C73AF1886EB004F2BC59 /* TSMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1D4F0F2EEDB4C0213BDF9198A87DE31D /* OWSIncomingSentMessageTranscript.m in Sources */ = {isa = PBXBuildFile; fileRef = 6553DD76EFB7F0707773288B710FDC64 /* OWSIncomingSentMessageTranscript.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1DB1288A74FAF820952B5F45B0EF309B /* YapDatabaseSearchResultsView.h in Headers */ = {isa = PBXBuildFile; fileRef = C0557383B119CBB116697C3C95D33074 /* YapDatabaseSearchResultsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1DC0864AC96212975134BBD9AB825EEB /* OWSFailedAttachmentDownloadsJob.h in Headers */ = {isa = PBXBuildFile; fileRef = D5F9CC3F5873728B7CFD2C14641E6CE4 /* OWSFailedAttachmentDownloadsJob.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1DC465C74D96576097139DD0A5A55EBC /* YapDatabaseFullTextSearchPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = AA57E77C74F7AA2C2A33849B4BD9362F /* YapDatabaseFullTextSearchPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 1DDD1D4BFB27720DF5BE2EEAEE562403 /* base.h in Headers */ = {isa = PBXBuildFile; fileRef = 663529E7604A8929935B92557F8C23E0 /* base.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1DF33241FBAE51260C2C4434B20D1919 /* OWSIdentityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CCFCBF79410871845253A5E83235F2F7 /* OWSIdentityManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1E14A8AE2BDAC3C9DE12AC6ABF56B001 /* SerializationUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = A219050BE03C07F9F785A7EF3487BB9B /* SerializationUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1E29C5EB8FBC2EA55BDF5623E89E92DD /* FIRConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 30B6581797D0C7C81702731B5BED0790 /* FIRConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1E425E1044283E3465DA6F0062DB9650 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72B8D9F026552E914C88BE40712F6A0 /* UInt128.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1E9CC8FEB3DA98EEF5945ADB7A3C8C79 /* SessionCipher.m in Sources */ = {isa = PBXBuildFile; fileRef = EBEC8A9481E2A3A04625E261CB76DD3C /* SessionCipher.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1EA9609F7E3E8C45C02F514CA2D2F572 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44ECCA6DD6E1784922152336E1047529 /* ChaCha20.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1F1A4BFE6963AA687D0D626F1D2838D3 /* YapDatabaseCloudCorePipeline.m in Sources */ = {isa = PBXBuildFile; fileRef = 96EDF820174086266CCDE80038180DB3 /* YapDatabaseCloudCorePipeline.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1F72E1F0D88982F8692FA8A36E9732AC /* Pods-SignalShareExtension-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 245EF8B19940B69B77E3995DAFC93F61 /* Pods-SignalShareExtension-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1FD2D2A80F11AD8BC207C53C56DF4481 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + 1FE3482415CB9E353F5BE9D8D414AA1A /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 4233D1024E4928B1441AFF92FC1ABAB9 /* AFImageDownloader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1FF348BE0087E3A54C97002945295F4C /* DeviceLinkingSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA83BB9172B56C8D73E89BA4B5FEBAD6 /* DeviceLinkingSession.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 20026A6E12326DEE7471ADCB8D3661D9 /* SQLCipher.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15EAF1EC54113702F786CAF05A5D500B /* SQLCipher.framework */; }; + 204C7070F7FB967F804933929F25A349 /* GCDWebServer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CCFF7F92732FDF4272A02E0FCD84A825 /* GCDWebServer-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 204D90EF00724FD1343BAAD0912AC20F /* RSSFeedItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8926E19902CB1522414662944C6BE5 /* RSSFeedItem.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2088B6E7BDA179A25D7FBED36B7D3569 /* AES-CBC.h in Headers */ = {isa = PBXBuildFile; fileRef = B103E938632823FAC6B35C92E96000E8 /* AES-CBC.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 20A5D373CCC1CA72090D3BF9E204C61E /* FIRComponentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 12FD9F03298B60C2505F484AA035E9E8 /* FIRComponentType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 20B11452EC560629961D12A9A0CC8D91 /* Google_Protobuf_Timestamp+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B404F95E1489960CE29E0CBFEF859E2 /* Google_Protobuf_Timestamp+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 20C70BEA8EA0991DCC4BCEE0F82DBD5F /* YapDatabaseFilteredViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = E916EF59BB0AC73DF7908C9AB35F0129 /* YapDatabaseFilteredViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 20C77C497AAEBF4161A8F3BBC1F3CACA /* libPhoneNumber-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 79C04F50709C0EF3BD1F0F6471FD13BA /* libPhoneNumber-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 20E3552FF0C545BAEA0E955E4E6973D5 /* PreKeyStore.h in Headers */ = {isa = PBXBuildFile; fileRef = B39B9129BD96150ABF44C21C5F0807D0 /* PreKeyStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 212C7EED2F67888B12A3081C09C572FB /* open.c in Sources */ = {isa = PBXBuildFile; fileRef = 6BCC4B21E0BDB77B62D648B0EE75CF23 /* open.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 213C55AC1577BF0AAF6685445603C06D /* NVActivityIndicatorAnimationLineScaleParty.swift in Sources */ = {isa = PBXBuildFile; fileRef = E463E70EDF92A8FED0B587DA42DD6692 /* NVActivityIndicatorAnimationLineScaleParty.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 222D9EDFC2C2CCC6C56DE5BC09FBEB02 /* TSAttachmentStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A98C9CDF7478E853EA689AB11BA606B /* TSAttachmentStream.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 223126F1415F069966E0C8690462BB7B /* YDBCKChangeSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A3DDCFF59017B5A4716D209C301964D /* YDBCKChangeSet.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 22670D27180CD552776D3E2822222580 /* NBPhoneNumberUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 48F29CD7DB4ED00FB8CF1DA8ECFE4B92 /* NBPhoneNumberUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 22DD1AB9ECAD08E60956BCED4990AB26 /* GCDWebServerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 51D88586BD10DAC4B24023F35C30268A /* GCDWebServerConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 22F65A22881E5941B7ADA283D47824C6 /* SCKExceptionWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 994A9C01EDB5971911FADD32A270354F /* SCKExceptionWrapper.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2306B3141CABC8FEFA7EA1D25FAE3DB9 /* MIMETypeUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDF06DCD95A631F1B45A519C7D82F22 /* MIMETypeUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2317F5C4178CDD522D59C3C1F25A5EB7 /* OWSChunkedOutputStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 3ADD3F4CAD877118EDC54036C0BCE5EA /* OWSChunkedOutputStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2323BD04787D00F3C3E4B83ED1570DAB /* YapDatabaseViewPageMetadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 56BC21727995DD0D41068CE840751D8C /* YapDatabaseViewPageMetadata.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 239EBBE65BE624D6F2083BACB2408498 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = D69B64800F675FF8E09FA71C4A163B89 /* HMAC.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 23B0D8C2376F9B137D51109517D962D6 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6863DB7664C6D8A946A9E37D8C00B66 /* Security.framework */; }; + 23BD5794E68A739B3B86B2813755FC55 /* BinaryEncodingVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF1C70EB1F920668F66E872523625E2B /* BinaryEncodingVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 23DB28CF4073AA533C953802BAB66469 /* YapDatabaseViewLocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C3E4D253EE4F13512ECD97C39B6BAF5 /* YapDatabaseViewLocator.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 24AE77E7EA8834B87F7188C443251AF2 /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D132DC0ECF8C44B87F4D3A00C575B55B /* HKDFKit.framework */; }; + 24E765DFC4E7A07757EBCF63179B23E3 /* AtomFeed + mapCharacters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EC86B4A94B8B72EDF16E0DACB093FAF /* AtomFeed + mapCharacters.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 24E83A20EBAC777DF4139D75B827B60C /* OWSAnalyticsEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = E8085776C33E22160A52C90C6ADEB9B6 /* OWSAnalyticsEvents.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 24FBA82466AD76513815157FCE6750B6 /* YapDatabaseViewConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = A8E15B909864FF1A06D11E4CDE83D2D1 /* YapDatabaseViewConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 250BC880C9F17A12A4B3AB9DC812BCAD /* MTLModel+NSCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C19896B7223262F6AF0B6436B55312E /* MTLModel+NSCoding.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2573A7763AB9E886B3C348BAE1A16B57 /* OWSDisappearingConfigurationUpdateInfoMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = C127D9361133C3643F2FE0417F1773B3 /* OWSDisappearingConfigurationUpdateInfoMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 258DE0132FD836457C188631D8A588B9 /* TSIncomingMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C95726C8FBF3CE6A8896182BB72E004 /* TSIncomingMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2594C137139125FB2ED3865E0D73CEC7 /* YapDatabaseRelationship.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AFCD6B273499502D7923CBD81532D11 /* YapDatabaseRelationship.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 25CA65C20E808AB8C1882904CDE55A29 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 707C377369A9ADB60BEF9AC220B19DEF /* AES.Cryptors.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 26B71F5BCB95BEE13528C18224FEF9B6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 2744B0B909BF0D34EEC4B2F01DDC8F78 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 278F9D5ABC669D3783DF4D2B2257AAF9 /* Logger.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 274E03C090E8B577CF8285F4EFCB37A6 /* SignalServiceClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89CAC9887B61894868EB8A830E49A5D /* SignalServiceClient.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 277428E0FFBE6939C0D3B9C0D9218BCC /* AtomFeedEntryContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7E4788C2F0B04AB54D6E51E6D97C902 /* AtomFeedEntryContent.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2784CB60C2C38BEF9E327857E3C20FDB /* fe_cmov.c in Sources */ = {isa = PBXBuildFile; fileRef = 047FFE54222AB0A40E300B7F31B27A32 /* fe_cmov.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 27998AC6945F9B0B22BD818414B790F7 /* YapDatabaseRelationshipTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 352A4F0492EDA2B34A3C533A8257CE72 /* YapDatabaseRelationshipTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 27B0E8BFDCE2A251D4F36EBDE584D24E /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EFD6E6EED622F073D1337170D1549B8 /* Scrypt.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 27BF3672BC4C4725FD07419A93F7E8E0 /* AxolotlExceptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C8E1D386F2BCF44F86C260AE672EEED /* AxolotlExceptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 27D318586779BC2A09027A55ABC8B229 /* NSValueTransformer+MTLInversionAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A3F2FB210FCFDD33DA4BC577D3E0FA6 /* NSValueTransformer+MTLInversionAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 282833BBF6A05AC2634E407FBE629FC5 /* YapDatabaseExtensionTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 5122D750C70EE20943506E14AA23154F /* YapDatabaseExtensionTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2862BA6E6AD41018BDB3B8548D6B78A0 /* NSDictionary+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D60F75F80FD936C2D492A65554D5D3 /* NSDictionary+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2878B0A3C781859DBE2842200AA18EF4 /* ProtobuffsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6225709BB6F18F977BF92D41534D9F45 /* ProtobuffsTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 287C696340E332057B40CAA13D2D204A /* JSONEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8A894A7A99EFC77DA222F2D11EB6971 /* JSONEncoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 28945DFE3346E44C30414D73E3F3D01E /* TextFormatEncodingOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06400CE5BB1BCFF3846610D5825EF1B3 /* TextFormatEncodingOptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 28982FB19EF29C39687D0C27B7F7E8EE /* String + toDuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11C4BC691EEE203DC77A7694FFBDBD86 /* String + toDuration.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 289B2E164466C863E971115C36A56918 /* OWSCensorshipConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 13385081870B1D7D06F2EBC5D1758C10 /* OWSCensorshipConfiguration.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 28ABC3C3F572A1C3E0B5E099F0A2E8F2 /* OWSDisappearingMessagesConfigurationMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = B5B4789F8F5D43AD2422B048FAD9E448 /* OWSDisappearingMessagesConfigurationMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 28AF4A6B6DE33871B4AD936EC9BF2B7C /* YapDatabaseCloudCoreTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = F6B3D849E4B55E2B4FF64BEB201E4621 /* YapDatabaseCloudCoreTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 29490DFF1824C489D62285FA4EE4BF41 /* NVActivityIndicatorAnimationOrbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CB15126782652F34CED29272E48A800 /* NVActivityIndicatorAnimationOrbit.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2974ECA3C1CB7F63A614DFF930FC5990 /* OWSDeviceProvisioningService.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C63445F8D16A0974405AD0D6110A2F /* OWSDeviceProvisioningService.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2997E073101DEE86063CE173736875F0 /* PreKeyBundle+jsonDict.m in Sources */ = {isa = PBXBuildFile; fileRef = 03150F3CFC18C35A31D4BA48AEF10E3A /* PreKeyBundle+jsonDict.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 299B3D6006D0F0821C676B61F41E08F7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 29ACE68A02E255F4A105A099598DBA46 /* TSQuotedMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = B1482177C91A8763017C2DE854CC0A70 /* TSQuotedMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 29B7484508598B7E43B63EDEB364B15A /* OWSUnknownContactBlockOfferMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 474059BC966F0967CA6958D13A11761C /* OWSUnknownContactBlockOfferMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 29E595F72E7CFF74D01FF7FDD7D6529D /* GoogleUtilities-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 578C09725E61F5573BCA53C185335FA2 /* GoogleUtilities-dummy.m */; }; + 29E8730466ACAA3FD79092AEFCEA99E9 /* OWSDeviceProvisioningCodeService.m in Sources */ = {isa = PBXBuildFile; fileRef = 94FB2CFC53F2C22FCE27A770D8D9FAA9 /* OWSDeviceProvisioningCodeService.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2A4E8F5DA065B6851A909864C0B07486 /* OWSContactsOutputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A4F5F3371B1909526ACC36ED4C9F88 /* OWSContactsOutputStream.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2A62D9A888B029566FA2AB23F3A78F14 /* YapBidirectionalCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 95323C9EC43170DF77A7F05196E6F85E /* YapBidirectionalCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A9711101D886C00B9E90CD2D4BD8B32 /* String+Trimming.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FD6263894DBCECA28515814110DFEFB /* String+Trimming.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2AB672E480E473F97E71BCE9F6B599AC /* GCDWebServerRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 062A2095330066F365A8BDA1C65AF580 /* GCDWebServerRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2ABBDD6D220F163F327C19E9BFDB20D4 /* UnknownStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FB489D0372DD344A9A65E798CD76989 /* UnknownStorage.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2AC5DBD3B1399978A6A9A0D637538E7A /* NSObject+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A7719BB03C7A518C712ABDCEB9EA522 /* NSObject+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2ADFF7BB37726463A2C3262B6DBD088D /* SyndicationUpdatePeriod.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4DE000F6DD39FCD4447C6D14AF437A0 /* SyndicationUpdatePeriod.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2B07CBBCAAB3D5C0A43266FDBDB7A6B4 /* EXTScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ED068C5B8A22CB68AC0CABDF886E903 /* EXTScope.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 2BB7272F80A9534FBBABDD5CDBB16D6B /* BinaryEncodingSizeVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD7EA77166DF2FC4FBED66D176AE01BA /* BinaryEncodingSizeVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2BC4E1984F578A04EAFDA49331ABE527 /* PreKeyBundleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = B080BBBF0546377D4E4BAA767359A569 /* PreKeyBundleTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2C0F9DFF9B5DA0895E6029CC89A75559 /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FD2ACC5B69A948C05F4807355677C38 /* race.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2C1C71F3B5F1D5E309E75E84DC2C4CAE /* RatchetingSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 3638EC025552CA5E7328F7E1F79F504D /* RatchetingSession.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2C30A45371CC5E4C12C0C34BCC735F43 /* OWSSyncConfigurationMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = AE7830067DD05659427DB766C3A2F084 /* OWSSyncConfigurationMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2C7339317387427956DF6492864C2D76 /* OWSSyncManagerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A761FE86F21AD81D59365ED316C72C4 /* OWSSyncManagerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2C899014062E778FECEF439EA937A641 /* TSRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B686B9DD7D4FAD9F658B01F8EAD74D2 /* TSRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2C8D0D34A5339DF16716028328678F83 /* Data+OWS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95FB11FFFBE456D49E7A912CC7109C90 /* Data+OWS.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2CF85098A9B2B56C057E4428F9D2E19D /* LokiPublicChatManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96FEFDD95B5A58AF1A86366439475955 /* LokiPublicChatManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2D13C536FCEECE85DD85AFF08210838A /* GULAppEnvironmentUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = F50C0DAACED9FCFBDDC9CA58B167DED1 /* GULAppEnvironmentUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2D48B8C0D42F31145A9CAD133673F05D /* OWSBatchMessageProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 68FCA1F5F245ECE5CC7F8EEB8AFB3617 /* OWSBatchMessageProcessor.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2D57DBF1121AF72A4435A63863396DE6 /* AtomFeedAuthor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB36651977DC94E4FD806826CAD68018 /* AtomFeedAuthor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2D6DEE397DA5F4C7650E89C5146F359F /* NBGeneratedPhoneNumberMetaData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D6B11DF1DE5C927405E3D498DB33626 /* NBGeneratedPhoneNumberMetaData.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 2D8457F27DA0480F1699C1210D8CA7B8 /* DublinCoreNamespace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94FB612C2EE5BDAA33DF71BA031CFC60 /* DublinCoreNamespace.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2DC336832B1CF59AE28F26572AB8A9E3 /* OWSOutgoingSyncMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 977F32156DB21155C633A0E816DA08AA /* OWSOutgoingSyncMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2E38BDE1A8FD7C1C9D94745144ADD29D /* YDBCKMappingTableInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2536C79BDC5741265205ABA221F70941 /* YDBCKMappingTableInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2E5F64A6A60C696DF14634E2F7E49158 /* UIImage+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 452564B41DDDA813A950C475FB370D8E /* UIImage+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2E9958E8812FC8A0370E363B9FC641B3 /* YapDatabaseManualViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 504D429D22D9A453D8494F204A27CE32 /* YapDatabaseManualViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 2EA808976DF0DC31DCAC8E9FD9463377 /* YapDatabaseHooksConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 585B8957DF21DD6F32F927FEE8C1C694 /* YapDatabaseHooksConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2ECF99241D509424A97DAA1398A05C70 /* SMKProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA62A2C2C71C28EC024E153EB721398B /* SMKProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2ED2B1DA0568D19E227A4B0FBAD48E3D /* YapCache.m in Sources */ = {isa = PBXBuildFile; fileRef = D2310FA02B636F3A8F6FE46D55264DD3 /* YapCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2F04DE9F59602B44D52072C52B994EE7 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AA8B8BF0B5CFA54433EA0A4EE9DA138C /* PromiseKit-dummy.m */; }; + 2F1CD7D8F2FAFF9A280C0D63545F34E5 /* YapDatabaseSecondaryIndexTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DA23EDC8712761BD88E266E4FD8A0AB /* YapDatabaseSecondaryIndexTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2F3781B118918F4DC8181D0F0266D54B /* OWSAttachmentDownloads.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C8527D38482778FB470A971DDC3D1DE /* OWSAttachmentDownloads.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2F433F4EBCA6F0587FD96B4EBF9387AD /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42185DFB7BB9F70207D1E66F7BBC06E6 /* MD5.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2F6BBFD09359D8D2C56F1677AFF52293 /* DDLog.h in Headers */ = {isa = PBXBuildFile; fileRef = C11909A4726953F688D2CFF62D39BB10 /* DDLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2F8C8C16035CDE3A124BE606460F568B /* BuildConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E073D0CDC3B2333565C0DAA89FE4C573 /* BuildConfiguration.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2FDAEBEA6C06044F7E6542726A7B3B73 /* TSOutgoingMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 867D8C049D55640B4B2F9D053F965CD6 /* TSOutgoingMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3060238AC5B3DFCBF14D667880FB8FDB /* YapReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 74B0326F1D2ACB8C5B1C11664FA8EF92 /* YapReachability.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 307CAAF8EFF35222D559AECB8F77762A /* OWSProvisioningCipherTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9656A2BA216DBCAD50C401F0D75D4BB5 /* OWSProvisioningCipherTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3083C7CA1E06BBF9FDF24635F4862883 /* Decoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85EE95244EA265DC5A3EF5E234643B3B /* Decoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 30C7C7ADE0A057460A80393C5EC99030 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + 30E5A7B38D0AE99BCCF82F91B3F652A6 /* JSONFeedParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33A332B5E31448BE2F447F8827F99973 /* JSONFeedParser.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3136604778DE2A9C04EB68C68900BDD4 /* YapDatabaseConnectionState.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CB9B8EFF2743CBD38FBEFDFFBA129BD /* YapDatabaseConnectionState.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 314798BE690696534162318065DBE92A /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B38DB750060EF6410579BA9CB943663B /* UInt16+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3170D2E3F615ED1D72AA16E5F48B0BB9 /* SignalCoreKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 464F1B32F5C5B00B70C981A872918A8F /* SignalCoreKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 318ED3949A938A4FD76D2FFA2588C68B /* Factories.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC61492FDC4222CB99D49A27EA5FA4C3 /* Factories.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 31952A1D900073FF0E7D2A34DA3AC1DD /* Pods-SignalShareExtension-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 31D58CB83A778356D13C8A96F04FCE06 /* Pods-SignalShareExtension-dummy.m */; }; + 31B0F58323A52B7907E77928BADD813B /* YapDatabaseAutoView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A8E3C7688E3FDE147D4A2FF3495C6A7 /* YapDatabaseAutoView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 31B47BCBB1A9DCB24FA74E94267F3C03 /* MediaEmbed.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF06C3E40AC432815EE4C9FB596C3207 /* MediaEmbed.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3204F252262EF6EE7B20C6BE53B9299D /* YapDatabaseConnectionPool.m in Sources */ = {isa = PBXBuildFile; fileRef = A05D400B610131618F0D8C2E7C13BD96 /* YapDatabaseConnectionPool.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3205078AABA8D6DC52CB417741AF1EEB /* OWSMessageServiceParams.m in Sources */ = {isa = PBXBuildFile; fileRef = 31229205E824CFACD90FFA5916CE53CC /* OWSMessageServiceParams.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 321BC23CF9EF6AE6EA19A82CE6145DAE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 321E9123033AEA1B6877B52A0C580264 /* PromiseKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6C8373E810AC14FC0E7EDA6E9C7E5D4B /* PromiseKit.framework */; }; + 324B2FDD8107F09955CBD9D39E0B91F8 /* GCDWebServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 88EB0EA319A0EBCC39339A62108D9CF3 /* GCDWebServer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 325686B3E3B6C5973BDE94B671DF12A3 /* SMKSenderCertificateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C7BCA9885439744E248BE23951ACFD1 /* SMKSenderCertificateTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 326918ACE81DB74C813B51D2EDBF7689 /* EXTScope.m in Sources */ = {isa = PBXBuildFile; fileRef = 45EF441FFA8FC603519E46131DAB40E6 /* EXTScope.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 32B4144B610DE469FC9C97C218908DA3 /* AtomFeed + mapAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BC5A5EE170101833EB0A50EBEA56B65 /* AtomFeed + mapAttributes.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 32B4B42A2330C98E5E8FEAEBF8CDC063 /* ContactDiscoveryService.h in Headers */ = {isa = PBXBuildFile; fileRef = B3FC9D2830FB4D71BADC72A46E34A75C /* ContactDiscoveryService.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 32CBE19A4D26E1FAC5984D8263B3D643 /* YapDatabaseConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 00EF8AC4D9E853CE077963E2E013CBD5 /* YapDatabaseConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 32E3305DE7EDE40FF2CE1FD0CF71C675 /* AppContext.h in Headers */ = {isa = PBXBuildFile; fileRef = FB36012796B157779B454B1304367D3C /* AppContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 32F28F27E51826183D8AF43AF1545D13 /* ProtoUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E319C13705B3CFE38AABCDF13A80D28 /* ProtoUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 339F0E465F2F2CCF19E64EF65C6CA376 /* HKDFKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CF3B3B0D497C958E3D7DC33225B3643F /* HKDFKit-dummy.m */; }; + 33AB990FD7C7139F3818B2594F0076A4 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + 33DC854E48EAF5DEE0951C381ECE2641 /* YapDatabaseActionManagerTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = DFEA6178CDEC9267F8F13DC77B0AB41D /* YapDatabaseActionManagerTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 33FE95DFD2A9360EFE0E3FCDF0625C3D /* FeedParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = E80DDBE542295F7D991282136F2BB17C /* FeedParser.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 346B1476B54AABE914461EE3F403C1E9 /* AtomFeedLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BEE03F988FD6F30A51591446BCA895C /* AtomFeedLink.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3476611DD2825B95510D5AA46C8B94AB /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C9D41C5F09C861DE9E11FAEEF2A1DAD /* Cryptors.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 34B3911228733B11437F3D383687FBD5 /* TSStorageKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A52C14A89BF3FC84E644B22E460299A /* TSStorageKeys.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 34CF7D5E0F5FA554F9D4B5BC5CD50AA5 /* OWSDeviceProvisioner.h in Headers */ = {isa = PBXBuildFile; fileRef = 14C9A4CB23D5E90EF398823B07ED816B /* OWSDeviceProvisioner.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 34DBE778C4EF0693B973579AAFB7FCBB /* SMKSessionCipherTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 616578A2EADB8A2F4F2871851CC3952C /* SMKSessionCipherTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 34FFB48FE7188E78BCB84B8B5BDBFD51 /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 730D512464D25D163ECF35137ED3C8C9 /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 35105C43FAC35A24253F25F48A195C16 /* YapDatabaseFullTextSearchTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = E0F8D03AF7C377A34DCD1697D30CFC2D /* YapDatabaseFullTextSearchTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 351FF387E118DA3891F120483A0DE696 /* SerializationUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = B7875289BD421941FBC20497F536B33E /* SerializationUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 352D1BC508739063665BFB0E3CB20049 /* CocoaLumberjack-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CDF5051D0A052279623E9D650F574B8 /* CocoaLumberjack-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 357FE6564DDA517884B6365F9FA1BE6D /* YapDatabaseViewState.h in Headers */ = {isa = PBXBuildFile; fileRef = A5328390412660B58FC5FC61A9F18EB0 /* YapDatabaseViewState.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 35A06AB21A2730AAD38FEE566C37F3F4 /* mz_os_posix.c in Sources */ = {isa = PBXBuildFile; fileRef = 8AB03542DEDBEEF97F41638F5DF8C979 /* mz_os_posix.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 35AA5783D5D3D21F648EF8C4B77E4A90 /* SSKJobRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 265419D1308755F3017CAD9BCA44C3B1 /* SSKJobRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 35FF61EA664124306E6A75E8EE844C91 /* MTLValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A918BAB9ACE6699E4E4A2766695384E /* MTLValueTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3601DDEA71DF6C6BF955E0ACCEAA2770 /* GCDWebServerHTTPStatusCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E0A088DA173B4B4B5FEBB43F3CE4B8A /* GCDWebServerHTTPStatusCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 36484C19923502F36B3964C3624C3C86 /* OWSFakeContactsUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 418D12FB05C14120F7C34B97B5B78B16 /* OWSFakeContactsUpdater.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 36542CDBF87A6E1A78CD4583001C315F /* SSKIncrementingIdFinder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C389470A93C5FD013BE86CEE1F0C3AF6 /* SSKIncrementingIdFinder.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3669C89C28BDE51521117326E92A499F /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99D8BA181D775DC2584C2F463744EC79 /* SecureBytes.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3684957A3A7A3E7E4D81B4F17ECAA4A6 /* SignedPrekeyRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = FBBE648FA4BFB87E6268CD5AE1B22711 /* SignedPrekeyRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 369502473ADECBCAFA969EDA838BA146 /* YapNull.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AA21D99EC0B592DD3C81F144F6F679 /* YapNull.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 36B7BF51C8BF49EA0D2EA7C0216B6149 /* YDBCKAttachRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BA3F1FC561AB941D9B7641FD5487E50 /* YDBCKAttachRequest.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 36BBF69E6275EFDE9313CE16CC53FB56 /* TSAttachmentStream.h in Headers */ = {isa = PBXBuildFile; fileRef = CF0CCA9E129D37E1BCD8534634F2160D /* TSAttachmentStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 37134F811A43FF3884ECAEE5972CD922 /* YapDatabaseQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = AE5419DF03304DF123A6E5C7376D3382 /* YapDatabaseQuery.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 375911E93B09DD7DD073F54521FFD437 /* OWSUploadOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D410A2258157BE1FE48F2E5A8E203A3 /* OWSUploadOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 375C8EE7494F1C90FADD8CA01A68085E /* YapDatabaseSecondaryIndexTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = BDA8451360E2AB07DD3F9079F4E7C251 /* YapDatabaseSecondaryIndexTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 37608CA6658DC5BD64221838B49CD334 /* YapDatabaseConnectionConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 979D0C4A6395C89FAF7A93FA1AE7694A /* YapDatabaseConnectionConfig.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 37980C5EA24D57EE63DD872B71517096 /* YapDatabaseFilteredView.h in Headers */ = {isa = PBXBuildFile; fileRef = F59ADB56DD41D95ACE6B4128F9DCE169 /* YapDatabaseFilteredView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 37C5CCFFFA2CAB6AA6EEF67DE09324C8 /* crypto_uint64.h in Headers */ = {isa = PBXBuildFile; fileRef = DD4913EEE98DB15557D20A46CFDB00DF /* crypto_uint64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 37F0EF253FF160E541C0C24CBC69EBCD /* GCDWebServerFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 47185964EEADB69B89B6B5C6C1B8E52C /* GCDWebServerFileResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 38010965ED477FA1D643A4A0072B2E47 /* YapDatabaseRTreeIndexOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E6B299A84AC08F9734119A9BE322E01 /* YapDatabaseRTreeIndexOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3840A56FED60A6F5F793683AAC1C3861 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B42FF2B231E65CC475D6438A989461 /* AFSecurityPolicy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 38893CEA8FFCBA792D01EA0684A835A6 /* YDBCKMappingTableInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FB0D6EE7300E92DD36B261E239C482E /* YDBCKMappingTableInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 38938E94E6678F065A0235624EFA3FC9 /* Starscream-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FE8F7D2AA442954F4E0B42C8EE6ECEB8 /* Starscream-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 39F3DF36F10FB3E436A1F2718C993B8E /* DDAbstractDatabaseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 986B8B1E6A67391BEB812C28FC89F5A2 /* DDAbstractDatabaseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A3401335482B854895F6A3DEF9977AD /* NSError+MessageSending.h in Headers */ = {isa = PBXBuildFile; fileRef = 8098AAB04666BACCC63EA3C07A6E7224 /* NSError+MessageSending.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A539B42D025B637A7949910462DC70C /* TSDatabaseSecondaryIndexes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C92CAC38EC5A08D454542741A4C7976 /* TSDatabaseSecondaryIndexes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A59A018C89C380B00AE7AEFB501C05F /* NBPhoneNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E01CED4578A56B135C43A76A3B97851 /* NBPhoneNumber.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A8076C7582356FF64A0D43E9BF32605 /* field_mask.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE0DD6C213D6785D38A828DA7D5C4638 /* field_mask.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3A9E6883D65DC5FECE2DD29E71E31776 /* OWSIncomingSentMessageTranscript.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FEDFADC5603FC9016D2915BF718C68B /* OWSIncomingSentMessageTranscript.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3AB0A88CEEC5A7E11CF685F3AFF24B20 /* YapWhitelistBlacklist.m in Sources */ = {isa = PBXBuildFile; fileRef = A1A3834BC506B7D4C32B3FFE05A7CCD7 /* YapWhitelistBlacklist.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3AD1450387A021853DA9B9B06F0F7191 /* YapDatabaseSecondaryIndexConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 37B4380AB0B3F4A05FA22F178DA672B3 /* YapDatabaseSecondaryIndexConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3ADFEEDF7E0ECF5E762E2AB5912CC1BB /* DDLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = EA869D1A800BAFB85E3E766A8FB1C9DF /* DDLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3AEB2FA0CE23A52A219E0BDCA54844C2 /* YapActionable.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FC8EF3ECA24333F38C95E86AEEED2AE /* YapActionable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3B2E6661B2B3AC88EF8F567E117C77B3 /* TSAccountManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 860958FC42065E9509448ECA8F73D7E7 /* TSAccountManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3B3BDB7F546D974F6D01839B2F355822 /* iTunesNamespace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5363CB00BA21A7589B73713EC01AD813 /* iTunesNamespace.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3B559E0F04EEF5967BE08B3C3523D3DC /* SimpleExtensionMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1177E26FB75995FEE6200C9D3E523A7B /* SimpleExtensionMap.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3BAA852F20E8D2B829E22BFF019FD1C9 /* OWSPrimaryStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = E97D953E7ADD8166217980C2156300AB /* OWSPrimaryStorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3BB3EAEDA252CFF55D41ACC098F8CA6E /* iTunesImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = C72EF2884FD26FF09E56D8D1C4EA1349 /* iTunesImage.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3BBC94C30559706727C933233365547F /* OWSUnknownContactBlockOfferMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BD8483E6DEEF3E014011BA66A1A25F0 /* OWSUnknownContactBlockOfferMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3BEC778368160580748500C4D439C6EB /* YYAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B4032002353349009D12B2ADBE37D1E /* YYAnimatedImageView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3BFF4963E5A38EF2AE7D1A61D436D597 /* YapBidirectionalCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A68FA375AD93D49BE13B96C4898F01F /* YapBidirectionalCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3C133564FEE1A4147801DE54ED7A8FE3 /* YapDatabaseSecondaryIndexOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CD2D269676B454073DDB2D95080FF94 /* YapDatabaseSecondaryIndexOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3C2B88C38D45FB0CF52BDCD7D38817F7 /* FirebaseCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4570E27389E695E05C42E0C50F7574E8 /* FirebaseCore-dummy.m */; }; + 3C4177751AC8D5F77E3A39DBA9891A89 /* pow22523.h in Headers */ = {isa = PBXBuildFile; fileRef = E5E4D4083754E9DF70670309E3CA8D36 /* pow22523.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3C5E25D75A1EAAA9C08F6DFEC5244817 /* mz_strm_wzaes.c in Sources */ = {isa = PBXBuildFile; fileRef = 670E822328C8EE9F0779B9CE581B941F /* mz_strm_wzaes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3C6E80E04D5E417CA083CCFED1F13555 /* fe_0.c in Sources */ = {isa = PBXBuildFile; fileRef = AE507CCEEA45F7DDD8283A94069DA9AF /* fe_0.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3C92E851365656CBA6D2DA0344C278B3 /* OWSMessageManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EBE9A148BCC827E3A73CE96CCABBF33 /* OWSMessageManagerTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3CD85D2BF59D1F4E6D3A2AA678A27037 /* MTLValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 2151D79B742394CF8520FC1E430F66CF /* MTLValueTransformer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3D30C04A277BA8BB3EDD4BB520B2E628 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BDB6831C53C6E7582DFCF65F16D7086 /* AEAD.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3D34E30B5D2B7C0C485A7DD6CFE45305 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 3D6E9160ABA9A0A4E116A900B8FACED0 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FD46F9DDA0A0B48E5AD4ED5E15BEF89D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3D75140CEA81E043F1AD8036CE3E8CE8 /* Varint.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFE4D3EEB9F9F8F927F36C993D5D251E /* Varint.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3D7B335CC21A530A192B177A0794EF11 /* CLIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CDB804424F1E3BE31ECD4BB1F6EA3F7 /* CLIColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3D870506AD2AD8E2378570C899E0C4F2 /* NVActivityIndicatorAnimationBallRotateChase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44DC37C136740B166BF7294BD737EC75 /* NVActivityIndicatorAnimationBallRotateChase.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3DAB6014E5F28481954E1A1C08875181 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + 3DCC411542D721F76604722D418F391F /* SignalIOSProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DFDC5BA7AEE736A89EF7792348EF0CE /* SignalIOSProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3E12FDA70DB59ED3FB1E181B8EAD52F3 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 677AB4B0603D8AC3BBB1D42729ED5272 /* hang.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3E255B516567C1C471DB1EE171498183 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 3E3A66846749F59B9082B297DC9E6F05 /* OWSProvisioningCipher.h in Headers */ = {isa = PBXBuildFile; fileRef = 77A6E9C2F7317419C690F2FC7F176674 /* OWSProvisioningCipher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3E5910813282AF2FBEDE547C60E23D5D /* YapMemoryTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 78FC5D1D868DAAE14E3E0E28370779C9 /* YapMemoryTable.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 3E6D198A5AD899A4DAF16433BC746221 /* SignalServiceKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3390EC66F41A16310C2AF66B7647DD80 /* SignalServiceKit-dummy.m */; }; + 3EBBD57B5F6AD35574A3BB65AB5E2353 /* LKDeviceLinkMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3753F08A00EBD4F0D92BA8B87CEDA8D4 /* LKDeviceLinkMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3ED1A8CC6C996AC2071A37FA33A6B458 /* SFSRootCAG2.crt in Resources */ = {isa = PBXBuildFile; fileRef = 5B668E0D19549435387D6961B99F8171 /* SFSRootCAG2.crt */; }; + 3EDEEADA1C6D2E3E2406D84B320F12E8 /* Randomness.h in Headers */ = {isa = PBXBuildFile; fileRef = 2967EC5266C77E86793EC6D54FDA38BC /* Randomness.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3F5352CBD1C6608472893BA0D10F6051 /* Pods-SignalTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B22DA6582F45FB45323C85ACFB552D0 /* Pods-SignalTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3F8933CCC2FF0E1FA4C93F056C0E21A1 /* YapDatabaseFullTextSearchConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C5D62E86302FF7667076D2CE29F71D8 /* YapDatabaseFullTextSearchConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3FA84E7818C1DB4745900759535335A0 /* YYImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = FB8929BF1500B1289BC2C843A7217E87 /* YYImageCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3FF58E4F9A3D6F5BE7172783DCF6C5B5 /* ProtoUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = ED890EC6703B0F989142D901169D2BBB /* ProtoUtils.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 402413655C8BEA78191C9854CBCA0733 /* YapDatabaseRTreeIndexHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = BDFBDBF065DBBD1736705E9DD0D91748 /* YapDatabaseRTreeIndexHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 40344A740F735CF9E3256D95DF3523C1 /* PureLayout-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F69D6ADAA0B1F93609B01E85AF1A4DB0 /* PureLayout-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 40482939080D11A316E61C3D90F3E445 /* DisplayNameUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = A179A0A87B886424D086DE201B7416FF /* DisplayNameUtilities.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 40510A5F06CE11713FC0FD9FACB05A15 /* LokiDatabaseUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86ECD28850EFCDC8BC56FDFB264E4971 /* LokiDatabaseUtilities.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4051C738183B0984657267A156CAFCC4 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C954EF9FF5819C403718E83394CF1D6 /* PKCS5.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4077894C81923BC0B6231AC95E544651 /* OWSMessageSenderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = FE818358B61D0F153782FB81BD204985 /* OWSMessageSenderTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 40B1D70F81A2F3D7AAF39C662A1CC481 /* YapDatabaseViewRangeOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 99755190C9AEA33978C4F2359B1FA4D3 /* YapDatabaseViewRangeOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 40C6868D6D32594279E68876046090EA /* fe_isnonzero.c in Sources */ = {isa = PBXBuildFile; fileRef = F09D3191225302A5C8BE2E3074399E1C /* fe_isnonzero.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 40CD205EBD5BE3B49D6DD528B1472559 /* FIRConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF3F4E8D4F40B5E6B4F0D335349EF75 /* FIRConfiguration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 41013163279B9E2AF47F3910EE442306 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 40A23518CFF9B02380526DD8545BA439 /* DDContextFilterLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 41203E4AC0E37A05CB01E9348CAF70BF /* AnyUnpackError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E1052F9C392E0BD93E91A3AF6F3B6F7 /* AnyUnpackError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 414D48468A7BCB1B487224A5489492C1 /* YapDatabaseCloudCoreConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 49673915BB55BFE76F102323FD330EAC /* YapDatabaseCloudCoreConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4159484ED62C356E8C3BAE7EF7070602 /* NSURLSessionDataTask+StatusCode.h in Headers */ = {isa = PBXBuildFile; fileRef = B03B36DD6487CE97D336AA5E1FCF1EAA /* NSURLSessionDataTask+StatusCode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4168F18CF265BEB26AA8EE942304C120 /* YapDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = B86C526C08E9564535BAAD8B8E15B93E /* YapDatabase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 416B62EE39C9A1D0008140BBB0BDD2D7 /* OWSMessageUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 5552A83813B25BF1A4F2395A1C60843F /* OWSMessageUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 41FCE6BBB0A500A6516A4B029D23045A /* OWSRequestBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7689CEE9C6A10C3B62B992035DB59801 /* OWSRequestBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 421385DD6182A6EC41A3E59FB9FA4710 /* NSUserDefaults+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A62E4A800A778138E90B175EA59B163 /* NSUserDefaults+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 421732D4285FDC724DEA1B1EC56447A0 /* SMKCertificateValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1728A0FC264CD70CA50D0BCAD1BFD436 /* SMKCertificateValidator.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 421DF0262848B7FB232104E56AA49936 /* libPhoneNumber_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D7C74EDDBBACEF5B0BAFB2EBA275E7A /* libPhoneNumber_iOS.framework */; }; + 421FD1D44F124F98A1DD922FB73D7EE2 /* RSSFeed + mapCharacters.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC065B5B1C46AAC9AAE0A904CB145FE2 /* RSSFeed + mapCharacters.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4221C9191950958DE6950718CE600C8B /* LKUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6E107F5404F68094F14CE786F010536 /* LKUserDefaults.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 42698B06B6B9B69A899F7EF8EEA50387 /* mz_strm_split.h in Headers */ = {isa = PBXBuildFile; fileRef = 92642E0B3D7F05656111DFEA9B10BCE8 /* mz_strm_split.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 42923A609B33A275072661F8FA62FF40 /* YapDatabaseFilteredView.m in Sources */ = {isa = PBXBuildFile; fileRef = FA4F045A1BCACC45DF9AAF7B1CB37CFB /* YapDatabaseFilteredView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 429CA40E43D2468C8177BE6240A6E0C6 /* PreKeyRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ACC727FF94444619B3C25570C73BF43 /* PreKeyRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 42A9AA60F1AF070D8983D384D2D7B565 /* MediaPeerLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE19FBBA8FBE06DC1A340D1C54A31B21 /* MediaPeerLink.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 42C262C3D8319EC1D14C277F40A70CEB /* YapDatabaseManualViewConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A8E7A4FD4185AA64347C68285CAEEB1 /* YapDatabaseManualViewConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 42E6E310F838B8B7774CE356B303B20F /* NBPhoneNumberDesc.m in Sources */ = {isa = PBXBuildFile; fileRef = 448D72BFDAEA737E4A968D772E3DC830 /* NBPhoneNumberDesc.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 432223E4EFE5FFB28B0CF5107D1BFB65 /* YapWhitelistBlacklist.h in Headers */ = {isa = PBXBuildFile; fileRef = B1417590DD671EB59DD3BF1392F48C55 /* YapWhitelistBlacklist.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 43229AE0F385579F3BC645ADEC7F47CA /* NSDictionary+MTLMappingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AA9293EF9CDEE80191F5D9DAB4CAAB8 /* NSDictionary+MTLMappingAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 433CDB5809528CC550567E04EE825D90 /* FIROptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 368CE05FE2A7A27DF74857350E4EE1AC /* FIROptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4365B20047D6DFCCAE3F09AB75ED126D /* DataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = F2210E9390B9DA61D8856AD08AE96DA2 /* DataSource.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 43880E19D70189D16DFB9D601CFE5D3C /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 908D224F3F501CD0DC7990943A622544 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 438CF4BDA6B7D15294AC103F83CF188C /* OWSBlockedPhoneNumbersMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 63D0979D0D597FE945C2E487DDB90032 /* OWSBlockedPhoneNumbersMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 43A06931AEE5741482E9BB85DD16D449 /* DeviceLinkIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC5E66586F609125D718A0126C87E944 /* DeviceLinkIndex.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 43B90518ECD3A4BF1D63B4D54EA43FD0 /* Curve25519Kit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EEEE3B7FBE8AB5DFE9F941BDDAC30EE /* Curve25519Kit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 43C48AEAA13B82D29D75090195090C83 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04BF8C1DC10396B8F814A7CF2370DEE3 /* Utils+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 43DDA0938F99EBBE54F9EFEA4781877D /* SSKMessageSenderJobRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D4754D547EC4A1CF5F90D9BD28CA07 /* SSKMessageSenderJobRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 43F76A2E6898BD9E8A1BE41D9BF34564 /* GCDWebServerResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AE80B76F50F61A817B256AA3C802312 /* GCDWebServerResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4456C3918F20E53BF367A34296FE87B8 /* JSONFeedItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 809F572799EF6229FB222895228B1EDC /* JSONFeedItem.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 44771AF1259B846E586C6A1F1B227B02 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 4477C42648EB698927AB5A3C02995F99 /* GCDWebServerFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 78B14A3BA2A66323A344A15A292F9463 /* GCDWebServerFunctions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 447B39444500E23AC7BAD218E5E76E7B /* OWSFingerprintBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 520CF2C720AEF29F262FFD565EEF2D60 /* OWSFingerprintBuilder.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 449B7EF03880C559E15F77071C8C21BB /* OWSMessageHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FC45DF24F44D2E0B71BF56F3DC66E8F /* OWSMessageHandler.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 44A38E14DF8E3EBD08630CFDA9397929 /* WebSocketResources.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A38586F9EEC691600949DEFDB359792 /* WebSocketResources.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 44EA7DD1DBB778AAD6C3D4DCEBDD75BB /* MessageSenderJobQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44C547E7E62D72A4F47B3398C035774E /* MessageSenderJobQueue.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 45050248251A2026F2CD59297166FB27 /* Dictionary+Description.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F2A48D0070B4C5B14803BA4560B7E25 /* Dictionary+Description.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4525A4EF33025D245902107D64CAB2C3 /* StringUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 386AADE491F9E1C2357F5C5B9D6EF206 /* StringUtils.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 452C75C8DCD98442A5349CFDFA4F6163 /* OWSSignalAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 908256C090BC137B9CF805A52AE9D73A /* OWSSignalAddress.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 457594184B1F149BF27496993B580F44 /* TestKeychainStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE446B41E16596A01DD85A2FC62538A5 /* TestKeychainStorage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 458A40838318B7079048D6A435DA2602 /* PhoneNumberUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E83B80347175982FF9A25CAF4A1A35D /* PhoneNumberUtil.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 45B1D0C509B6F3FFC8ED845C7238C389 /* mz_strm_pkcrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 94C6364B0ECF2BFD914322964E45835C /* mz_strm_pkcrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 45BCBB051A4A40371C75C4B8A9E59BF5 /* NSObject+Casting.m in Sources */ = {isa = PBXBuildFile; fileRef = 36A8D39D9729071530327DC786D6A0CD /* NSObject+Casting.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 45D31CBFA4CC752F22AC85B340A0E014 /* curve_sigs.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E5EF666C3777B01BA33BB9E1A6EBDEA /* curve_sigs.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 45DBE6BA2144F1A84A9927313C36D79F /* SwiftProtobuf-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C726CCB7FEAA2147D0AF5B4407B531 /* SwiftProtobuf-dummy.m */; }; + 45DEEA43232E3B725C3FB069706F8A5C /* TSQuotedMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A60A1F1471CB3AE4FA1B74E4F87C162 /* TSQuotedMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 461CB60BE502DE797E1F3D584307B3C9 /* LokiLongPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345C80B25641E86DA4E7018ACE906C24 /* LokiLongPoller.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4675B8ECABB8DB440DE8675C0CD72180 /* LokiFriendRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AA3E3A977D7F1E383C3A1EF59910176 /* LokiFriendRequestMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 46BF8A31CB8644F72AAB2F85AA8328A5 /* FIRDependency.m in Sources */ = {isa = PBXBuildFile; fileRef = F19DDAF1CC1AB90EF96904864201D36F /* FIRDependency.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 46C8C99C685DDA07977CA3D218B8756C /* NSString+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 0070003F2685C506E215D73BAB0958F5 /* NSString+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 46EF3D44340873F24A8A78748B962739 /* FeedKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F9786865261225576C78017325C69C57 /* FeedKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 46F6B90AC43F1EB7C8EED94EEA70E1A5 /* OWSEndSessionMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 30F1063D0184D995737782EE4A9073E0 /* OWSEndSessionMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 47036A6A9D7FFBCA858E676DD4AE3D1C /* YapDatabaseTransaction+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 84AA67E8F7C3DC134A1EBE2A67BC828F /* YapDatabaseTransaction+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 471425E169A9EAD21F46EF1D4A75396B /* TSStoragePreKeyStoreTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0336A81A1FE18F74C70C95DBDFECEDF0 /* TSStoragePreKeyStoreTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 47315659AFF5BA360569685485AC8194 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E837B3EF36DB408C33F61ED53D9D55D4 /* Starscream.framework */; }; + 475A96B1638936DF34D70F42ACF476B8 /* JSONEncodingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FC14B6F4E4D823EC6B4845FBA5DFD60 /* JSONEncodingError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 47C869E67294B38B62D97EB2EB271A64 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = CE899D1860ACAD7D81286A2AD1383717 /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 47CC807DBAA93D927002A8B14CDC79ED /* NVActivityIndicatorAnimationBallBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 923B0002172C50DBE8EFF0230AFDEDA7 /* NVActivityIndicatorAnimationBallBeat.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 47CE83304966C3B1205034692EF43C2F /* DDFileLogger+Buffering.h in Headers */ = {isa = PBXBuildFile; fileRef = 153F5E77D09D98D546B7BA7FAC969E16 /* DDFileLogger+Buffering.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 480634C35A89F0D6E8904C780B4AE486 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01A617671FC41D09F7509014C72ACED5 /* UIKit.framework */; }; + 480891736641040829DA45BE1AA3ECBA /* OWSQueues.h in Headers */ = {isa = PBXBuildFile; fileRef = EB167397E22A0B2F7F2149C40FC9D8AE /* OWSQueues.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 481C7B5254754C31EDF54AF83C7E00E1 /* SPK-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E7738548C29F7A899098BBA1ACAF3D7 /* SPK-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 485ABDAA027458B0CFD3C55E33C5A25E /* NSDate+OWS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9D96B7B3CF5CF3A7330850D6FF869F7B /* NSDate+OWS.mm */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 487B7D54709ECC3B46416FF790C84ACB /* YapDatabaseCloudKitTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 926C9B4633A4B6BC8196E8650281DCC1 /* YapDatabaseCloudKitTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4898811D49A07CEFB3AE85EB52BD59B4 /* NBNumberFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = D61BAD5EB543EB2B18A0B7EA938A5B28 /* NBNumberFormat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 48BD58CF3A6B6FE5B2FDA7D3600CDAA4 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 90F94D9FA523A0E8D1FC5A1B80A9A52A /* DDDispatchQueueLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 48E13A62320B456B610B73A7B74CFE84 /* YapDatabaseCloudCoreOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C400B4191B9E5C8C6BA1397EA8EBB44 /* YapDatabaseCloudCoreOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 48F04F36D9E45F70DE9B23AC84CAF230 /* RSSFeedCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6C95F5BCC98FA47BC6B4035A0CB899C /* RSSFeedCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4922023B0AC47F793DFEA9CAAF8C7292 /* AtomFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 215D0E6E4C29E64C94FDDE0F5D086053 /* AtomFeed.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4922B84988F7D9A270EE86285682D48A /* NBPhoneNumberDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 273A9CC5B40D837E9CBF7E90EB3A048D /* NBPhoneNumberDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 495E7395B23B0FB50B3B4C4280596586 /* SMKUnidentifiedSenderMessageContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE77E606842DF8A2F0E4A89F75F3EC /* SMKUnidentifiedSenderMessageContent.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 496E77B9D8D3C0FB65C113538A054F07 /* ECKeyPair+ECKeyPairTesting.h in Headers */ = {isa = PBXBuildFile; fileRef = 79A10B8083B7569F81898E82E014F725 /* ECKeyPair+ECKeyPairTesting.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 497E13738137DE59F3C4BB8275C5FEA3 /* MTLReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 347F209B53DA94B0D98643C8C30AEFAD /* MTLReflection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 49A1B307D3D1624094CE7AF9E864AAF1 /* YapDatabaseRTreeIndexConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = E8708739015E2A76728236B3511F4EA0 /* YapDatabaseRTreeIndexConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 49A78C4C87BAC161EC781B44DA38B127 /* MediaStarRating.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33BF004C0FBAF3FBD1F5A37C16875EBD /* MediaStarRating.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 49AD74DF6DA83870984D269CEF68B168 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6863DB7664C6D8A946A9E37D8C00B66 /* Security.framework */; }; + 49D900F9D9B108E5F7DA64DF30B3DC3D /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDFB4E43AB0C5E4099E30A9FBDDD77A7 /* HKDF.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4A304F8BC5BACA943495438ED4B134FA /* ContentNamespace.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC87C33B56EFC451C538317D354882A6 /* ContentNamespace.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4A3A5699CF4F0CAFE235A2F87757261A /* TSMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 11EBCA5CBCB23B5AC20350F88F2B6F37 /* TSMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4A40E471CDAAE08ED065965791645DEE /* WeakTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE632F175CCBA09B1D95BC8BAA7CDFD0 /* WeakTimer.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4A934743460F750DBB2497021DE9B7A9 /* Array + Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8B2D395DF453F8C71810305C03BE714 /* Array + Equatable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4A996E4A8C9760C5EEA2C79438DC1891 /* YapDatabaseRelationshipOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D6A0048F26D47D4B68499107978939F /* YapDatabaseRelationshipOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4A9C47F0CD672869C6CAF4B0215E35F4 /* NVActivityIndicatorAnimationBallPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF9F56A3C5B39191186DE30B398EB07 /* NVActivityIndicatorAnimationBallPulse.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4AB3CAB4717B1E279263F729C3EBFD9A /* YapDatabaseCloudCoreOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = FB6F7470F242D82D9F7F0B96FD745153 /* YapDatabaseCloudCoreOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4AD32D3079BC387299382485D1F2C009 /* EXTRuntimeExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = CC863A8CC6D4BE6101A90DE1D25C8498 /* EXTRuntimeExtensions.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 4AE2A1F59BD582EB750D73FCA907D74D /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79F8A3B011810BE8F0376D62B96A7B41 /* MobileCoreServices.framework */; }; + 4B087E53EE8021AD58FD3F62EC441988 /* ge_add.c in Sources */ = {isa = PBXBuildFile; fileRef = 2F332BA0AD8894CF18ED624687F52E48 /* ge_add.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4B126EBB375742E3D1E2B7F73E7258B3 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3A02FBBD251AC9DBBC0B9F77EAAB4E3 /* SystemConfiguration.framework */; }; + 4B17668B33DBF85F7D40AB98DFAD6A43 /* ge_p3_to_cached.c in Sources */ = {isa = PBXBuildFile; fileRef = BA4DDF706AC38D51FA90C834FEF78AA5 /* ge_p3_to_cached.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4B24F9FB4779CEB032BA04D18626E73E /* FIRDependency.h in Headers */ = {isa = PBXBuildFile; fileRef = F036F5E2E835EE45BD901DCDB175C0B4 /* FIRDependency.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 4B49BEF87D0A8D58797B4B0A9CA856D3 /* BinaryDelimited.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B3535A4B8356BE6449AD0388DDCB7A1 /* BinaryDelimited.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4B7B28824C268E90D931B2E57109705F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01A617671FC41D09F7509014C72ACED5 /* UIKit.framework */; }; + 4BC58074799911D5C4C6D3DCDB085E4D /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB54F97B28ACE0A021A31B79ABE8AF71 /* SHA3.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4C1A160BC285553B4421C72ACB12A1FC /* FirebaseCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E69E72CD7BEFA8D85CEFD505BA9D6B0 /* FirebaseCore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4CD659F1162D2A198245CEDE48E0F2EA /* MediaThumbnail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D904D27AA88B4A1FED9DC15B0B72C8D /* MediaThumbnail.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4CFE72683F8A4BA5018C4DE2C157182A /* OWSFakeMessageSender.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AB91ABED214B102BCD54472E0E1ED70 /* OWSFakeMessageSender.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4D0D4B04F7A7AAFE675EF1EE2F42EA69 /* FieldTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41FFBE257F03F91AA208224D37572114 /* FieldTypes.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4D783EB8F2AFDD7D427B8F0557FD6067 /* fe_isnegative.c in Sources */ = {isa = PBXBuildFile; fileRef = 644936984335A7507306FF0ADAFD5AA5 /* fe_isnegative.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4D93E8A5C99A3698FF25C3C84648831D /* YapDatabaseRTreeIndexTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = EFEAFAA2D1980D61E234DAD4624840DD /* YapDatabaseRTreeIndexTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4D9CBB1E3D5FF9B3C2859E840F0DF20F /* SignedPrekeyRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 41F047CA32CD78F83D8EE87597A2875C /* SignedPrekeyRecord.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4DAB5BD70EE316622AE494F730624ED5 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09C0AB1ADAF8D4DA2B26B09C16A34FF0 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4DCA8CE5C4B89302EC92B34F7C69AC74 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 4DDB7B4CDC632B6D9B73270C2BCA276E /* LKGroupUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 544E99975D3E9F5C4926BBDDC45F82F0 /* LKGroupUtilities.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4DE4F07AAEE7A7DA749D59550C0166D8 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C52DF223A41E25744225F462F964A26 /* Error.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4DE4FFB926755266B96E77B3B704D363 /* TSDerivedSecrets.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DEE22A19AC81D812574FD6FE73538D1 /* TSDerivedSecrets.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4E0476D20491FA0F3A45E1EC1E3165DF /* TSYapDatabaseObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 86C4DAEFC3A97318C5F67BD4E2266E7E /* TSYapDatabaseObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4E05A25C7EB71B8A1AFD6421483B8939 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 4E54DBB9ABCAFBC913656D5AF88BC14C /* SignalMetadataKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D60C097DB7FBF12A762821A1A79982B3 /* SignalMetadataKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4E98AB2C0DE314ABEA7DE1634E322F81 /* NVActivityIndicatorAnimationBallTrianglePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9F2073C41BE615D4F3B59077474924F /* NVActivityIndicatorAnimationBallTrianglePath.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4EB4BFA7EF6CF9985F55808AC195B06E /* YapDatabaseViewPageMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 759392B9028EFD2A6E80FA71F06D5897 /* YapDatabaseViewPageMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 4EE02050B81CB1AB8FCADE8DF98DAFD5 /* ge_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9A163A53C30B24E4215F1561BA56608B /* ge_tobytes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4F0F9B3237A314E5FE79E07CBCDCFC12 /* iTunesSubCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0729D887F701704B930715B35A3C14FF /* iTunesSubCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4F110D4CF4022A090380ABE908E060A1 /* ExtensionFields.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7DFA755012D9C9F7F827BB4E37936E4 /* ExtensionFields.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4F25EADF42872C69299F2419B8FB4BF7 /* OWSBackupFragment.h in Headers */ = {isa = PBXBuildFile; fileRef = 14C19EB09518EDA453493FFCEBAFC48E /* OWSBackupFragment.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4F40449CE9B44086AAEE5821CA7E4260 /* OWSMessageReceiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 7542EF61F8B1E454EACF38496A5AE231 /* OWSMessageReceiver.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4FB5A4BA9120988AC631C722679E6642 /* NSNotificationCenter+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 67F57EA574C1FE96E0AEEDD113CE0C95 /* NSNotificationCenter+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4FBDE5B2691E2EE84C0BF5E1F815D665 /* AnyMessageStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A7E04E241B26E68D29F05871A36A12 /* AnyMessageStorage.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4FE1C5DE41A056474BE2019063D91C4C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 5000BDDD6BE586BCC01905C4E54BA384 /* RSSFeedImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = D185A629847E9F817B45FF1FC6704BC7 /* RSSFeedImage.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 50335CC4399208BCCB9431089BEBD551 /* YapDatabaseCloudCorePipelinePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 464737059C6634FB47C47855E2779881 /* YapDatabaseCloudCorePipelinePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 50C7F4F4505D8E3135FE9CE8DF12C5BF /* DDLog+LOGV.h in Headers */ = {isa = PBXBuildFile; fileRef = 30E8CFB70FA69A7AA2C2FDFB954E6605 /* DDLog+LOGV.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 50C8FD448A65670BCE20E220551E295C /* MediaRestriction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33977B47070EF355AC43B7CC71AD486C /* MediaRestriction.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 50C93FFABEF3F6EF567282F445D7AF7F /* TSAccountManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B0CBE088B9C0CBD646AAFAAF3937E688 /* TSAccountManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 50D79D93E4695B8151DC2F4CD5D379BB /* AppVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B348C44F557DAEDA57E9BD14F142455 /* AppVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 50E4238485532658D37BB3FF5296289F /* CryptographyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A07743F71DEB3115984B36FE9DB3A440 /* CryptographyTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 50F733D79C0F63C11A7AA2CFC9093F0F /* OWSOutgoingCallMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 86F76FA37A10B74D226BD318E45F836D /* OWSOutgoingCallMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5141821C122BAB8A91445E4B34606050 /* AccountServiceClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 471D46960A4A2798E08C2C805D22F57C /* AccountServiceClient.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5158561F1694B89528215B7C3072B6C5 /* YapDatabaseAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = AD53055E142A9DD74372E1941BB29632 /* YapDatabaseAtomic.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 5170F0EB2707A8E8BB2CCB32E216FA70 /* Reachability-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F646B4B6FCD10071FB07787B643F2D82 /* Reachability-dummy.m */; }; + 51A47AF30D52FDBAE1BB7578BEFF57C8 /* AtomFeedContributor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6A109E8B61F7ACEA20A02C3B0274F5C /* AtomFeedContributor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 51AF52E2DEABB60F674A7394922018FB /* MessageKeys.m in Sources */ = {isa = PBXBuildFile; fileRef = B59E88A6F078C455F734815BE38A024E /* MessageKeys.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 51BE3BD546522614EF6CF191402C1631 /* fe_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = 731C474BA147AFB99C3E2D719C310B88 /* fe_mul.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 51F8B8D77A6779BEC1139613CE06798A /* SSKBaseTestSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17EE2CC8ED8B76584E1908E8BE82942A /* SSKBaseTestSwift.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5203E0EB7D80DDF3E4A5D9F225130A71 /* Promise+retainUntilComplete.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5072087E439640F00B96F69577F9D31F /* Promise+retainUntilComplete.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 520A835E875F54375E402B164E0243D7 /* AtomFeedCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1640778F54A3ACB97B9A835A0DC857DE /* AtomFeedCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 520B6D975F2278C8ED45C22084E2F1E4 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6863DB7664C6D8A946A9E37D8C00B66 /* Security.framework */; }; + 5265674C36A6B04108F73A82FC12B7C2 /* ge_frombytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 8371AA146FC6CDAADA38E31A2815EF6A /* ge_frombytes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5266AFD21E77F66133D54DD6BAEDAE0A /* SMKUnidentifiedSenderMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D1B253F3395C70D685A604371B7AB3C /* SMKUnidentifiedSenderMessage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 529321E9A7983A6D8FE44A42F35E48C7 /* YapDatabaseHooksTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 66EB2D5D5EB739CC9D97BA977325FC7E /* YapDatabaseHooksTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 529859FA10854AE17AFA355A5BADCF41 /* LokiPublicChatInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB8411E0D6EC5E7C3975E1D696D91350 /* LokiPublicChatInfo.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 52B25CED0665CF347604732E81F8EF52 /* OWSMessageHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = E86D03480839B5CD2EDE44AE992B608F /* OWSMessageHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 52EF488D441622CBB03E8A4B925C9968 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 52FEE73F0B50323527BC3C9BC5843979 /* PreKeyBundle.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CB6075FF599B1B2C863807A886D83F7 /* PreKeyBundle.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5321640D5A0008F1E9308C46404A4535 /* AxolotlKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60B94E2EFBFC76BCC0A28B0F38453531 /* AxolotlKit.framework */; }; + 53378D18DB81ABF9DB04046CF1ED3DD5 /* SignalMetadataKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4350237CCBED61F4901E44B8BE1D21BD /* SignalMetadataKit-dummy.m */; }; + 533CADC70B3DDD72C075CAFE58C4ECBE /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D271DC9D11B04E2B1069D881AA61B205 /* Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 534104B47223247F4BAE94890114A5CA /* OWSReadReceiptManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A7CE3D0A7292561DB231A23BD4C91AB1 /* OWSReadReceiptManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 53A1EAA2C4C92C10780AE926D81E4C38 /* NSSet+Functional.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BD0EA6C2E58458F660BDE9A915EA136 /* NSSet+Functional.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 53BDEC90B0B226B452BAF730FDE46F8F /* SignalAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 75E14F7DC17F0FCE9405FA9CCB679973 /* SignalAccount.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 540A319509A9722C3A7B674F307EF77F /* YapDatabaseRTreeIndexPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = C22AE0ED262B59834E0DFBCEE548B252 /* YapDatabaseRTreeIndexPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 543095F96FF606A50B2ECA8B2763EB6E /* AtomFeedEntryContributor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FF8FE61429C51200BC3BE033A5586B5 /* AtomFeedEntryContributor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 54459023F1F50E721CB38D73B8345AD2 /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 12CC863BB3EBE0C2127EC23D87691B9F /* AFNetworking.framework */; }; + 5447524F6EEA14135B4DF40E43AED615 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84E0CF2E38A4A0848CBF9404D288AA7D /* CryptoSwift.framework */; }; + 54476460680BA21A3C70929FAD9C3797 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 545621F9E891BAA9800FD90F588C570D /* SessionCipherTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D2D0B08BF60A32DDCB5591D3D143FB5 /* SessionCipherTest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5457B8BAA6D3163530FEE435FC4E4222 /* OWSIdentityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 59071DFCC8EEBB5304D8265A1967AB4A /* OWSIdentityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 548DF8E90E35F70DA588B43FFD2C871F /* TSErrorMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = FAE861C7F973A0DF071C7B63E09D85D2 /* TSErrorMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 549A94C710CFDA91504E75044002E508 /* YDBCKRecordTableInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E2EF0A62F387934332523F90B2DFBEE /* YDBCKRecordTableInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 54BF6157FAC29A7CDDECDF6B0BB3F624 /* YapDatabaseRelationshipEdgePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 618E85459ADAF84C3B7DAA10F66796A0 /* YapDatabaseRelationshipEdgePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 54D6B93ABAF2A20AD4D72AB5FC72C4AE /* YapDatabaseAutoViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 12D5F8BE07105924F639D4AAFDFBB3AD /* YapDatabaseAutoViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 54FC54B0165DE0F61E0A88EF826C8279 /* mz_strm_zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = B74A8F46260AE1578EB57BA8FD814BFB /* mz_strm_zlib.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5507A43938D6172C82718D0556CA13C5 /* OWSRecipientIdentity.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ADE9303C0FA1956F3552F8B844E8DC1 /* OWSRecipientIdentity.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 551239AC48193DDDFB15E495B4056A9E /* NBMetadataHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FB8087FB60BFA03BC5652CCF3899A0B /* NBMetadataHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5552A5DC69ED696A810BDA8BEB835844 /* OWSBlockingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F95C4F2C65A640D0E04F96DB93228EF2 /* OWSBlockingManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 559F4789E75B00DA7E9CC842F336CF76 /* SignalMetadataKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F840133138F36FACBAEED4B069BFE704 /* SignalMetadataKit.framework */; }; + 55B2646A3F79B587ABA1E4499E1E5D41 /* SMKServerCertificate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 232A497FD9E833285108A64004FB6B1C /* SMKServerCertificate.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 55B3A2E89F5E3DE0D9EBDB4AD28CDD08 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35098B4FADC45D3D99CC837FC0879A81 /* Blowfish+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 55B7B365377940CC367B091A53E0A58F /* YDBCKChangeQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = DF6A071C7A4DB1F9DB12F9DF37F99530 /* YDBCKChangeQueue.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 55C6DC5DF1B6F9FFF250A70810D4410F /* OWSUploadOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B99B7D85EA40691BA4D9B5FF79BD677 /* OWSUploadOperation.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 55EA52DAE7A4595F75BC35DE7AE18F2E /* WhisperMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = F128D88F6B3AD9E7D01FF245D6E62512 /* WhisperMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 56331A0B401EC14705116ABF946C6AB0 /* OWSAnalytics.h in Headers */ = {isa = PBXBuildFile; fileRef = FCB1DB1E4C7D0E27778AB488FD1C8F9D /* OWSAnalytics.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 56393371286B1E93B44CFDF7D48D1399 /* YapDatabaseAutoViewConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 95416E57C55F3F6E5DFD2696865385E2 /* YapDatabaseAutoViewConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 569B405F68EE15403BC7CC47C548CACD /* GCDWebServerDataRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 12886AC7C643F7A3BF900514A55A05AB /* GCDWebServerDataRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 572DD17485D28ACD9E7A7A7C0EC69570 /* OWSWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = BB9AB7D78FAD18DA0BA6CCAFE0A58E25 /* OWSWebSocket.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 57509AE006EBAD38CFE9CF9793BB14E5 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D75FC383B515B9D60DB00CFBF5052051 /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 575F990053E330B53395770D4ADB5E06 /* OWSOutgoingSyncMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 20F55BE40B936FA42EEF290FF7DAB0BB /* OWSOutgoingSyncMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 57A7460B16178D16A2E76D80CBC3735D /* fe_add.c in Sources */ = {isa = PBXBuildFile; fileRef = 72F0A6F307FA1E04E18B27B1631E432D /* fe_add.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 57AB2DB83148A3679D7441184C69D0B2 /* GIAG2.crt in Resources */ = {isa = PBXBuildFile; fileRef = B6E6649425DBCAB3914CE9AE0D10E392 /* GIAG2.crt */; }; + 587F858DAA1FAAB3D14FEF1BBA18C58A /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E0C7EC764F6989C068EC909C0FC9CEA /* UIImageView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5880339F1DCE8621968D3525D02AAAE8 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ADB9948253C70E0A939236F2A7C41BD /* ECB.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 589788A72D3BC93952BD8A2E51BD4974 /* AtomFeedEntryLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA813150DF47950EBEFF9EA93F28B583 /* AtomFeedEntryLink.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 58B9D6752671120D285C80B11DF0CD11 /* SignalRecipient.h in Headers */ = {isa = PBXBuildFile; fileRef = D1BD123F5275ACDF1FAC05E85EDB34A5 /* SignalRecipient.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 58C05060E55F5E059A89755AD15099F0 /* OWSDisappearingMessagesConfigurationTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E92563F598247E85BC293708DF249D8 /* OWSDisappearingMessagesConfigurationTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 58C59F64229F74DB355509AA2FB5AB4F /* YapDatabaseCryptoUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = D2DC99CD7A106AA884C9C0DF835B2FF5 /* YapDatabaseCryptoUtils.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 594EDA6E9E69BA3B3A57A41EC8906254 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = FAF038E8BBB4239F544C58412F6D1902 /* AFURLResponseSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 59763A32808BA735F07A2182A9D879B6 /* YapNull.h in Headers */ = {isa = PBXBuildFile; fileRef = 6250823D813E45810571E8DB632CBDB6 /* YapNull.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 59776D1EB4F1B67A2E4E019B665883EB /* GCDWebServerStreamedResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 06E097733E6252C51C7E79251B575880 /* GCDWebServerStreamedResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 59969F699A82E9094797585B6F5532EC /* TSInvalidIdentityKeySendingErrorMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 41918E62009DEDEAE79B32449C900261 /* TSInvalidIdentityKeySendingErrorMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 59CCCA50498FCA05ADFEC0551CCED5CD /* OWSDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 750BC512DF32509A6F01F1F1B7E90DF6 /* OWSDevice.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5A1B126D808D5B1229EB9EDECAAEE33E /* Google_Protobuf_Struct+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AE87A751B09FC38C445F5D52198D0C4 /* Google_Protobuf_Struct+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5A313C2FCC4902BF4F0A89F98A72DA66 /* JSONEncodingVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01716367F15CF8872510F336FAB26162 /* JSONEncodingVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5A400032715F93F4EEF5C334D2020BEE /* YapDatabaseFullTextSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = D336B734034978529A1EE0F3A6203E5D /* YapDatabaseFullTextSearch.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5A419F74B707ACB3D5192581087F7A1A /* TSPrefix.h in Headers */ = {isa = PBXBuildFile; fileRef = A641065EAE51CB1DCD784A99C9DC4D03 /* TSPrefix.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5A83569933B0490BA31776F072BE77CB /* AnyPromise+Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45585D219CC0E3F057849350C06357D /* AnyPromise+Conversion.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5AA273AEF6464F7697FDDAD79FBE6269 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CDD86EAC731556DB2C96619B5E07D46 /* UInt32+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5AB3920581888166B96701C872AA404D /* Message.swift in Sources */ = {isa = PBXBuildFile; fileRef = B096835B035F70E70AFFFF7BEC8820DE /* Message.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5AC2C5D3D1EEAB82C5457D5D27302BA3 /* OWSStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = FE20A38DD227795D39D9D3953D16957A /* OWSStorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5AC30D22C7DD031F729E58020B3A0020 /* YYImage-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5313A874DED8C6872D5844E057765B /* YYImage-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5AD2BCA9F7C5A785C381EBA85B7B01F3 /* YapDatabaseCrossProcessNotificationConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 6701FFDC4B9EF2B1D06EC1735DB4ABE0 /* YapDatabaseCrossProcessNotificationConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5B27B68DA8C6EEB1A9D731899C80011B /* ge.h in Headers */ = {isa = PBXBuildFile; fileRef = C273652FB3FB689CE6E4D7F315529992 /* ge.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5B83D8515EAE1548FA5B37558EDDF248 /* Randomness.m in Sources */ = {isa = PBXBuildFile; fileRef = 095C8E10ED96AE49FDE82553FC72B1A6 /* Randomness.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5BE01E18FD6DB2185D34B8115CC8FCD6 /* YapDatabaseManualView.h in Headers */ = {isa = PBXBuildFile; fileRef = F4623D39CFB847781B74062E3AC9780F /* YapDatabaseManualView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5BF9A5BDA417BCC08E2B8E25F95A69F4 /* mz_strm.h in Headers */ = {isa = PBXBuildFile; fileRef = F99FBA27F50FC3C1AD1AAED4EA3F2715 /* mz_strm.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5C08C05ADEC69FD84BDE0346CDC84EFC /* OWSFakeMessageSender.m in Sources */ = {isa = PBXBuildFile; fileRef = F66AEE7021D4FB5D974A19ED579825B4 /* OWSFakeMessageSender.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5C5C8F8E684B5BFF1757A1FCA8EB9DE5 /* Pods-Signal-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CD94E876F6BA26D1541ED65EAC4851C /* Pods-Signal-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5C632CECD4BDBAE88F9156162816E057 /* FIRVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = BB159A73B50AE396DC2250542ED75F20 /* FIRVersion.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 5C7502A163451E98DEDA3F837EDAF677 /* YapDatabaseManualViewTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = F74583E9D90FFE261E14CAE00952CC48 /* YapDatabaseManualViewTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5C9216ED6A994B70E7979E3972F011C0 /* TSMessageTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B8399F92B6E063A28D10B624B81E91A8 /* TSMessageTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5CAB41BEBD8B8F20EEB123DAC93F57CA /* SMKMiscTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4491CD6207FDB4A2881F9830DBFE6F73 /* SMKMiscTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5CC2229D17A1A56E2529A4C7651A98ED /* PreKeyWhisperMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DCEBB73D15EAD178A1341CCA5BA8B51 /* PreKeyWhisperMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5CCD4E4218C3D4730B96B67D158E5146 /* MediaStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 407E137CE1341A419C509DC26A57156A /* MediaStatus.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5CEA02F3A651CC78B66238B7F582DC29 /* CocoaLumberjack.h in Headers */ = {isa = PBXBuildFile; fileRef = 35785B80A62A04DD5F9BD1675F12B0EC /* CocoaLumberjack.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5CEC87F21BCFFFAD4BEC4F7272561863 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C46EDB2B9EC14CEA4BB50F9E9C64583 /* Process+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5D02A2EB5BC871F1E11A58605ACAAC29 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BCF5961BE62C0AE56B5E63C026AFBE5 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5D09FEE76C8174B5F8F81ADBE461D1D2 /* compare.c in Sources */ = {isa = PBXBuildFile; fileRef = 0BEF4D6774DDEE5760162147D3C1814A /* compare.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5D60362791FBCDE7C3DBEDDD70DA850A /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBEB02245D34AFFC172266F3CFE5F4D7 /* Debugging.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5D6172A00F6B0B5D628AEAFC5E3AEF85 /* ge_p2_dbl.h in Headers */ = {isa = PBXBuildFile; fileRef = 07E80EC3C780CEE0F2AA7998EC82C9DD /* ge_p2_dbl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5D988B895F47C478D1883518549D2B3C /* english.txt in Resources */ = {isa = PBXBuildFile; fileRef = AFFF3C68CA9762627C6FAFD0483EBA0C /* english.txt */; }; + 5E0763368F4982DF2FAD574D3428EB9F /* OWSDisappearingConfigurationUpdateInfoMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = C792A246FDBE3C1EBC608F725B61AC64 /* OWSDisappearingConfigurationUpdateInfoMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5E100413515D2C38EAB55DC5141013B5 /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E188E0BB4325972AD6DC59DA05CCC04E /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5E31339678DE7EBF7D8315E763BED61F /* YYSpriteSheetImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A9CC6B24BBD99A6BF6B24F332927961 /* YYSpriteSheetImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5E48F6398C1FB9D6E5F3B824693F00E3 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49735AA786C97666C9A9BAE0533B1D00 /* AnyPromise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5E61A75002417656C712D34E902DBCFC /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B198BA3EB652E2192942B5FAFE96B9 /* NoPadding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5E6EC54EB1CBCC06CCB590BB5E56C69F /* MediaText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 555A2E239B949DC594250DD3D0D1B204 /* MediaText.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5E9030EC46161EBEC4E0E70C4ADD101C /* YapDatabaseRTreeIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = F37A62E06A107433CD1790CEC48A931E /* YapDatabaseRTreeIndex.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5EDCFC727ED9AB78871ABE3530C9E4F1 /* RSSFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FE5854A0EE5B879075D8D82A11AB5C5 /* RSSFeed.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5EF1842E1320DCD355F29041B065801B /* SignalService.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBBDE92D28473A223156B3B17467C8F0 /* SignalService.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5F69E4F5ADDFA400FCDFA900382A5B64 /* DeviceNames.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7BA2733BCD2863349FB3809C1FB1532 /* DeviceNames.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5F74E59081F6E3610BF8FA90142EB7B1 /* OWSGroupsOutputStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C8F657A5D06E2A78738E67540F47E55 /* OWSGroupsOutputStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5F7EA7C3AD95F615DC9CC6CC429C9B67 /* YapDatabaseSearchResultsViewTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 69E31A87EEFC7EE41106D62D11D3DF2F /* YapDatabaseSearchResultsViewTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5F92DD8060C5AB77905495311BAB52C5 /* Fingerprint.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 906184879971DFD39E652574192963D8 /* Fingerprint.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5FEAF94A4F5880E1A1CF3AE819D360BA /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFF961CCC805140F0B5C37EBA85CC84A /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 601BFF71793D139AA30C6C83991D8E00 /* GCDWebServerFileRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E416321D32E0D2FDD949959E8C8C85C /* GCDWebServerFileRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 60242940A6AB30E4B697240E4F53CA2B /* SyndicationNamespace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66073362502E2CB7F3144CC4C5881F95 /* SyndicationNamespace.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6064648DFF072767ED8191C5EF9487EB /* CDSSigningCertificate.h in Headers */ = {isa = PBXBuildFile; fileRef = DBB1BB6456CEEBFCB47B5391D16FAA78 /* CDSSigningCertificate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 607E8853D7C74D9B7677BFBEC5842596 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 32846321BF06BC2A8EEF822794DC640F /* Curve25519Kit.framework */; }; + 60989A6B09E9007B40FDCCEADEB56AC3 /* YapDatabaseLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = F2BE6D6B18DBBDD05FEE5CF1F16B8B8D /* YapDatabaseLogging.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 60D814CBB25D41996B60B567804520F3 /* SSKBaseTestObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = C1828410A76771D1C39D1A808C305D79 /* SSKBaseTestObjC.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 60EF18C4D9B3FBA11E0F086FC5DE2F72 /* LokiMessageWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C8EF1C2E95361223D23E1BF4F1A252C /* LokiMessageWrapper.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 611995DC525BA06DC6303E0743AF2E98 /* OWSEndSessionMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = E17AC3035E1283DD7EE15C7638F5E952 /* OWSEndSessionMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6174F8D64EA0D69C372521CD3D01FAE7 /* LokiFileServerAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBE2D32DB7DFB39B8A07BDD18E33FF9 /* LokiFileServerAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 61A5F16BC1AA9512A1313ED8EE829BF9 /* YapDatabaseCloudCoreGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = 3195DB9F465EE2D8BCF2525A93069AFC /* YapDatabaseCloudCoreGraph.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 61B29A7970D34C923F3EE31D1290C11D /* TestAppContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D4D0650ADE75A48012593A7EBBE26AE /* TestAppContext.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 61C1E459F2712B690D798F3299452437 /* FIRComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E60D50A2DCA633E7FFBDA18E22A36F4 /* FIRComponent.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 61D2BE77ECBA7938433575BE940E7958 /* zeroize.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DB20FB299D07904025AF3DEE2C50776 /* zeroize.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 61DD20842DEA7CCA6FABE4ED2BE19F08 /* Google_Protobuf_Any+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E91C52D10BEF526E52DE1C078D2C7302 /* Google_Protobuf_Any+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 620A2740B7892240C21B52A77D0FAC30 /* LokiSessionResetImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1292D864F1397C601231AF7BCE8A369E /* LokiSessionResetImplementation.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 623D0922DA5070680A2D950806903D78 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 557EF19FAC9F1DF421B03B94E712FAC3 /* AEADChaCha20Poly1305.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 624B736BC0B0556843F573C7DA57A0BB /* YapDatabaseOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E539CD739CC63CAB69C42A56066169B /* YapDatabaseOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 627100F645C555D3D28F425465D2AE4B /* OWSAddToContactsOfferMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4222C6CEB92E1E1782BA33700BFCBF43 /* OWSAddToContactsOfferMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 627C12CD92F6F282DA1F204834392516 /* Google_Protobuf_FieldMask+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0361C1EF79016070D45D7E992C67767E /* Google_Protobuf_FieldMask+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 628B9E828C4669A679025DFFCB9E309E /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EBEA26214AF977D08E32D4677AF7EE46 /* AFNetworkReachabilityManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 62A783D55102BB78F523584363ADC475 /* Promise+Hashing.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0B8A06ABF59F0E5F648AFA4F55A6006 /* Promise+Hashing.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 62AAD60BAE110CC8822F5D8E9F8BB927 /* YapDatabaseFullTextSearchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BC4B9F21686CAD9A7AB18F043389E4C /* YapDatabaseFullTextSearchHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 62C7452005FE0FF4683BF94CC562589A /* OWSMessageReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = D46146CF83F610837DF34E5A8A20CB58 /* OWSMessageReceiver.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 62E24AB362A3AA93E823893978009455 /* OWSReadReceiptsForLinkedDevicesMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 0343C7581DEFD604D80FDA418484D0BD /* OWSReadReceiptsForLinkedDevicesMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6310372744D554AF6A341E02BAF1C8C6 /* MediaContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC90A91DA025BCFBF6DA321BE4BC093E /* MediaContent.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6343E9D66588DD88FE0E2C62E6A89802 /* SMKTestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9F8093345F960B32F9F6996387E4122 /* SMKTestUtils.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6363687D22FCE451EB580AB70ED2AE1D /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 32846321BF06BC2A8EEF822794DC640F /* Curve25519Kit.framework */; }; + 63B9256205310CEC1330EBBB8244854A /* CCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0111E35A25061E829A6415B39E470ED0 /* CCM.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 63F7C5706A943EDFEBA0E387B52CFC95 /* ByteParser.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9A5016CA0EA16D29403E4AB70BC82C /* ByteParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6434FA5C350CEE991B13126B26920D7A /* OWSPrimaryStorage+PreKeyStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C655229C056795BF35B66D2BA12B28 /* OWSPrimaryStorage+PreKeyStore.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6456F914A596114014C4DCA871F03FA6 /* FIRBundleUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 78B70DF5EFF77A3FA22E446B531CF4A7 /* FIRBundleUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 64A90662929B308CD723E997894018A8 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + 64BD0334CC5F41C081804284CD8D3AD6 /* LKSessionRestoreMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EEF2CBB9656C810458F5D9CBCAD87FD /* LKSessionRestoreMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 64C65DC624D0E6724E3892A951491081 /* SSZipArchive.h in Headers */ = {isa = PBXBuildFile; fileRef = FE58BDEF40CF839A5C7FEBD252FA5440 /* SSZipArchive.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 64CE4E27BFA59AC6F95997A156501184 /* AxolotlStore.h in Headers */ = {isa = PBXBuildFile; fileRef = F6522EDB9FC27E3D9020A71F3F9FA14E /* AxolotlStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 64F73D8C78EF15DBCFD03085F84314FF /* FakeContactsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3E59A793B646F47B14E750BF71CFA35 /* FakeContactsManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 650172D7EECE642E39CEEB00E1A4A8FF /* LokiHttpClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BEDA6DFCB00EFF31CDF76353AB49116 /* LokiHttpClient.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 650A2EA1981D1AE5B37E0923AA135942 /* YapDatabasePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 947134392B5F61A56CFA096EB618CB70 /* YapDatabasePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 65108BCBF4A53CB6FDB3C45B0A6867EE /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D217CAD56D7955EA1E2E5B39B97EC2F /* Box.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 653B79A5EDE4A0CF6E9A862712177B9B /* YapDirtyDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 88B209725E331D8220861D78D5A74B7E /* YapDirtyDictionary.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6554D693032785883A1BBE1CB5244B8B /* CipherMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = C984F10529B24C1EE06A0F769FBD77D8 /* CipherMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6563AB19375BEFCB6EE6F36C97BDFAB9 /* TextFormatDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = B72148D7D749E91133EA4F6A3F0EC82A /* TextFormatDecoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 65B068332F87B5F18236859831EBA312 /* GCDWebServerDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 226C23597E88B5DDAE6BA5C687B9E3CA /* GCDWebServerDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 65EE88DB2F513CD0D91B79D7268F4CD5 /* NSDictionary+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 68FA0496DF1D709C89731CC3459CCB19 /* NSDictionary+MTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 65F605650874A1FB3BE60134A46C8281 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E03DEB054A959815EA9F9C46DC4104B /* BatchedCollection.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 660E44B2451B93FEB6B4EE4E090C256B /* Google_Protobuf_ListValue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 033BFF9DA4689FD20C67610DAA4BBCE1 /* Google_Protobuf_ListValue+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 662A8E7DDFA48CF63FAC24335C5BACFC /* AES-CBC.m in Sources */ = {isa = PBXBuildFile; fileRef = 7750DBA0935969E4E24A960890274EE1 /* AES-CBC.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 663AEFC5588CEB8C5970050AC4FB39EC /* TSConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = BFD9DF03D8048C9063C5E3C11022373C /* TSConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 66436E507A371CE4A41811BB3616CC21 /* OWSSwiftUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3226A006C1B8F5744C4EA403BCDBB0F /* OWSSwiftUtils.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 665B3C5B1EE24BBDEDCF6DCC968D2F74 /* AtomFeedEntrySummary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EA2C072B9EB7440DA8C83387DC47D69 /* AtomFeedEntrySummary.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 666E64B63AD640FE3F0A777EEF000531 /* RotateSignedKeyOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7D0CC305297FDB945E43BF6A9C05FD9 /* RotateSignedKeyOperation.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6699595EEFEA3ECF6084BC6FD7956C08 /* NSDate+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C13EBBEC4197F7619DBC45242BD8DD7 /* NSDate+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 669E91F7C2AED86DFF8CC1EE4723BC37 /* RootKey.h in Headers */ = {isa = PBXBuildFile; fileRef = EC54F42C6C18D2738704C95B2E6ACCDA /* RootKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 66AD26CEC52CAC41BD36EBD1872A0F17 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86D3832CFAF4206AC3AECCE9B0167CCB /* Accelerate.framework */; }; + 66BB9A4E18E3A951775FD85C0F53B408 /* libPhoneNumber-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D64F337793A13291717BB2A2F638AA /* libPhoneNumber-iOS-dummy.m */; }; + 6729BEA1467FAEB36977BA8FFBE4827D /* YapDatabaseViewOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = FA2243153233A6BAAE81B9DEF8B2E68A /* YapDatabaseViewOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6730DEB7D65920CFFCBCB31386025EDE /* DDDispatchQueueLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6936B7DA7F663ABDC282F52786CD85CB /* DDDispatchQueueLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 67384C2BBAAB084663C16F2D86A73D0D /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B46248EEF69343ACF4AF870F249C29A9 /* Array+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6797FA759E35237542003A448069E829 /* DeviceNamesTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 804A3876312DC0778D941003DB568C19 /* DeviceNamesTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 67AA7CBD24EDAC44776538C3E7D3D0B2 /* YapMutationStack.m in Sources */ = {isa = PBXBuildFile; fileRef = 2ED93D815BE4A4D434549E91226EAAF6 /* YapMutationStack.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 67D5B814540B233018F29F0E1EBA23D0 /* LKUnlinkDeviceMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 43988DE082447B6D12221AB8E580883B /* LKUnlinkDeviceMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 681810A9F180B727E3067AA0CE801ACE /* OWSDisappearingMessagesJobTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C80E253C73B643C2715C5EACEE758DD6 /* OWSDisappearingMessagesJobTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6830897D64C4A4EC01E8A1CB8A6223DF /* YapDatabase+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9EEFFFF355AFBEF42883C77A72B62A3 /* YapDatabase+Promise.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 684CBDF2524E67E48E198FBF9A976C14 /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = F06885A9BAD502125B6883DEC13E24A7 /* UIView+AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 685A566D9213EC4B80DA78CEBC14AE52 /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADA81A9CEE78CB2CECD3985CE9B1BDE1 /* Data+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 68941769201CD81C869C4E88EA6BA3B3 /* YapDatabaseSearchResultsViewConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = D7BCF09BDC8D58419AA35C97D965F1D8 /* YapDatabaseSearchResultsViewConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68B08A75A979A0ABC74F2E19E79FA9AD /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E0DF8C75D077A83C5D6DA4909AF252E /* DDFileLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 68B407D7526E4E1D41BCA19B53F27B91 /* GCDWebServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = A53BBF570BFC7847A1E3D0928E2066A3 /* GCDWebServerConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68F5B19FD34FF4BCFA3B931C2B67EA87 /* TSOutgoingMessageTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 247F06D052DBC39C3C798957AEF64046 /* TSOutgoingMessageTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 690299E707E396AC3B1C8A16CE558B04 /* OWSSyncContactsMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = D1929BF5C3937C168F3A7CC9B482E8B1 /* OWSSyncContactsMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 69C28D382656FDEB7178F46803D24B7E /* SMKError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E389E3D15FE8DA3E2F25EC343C19BF /* SMKError.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 69C6F6F55427FD372255A3E6984296FC /* OWSDeviceProvisioningCodeService.h in Headers */ = {isa = PBXBuildFile; fileRef = D420B079F9BBEABCBF643CE5C7A7B957 /* OWSDeviceProvisioningCodeService.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6A14AA56607E39B05EE564CDC238F28A /* YapDatabaseViewMappings.m in Sources */ = {isa = PBXBuildFile; fileRef = 98A43BE790A3E00B9E373E58F98E1DC1 /* YapDatabaseViewMappings.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6A3E2F43A7768124AE48CA3C51A22FFF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 6A59CF21ECC8E4A2425A666539046B1A /* YapDatabaseFullTextSearchSnippetOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = B08205867C54B8A3370DD0295DAF2ED7 /* YapDatabaseFullTextSearchSnippetOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6A62CAF1A9E89B19CE7800C9FED6CD32 /* ECKeyPair+Loki.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5749DB5885627F3B17B690C93CB73642 /* ECKeyPair+Loki.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6A9577F8350A6ED62BB633E20A878DD0 /* RSSFeedSkipHour.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A9CFF54A6A16103137CDF9F0F08C9B2 /* RSSFeedSkipHour.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6AEFD67622710ED7DCE1E973ACB01E81 /* OWSDisappearingMessagesConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = FCAC93848D79BE5BCCA83873C959DD5C /* OWSDisappearingMessagesConfiguration.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6B03D423961E1E29D8EE0956442492CD /* YapDatabaseExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = D20AC90654D8CF8ECDBBDAE294E5A0B4 /* YapDatabaseExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6B1DFF77670565E8972EB161056115C3 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44C587F81E9A03B6B10670BC3CAFA072 /* BlockDecryptor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6B3B725C232555A679EB3A975FD110DD /* crypto_sign_edwards25519sha512batch.h in Headers */ = {isa = PBXBuildFile; fileRef = B08A33BBAD4F33F05DE2CC6C7CEF5B33 /* crypto_sign_edwards25519sha512batch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6B51628A7966D990BC9456801312B41F /* SAMKeychain.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3D1E907636483AE7C8CADB233B631731 /* SAMKeychain.bundle */; }; + 6B57FB1F17F49BF92E0A63D271CB0E24 /* empty.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = C46F0C11FDBA81761BD180C88D20EB4C /* empty.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6B96AF5E52D4842669CE26A706854E7B /* YapDatabaseFullTextSearch.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CE67C7B9D0FFF920780E481CBF0A406 /* YapDatabaseFullTextSearch.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6B99B62226F544944817F1C4A11D740F /* YapDatabase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BA0F08B7AB69E295E331EB795C8D28B /* YapDatabase.framework */; }; + 6C1F3322A09EFE821253135032B289FF /* OWSAnalyticsEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = 39723C03B57992A242119D53F3CFCD49 /* OWSAnalyticsEvents.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6C201016CC61555F12C59B3B9962F0D1 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E837B3EF36DB408C33F61ED53D9D55D4 /* Starscream.framework */; }; + 6C5A02A68919702585319DD993B08B77 /* SessionCipher.h in Headers */ = {isa = PBXBuildFile; fileRef = 71C563809C62060712A0CF89A9CC8964 /* SessionCipher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6C8283E5AC932D821591AD7F31A77F82 /* CustomJSONCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6A5D3D59860A49095AF2C1202E6A70 /* CustomJSONCodable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6C8391C1A40A90D8FDA09B59E77EF11C /* fe_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = 52C8AEC0F8ECBBF43F007A1DFA80EE0E /* fe_copy.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6CBECAD6F679A450AE611ED80CCAA1E6 /* JSONFeedHub.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BBA7CE807B3DE9C0FFD87B551A25B10 /* JSONFeedHub.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6CDCAE21DCE453B095EAC499A6C8942B /* DDLoggerNames.m in Sources */ = {isa = PBXBuildFile; fileRef = C6E937F35B878409DE498FDA476200D4 /* DDLoggerNames.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6D43B61C8E0B714195FECE033FCA0819 /* ParserError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E854981C7D32C92A6B0FCE685EC2601D /* ParserError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6D531FDAC5579F8FBE0345676A4452EF /* YapDatabaseRelationshipNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BA4E832611B70507407DC40A4449387 /* YapDatabaseRelationshipNode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6DADDC15C6750F0A2AD658F12CF81952 /* ContactDiscoveryService.m in Sources */ = {isa = PBXBuildFile; fileRef = 80AE40F3897B23C852BBDCC33D0400A0 /* ContactDiscoveryService.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6DB2AD7F9EB8371782E4C4992CA8A11D /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = F911C4433074EA9F553E20D3C2E8AFC7 /* when.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6E21BD66A0E674CC1F85DD27347DBFE4 /* RSSFeedItemSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2CD125F2E1D52BCD25D4E0DD0B5FFDB /* RSSFeedItemSource.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6E39F28AD361EAB024BB1C8584D588D7 /* EXTKeyPathCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EDEE6E4F0A11CB59646B8EAF2A7EA32 /* EXTKeyPathCoding.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 6E456CD19A596EF131347FCCC9E05F31 /* YapDatabaseConnection+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = A9B1147D50693D6EEE26F9864A9E939F /* YapDatabaseConnection+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6E5AB14E568D7F242996B89370428FC7 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98F3BF9EB61411D9B7C460CE43B72D8A /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6EAF1473FC6B87F9C75699956D9C04DD /* YapDatabaseActionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 931972E42247B773324D60AFC83C9940 /* YapDatabaseActionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6EB986C411D8372DD782C62137678DA3 /* OWSPrimaryStorage+keyFromIntLong.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AA92311DC0B8364533FC17CED34845B /* OWSPrimaryStorage+keyFromIntLong.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6EBC31AEBC2A7590FE0E3E5C946119DD /* AxolotlParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 16CE9AC42DA2359C434A0DF951F53C51 /* AxolotlParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6EC15F982FF1B4F48294A2876A611F5D /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB089DADB68A3A4E7C3262823A798622 /* SwiftProtobuf.framework */; }; + 6ED267455DB0EF4A8FE486AEDA39E22A /* YapDatabaseRTreeIndexOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D6ADD9C653298DF77F6194C42A9B214 /* YapDatabaseRTreeIndexOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6EE4E9C2F0BAABAB87E7EF2B8273CDE0 /* OWSMediaGalleryFinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AF46DFDF0E832BB66EEA540EFFC56AD /* OWSMediaGalleryFinder.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6EFF10C2C77B5F66DACE3011E70A9F89 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11D1254C1F6BC9A70801A1E0E7D36897 /* OFB.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6F04C13F4949A857DD6BF97752CA609B /* TSCall.h in Headers */ = {isa = PBXBuildFile; fileRef = 021F6334486036857F692E766E400B04 /* TSCall.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F0B9F9BE2D8614CF2235339823ED22F /* NSArray+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E0ABB6F6B6667230BDA49A625608C594 /* NSArray+MTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6F606B72ACABA09741546FE59909972D /* YapDatabaseSearchResultsViewOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1063729587BB82F06D92B313B659601B /* YapDatabaseSearchResultsViewOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F78CC52CE8A224C9AFD348EADD4CE6B /* YapMutationStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 49305023E523543EADE34267507AB086 /* YapMutationStack.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F96D1226CB11C2EB7FD2C8C5A19B0C5 /* OWSDisappearingMessagesFinder.m in Sources */ = {isa = PBXBuildFile; fileRef = E3F7E5A334EF2CA2420C17AA7053BFD7 /* OWSDisappearingMessagesFinder.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6FB0B22FD90B7F5F80D6D452DF6DF022 /* OWSMessageSender.m in Sources */ = {isa = PBXBuildFile; fileRef = 92AC2C29DFD853E7F5E1F54AE3572636 /* OWSMessageSender.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 70562113B692E7ED24E1C74E33C9B483 /* OWSPrimaryStorage+keyFromIntLong.m in Sources */ = {isa = PBXBuildFile; fileRef = B20DC6E2C71F1B1327D01DF1FF4AC0BA /* OWSPrimaryStorage+keyFromIntLong.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 705B768414120E9A5770938E252BA2B6 /* YDBCKRecordInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = D7D8C8B79F109630174A9C322F593CA8 /* YDBCKRecordInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 70A026CC4134732BB8646D51C60FB762 /* PromiseKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6C8373E810AC14FC0E7EDA6E9C7E5D4B /* PromiseKit.framework */; }; + 70A041544F645EE5AC7378F0D007051B /* LKSyncOpenGroupsMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = A274E54D6784D4B37774313239CF3911 /* LKSyncOpenGroupsMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 70C53D8A8BF9B14141453F1D35E49156 /* mz_strm_os_posix.c in Sources */ = {isa = PBXBuildFile; fileRef = 527B02793A1B34278586B4D07571A830 /* mz_strm_os_posix.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 710783087F5BBA10C0FD0A99A91A7E23 /* OWSDispatch.m in Sources */ = {isa = PBXBuildFile; fileRef = 8767699DEEA1ECA679A489EFB1C6FA47 /* OWSDispatch.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 711D666DA08CF1B93322A56BE1F23EB3 /* SignalRecipientTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E3E938FA08B09D3AFAFDFB7A8CAFEE8 /* SignalRecipientTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 711E7CD36BA5DFEC90B565E1415A9CE8 /* SPKMockProtocolStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 03162221A97204F4C620E0CD3E71004F /* SPKMockProtocolStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 71B9AA1017EC509A757CD10EE48CB146 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79F8A3B011810BE8F0376D62B96A7B41 /* MobileCoreServices.framework */; }; + 71C51CB77F9111438EC308092A4F680E /* DDMultiFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 69FEA08EA87DCA938826D3B8B4B7E2AB /* DDMultiFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 71D64801126458C429B2B478FEABEC3F /* YapDatabaseRelationshipEdge.h in Headers */ = {isa = PBXBuildFile; fileRef = DFCAAA79DA10F324765CE416A065D69F /* YapDatabaseRelationshipEdge.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 71DBACA49B858524E97C13D48E99A342 /* NSString+SSK.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C4446AC2960A864CEDFFDCC9773A2C0 /* NSString+SSK.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 71DF368F755D48BECF602A515B217C17 /* OWSVerificationStateSyncMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = E751AD36C4343AE53F1FB0BAB48FC255 /* OWSVerificationStateSyncMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 729E5D739546206AC41B4A2971AE5654 /* mz_os.h in Headers */ = {isa = PBXBuildFile; fileRef = 26F20124733FD1B6ABDA1F09CAE3AD9A /* mz_os.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 72F58299ED9B5A05F6F8A361F62A6113 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ED6C65193871BFE0EC331ED479BFF604 /* AFAutoPurgingImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 733C50A53C35D341BF770A4429BBC591 /* YYImage.m in Sources */ = {isa = PBXBuildFile; fileRef = CB464C8C8CAEB4F478DC2E710336D621 /* YYImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 734D1071DAB251DE8CDB667A7405DD61 /* YapDatabase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A5B737091E441E20888B31151C8AEC3F /* YapDatabase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 736A05A646285D5ABC59FFFC4CB6A816 /* Pods-SignalMessaging-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E3A56D8E6D13D86447FBC2AF5919CFCE /* Pods-SignalMessaging-dummy.m */; }; + 73779DD79EBDB7CA8D1FE6A6F3C40EF5 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6863DB7664C6D8A946A9E37D8C00B66 /* Security.framework */; }; + 738DC3272E7D6E4DB260C843DBFADE42 /* OWSAnalytics.m in Sources */ = {isa = PBXBuildFile; fileRef = 131DC9E7A7C66203D3F920D0FBE1D4A0 /* OWSAnalytics.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 73B3407D8F2ACD1207A104ECD44811A5 /* sign_modified.c in Sources */ = {isa = PBXBuildFile; fileRef = 84D03A60AB6DBCB1011E583211013BBD /* sign_modified.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 73F590688E3F8416F49A17E87A1BA649 /* NSArray+Functional.h in Headers */ = {isa = PBXBuildFile; fileRef = 871B2ADF0D820D59CD592EFCAB8582EE /* NSArray+Functional.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7405A580CA73667999162FA6031D80ED /* SMKUDAccessKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 610BC3CE3CF328EED904475AC65C69D2 /* SMKUDAccessKey.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7416B9A33651BB8AC368668F15A6E607 /* LKSyncOpenGroupsMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 294AA8F7A8B6CD723F5DF51D4DECF403 /* LKSyncOpenGroupsMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 742BE319049D2F77344E7DCBF8B6F535 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + 7454A1A54E5EF8D5BE5557464B86AA6F /* OWSMessageSend.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAD9A14ECA46198D89D8D9A8935A7FE0 /* OWSMessageSend.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7475712D1937FC420693EED00B435A6C /* TypingIndicators.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE8925D78BE9C4BFAF1141E721131B3A /* TypingIndicators.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 74C120494D21BBA102834C0CC8AC5C21 /* NSValueTransformer+MTLInversionAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F733753F2A4CBC4A99912A3EEB713F /* NSValueTransformer+MTLInversionAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 74E9006E22EA2A53DA78D4767E1B787E /* mz_zip_rw.c in Sources */ = {isa = PBXBuildFile; fileRef = 360DAEF81DEE8A0FF49D0E3E1787A2D2 /* mz_zip_rw.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 74F1E064E7EDCDA3F70EE7CC3ED8156E /* mz_compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 68F906E407D325AE1D505C9CFA747FC5 /* mz_compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 74F3CDD76F8D077C19921079355CDCF8 /* Data+Streaming.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAE4913CE949D6FFAB9C16693F747B83 /* Data+Streaming.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 74F9114B752F4E11283DC618A934070D /* NVActivityIndicatorAnimationBallScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 889BC598F7B514D4F3CCA6B6D69BA9A6 /* NVActivityIndicatorAnimationBallScale.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7500070FE6870617DAD2745A8F141779 /* YapDatabaseFilteredViewTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 891FACBC1DE91F4A0B2BDEDCEE7BC05F /* YapDatabaseFilteredViewTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7521F774ABCFA0B3BA3721EDEE927E3D /* YapDatabaseRTreeIndexSetup.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F9040EE9C56D08FB563869A7F5CC1D2 /* YapDatabaseRTreeIndexSetup.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 75316567AC12123BB3AD7F70628C1952 /* ContactsUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = B236ED821159D7EF83C32E1ED79990E0 /* ContactsUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7557FEB3C2C4E6C818959E7DC8D63ACA /* MediaSubTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C87346F261AD7073E23A3A83135C1AE7 /* MediaSubTitle.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 755A26A009147EBFA09DC50A6288BDA5 /* FunctionalUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 6119972388F16C9616C785D003B352BD /* FunctionalUtil.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 75947753ED78AC903A928261290E3D1D /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D132DC0ECF8C44B87F4D3A00C575B55B /* HKDFKit.framework */; }; + 75C23E2AD1F8503AF83725DB7623A53A /* fe_sq2.c in Sources */ = {isa = PBXBuildFile; fileRef = 63FE43AE93E422567953EB81E2D5360D /* fe_sq2.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7600823F218B4B95E055AF53B3D367A6 /* OWSFakeNetworkManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 86F21E4CE796940EE08DE23192AE2311 /* OWSFakeNetworkManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7677BD28E16A85115D2C8CBBEDA84108 /* TSAttachmentPointer.h in Headers */ = {isa = PBXBuildFile; fileRef = B4B11B597A8168030F1E53FCC81A7B00 /* TSAttachmentPointer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 769799F24C88AB20FA03C8568CD9AF43 /* YapDatabaseHooksConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = A1B8F50B14F105E2F56684C233DB30D4 /* YapDatabaseHooksConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 76B7CBEE0FA698FF146F0A8584E2A7E9 /* TSAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E3C6334E5EEB4C48CCA1795D430F426 /* TSAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 76B821A87849980AB87435CF80A83995 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6863DB7664C6D8A946A9E37D8C00B66 /* Security.framework */; }; + 76CC0559CF8DED5278C504ADB7F3A5D7 /* NVActivityIndicatorAnimationPacman.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2799D19990FEF24A6A17B89446367E11 /* NVActivityIndicatorAnimationPacman.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 76F105230CAEC24F9D71B56EE198B979 /* RSSPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = A75A22C969934BA745427914F76F22AC /* RSSPath.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 76F498E48E3A52EBE7CFBA54C235E2EC /* FIRApp.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C097477EFB52B474B17827F69A45788 /* FIRApp.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7703D98F8BB8A3EFB8ED13DAE6BDC360 /* YapDatabaseExtensionConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = D5C8E2E337891EE8DD0904152C3FF8CC /* YapDatabaseExtensionConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 77324BAC3189803E23B3845E24FC6BD0 /* ge_madd.h in Headers */ = {isa = PBXBuildFile; fileRef = 54FE53E490534D4E037E0D96E2A2F95B /* ge_madd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 774C05573CC988093E56AC3C2D084AD1 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DAF770772B108D66EB6822F6F7184AD /* AES+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7754FD003683C5075ED6587C344BA572 /* SMKUDAccessKeyTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1113D0452CEB22300A3F3AFB1F1C4564 /* SMKUDAccessKeyTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 775E00F08545D12DB4B886A93DA8F23D /* LKFriendRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A8757AE3626B4D9119E22D7A5CDB695 /* LKFriendRequestMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 77656EC138042AEF8AE5530666EA8DCE /* TSPreKeyManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F51EC573198A59C99ECDE62702FAC818 /* TSPreKeyManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 77B3C6530ED8F0BD8DAB494BD014FB43 /* YapDatabaseCloudKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 81D2A96070AF88680FECAA768E492C57 /* YapDatabaseCloudKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 784DDA4D2CF8948B086A6D47025D569E /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8602136F435CBB465EB185925D9814E1 /* UIView+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 78540C307DC9E661F6968F087B7C0A74 /* TSInteraction.m in Sources */ = {isa = PBXBuildFile; fileRef = 170A746BA33B6BF0336E0EE32875F4CD /* TSInteraction.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 788D0A623C375354AF218057DB0CA8F6 /* Enum.swift in Sources */ = {isa = PBXBuildFile; fileRef = D37B5936EC87AAC9306016CDE41BE0F6 /* Enum.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 789C5AC2072EB9A5A29E8DD4CDC7AF58 /* YapSet.m in Sources */ = {isa = PBXBuildFile; fileRef = E84D196E7CD43DA30666C10A44A46C15 /* YapSet.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 78AAC21825F63C475133511B1E7EC2C0 /* YapDatabaseConnectionConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 565F317E833FD3EA9D7474A2C048F447 /* YapDatabaseConnectionConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 78E4C51B3F47DC304CBFE300233E2B13 /* NVActivityIndicatorAnimationBallDoubleBounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = E19B6669F62FB0A536138275893CCEA9 /* NVActivityIndicatorAnimationBallDoubleBounce.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7909C987D1667F167A7D1872185551E6 /* YapDatabaseSecondaryIndexSetup.h in Headers */ = {isa = PBXBuildFile; fileRef = 703FEC85859EAD4B92FC616CC8FAFB3C /* YapDatabaseSecondaryIndexSetup.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 793E0E57176FB44726FE9B19BC56DE84 /* YapDatabaseHooksTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = AE7E3A4278B82EBB937B1BAC669B4BD9 /* YapDatabaseHooksTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7963A81D132872AE4F8C05A86F32AB3F /* Curve25519KitSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00B58932A24C90F671C2C2421C1B42C /* Curve25519KitSwiftTests.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 796D67B62B9538A4CA026FF4BD3FE019 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97703459B20649EF8DA03DF65056A801 /* Rabbit.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 79AA398D6DA6C68C3DF33416CDD19AF3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 79D82BCE4346C11A6679D295BFE5C623 /* OWSRecordTranscriptJob.m in Sources */ = {isa = PBXBuildFile; fileRef = A5C656098BF28ECD9F78DE16F4B16E4D /* OWSRecordTranscriptJob.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 79DA5356E52259B764AD559744AB0C80 /* YapDatabaseManualViewTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = B8A527B28A5BD8266ED5B1852A64EC56 /* YapDatabaseManualViewTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 79EDFE7789890020153D943E5BF8FDCC /* YDBCKMergeInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 98730961D595CE7605A5E80BD88E0F99 /* YDBCKMergeInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7A76FB9A308A4B7D77AB15AD92664D4A /* SSKEnvironment.m in Sources */ = {isa = PBXBuildFile; fileRef = D7EE1121D7447DC57437DBA390F1ABA6 /* SSKEnvironment.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7A99049ACE03DC6ECD253655EC20C7D8 /* SignalServiceProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC016BAAFFD031DD978ADB1E1111ED8C /* SignalServiceProfile.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7AE4ABD34A83BE2B16E4CA8396D032F9 /* NVActivityIndicatorAnimationAudioEqualizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CEA6F479C14F55D9E4C110A173A3CB9 /* NVActivityIndicatorAnimationAudioEqualizer.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7B292D2BCA4AD1C412D21BA6183C2483 /* MediaTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0049D6D08A021A29C2F67358B872BE26 /* MediaTag.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7B33C857F445E550472B269B7011757D /* YapSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 952CC1927947DF387B5B466EF45475C7 /* YapSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7B572D1CF88FF1240DA96430F93FCF52 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 7BB9379BB8C5A44341D4C1DBBF095E4D /* YapTouch.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DCE1C38C58E9CCC399FF12F412E0FBC /* YapTouch.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7BDCFBFF24204A9F00641C39 /* FallbackSessionCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BDCFBFA24204A9E00641C39 /* FallbackSessionCipher.swift */; }; + 7BDCFC0024204A9F00641C39 /* SessionResetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BDCFBFB24204A9E00641C39 /* SessionResetProtocol.swift */; }; + 7BDCFC0124204A9F00641C39 /* DiffieHellman.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BDCFBFC24204A9E00641C39 /* DiffieHellman.swift */; }; + 7BDCFC0224204A9F00641C39 /* SessionResetStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BDCFBFD24204A9E00641C39 /* SessionResetStatus.swift */; }; + 7BDCFC0324204A9F00641C39 /* LokiServiceCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BDCFBFE24204A9E00641C39 /* LokiServiceCipher.swift */; }; + 7BDD998BAC91F7EC4F43FF4847575E25 /* GCDWebServerStreamedResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B4867D0DE6499D0B30EC65EA80BE1C /* GCDWebServerStreamedResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7BE74B3AE1B8864105A2218E9ED948A3 /* TSMessageStorageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EAF332322AE1DA8A323E3770D19DFD3A /* TSMessageStorageTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7C07629F9FD7FCC9FD7254C96DEC464A /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E4EE0771D7B119CC3B4DAB5733BE6FD /* Array+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7C14F3C130F5116FF785EADD85E3F6FA /* ExtensionMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C15AF91D8DC6147DC8D2F0DF2BB1BB /* ExtensionMap.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7C4BD2F1F469525BEF2EA7E368340AC5 /* YapDatabaseViewTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = B2181050783C987C6E69D532FF44DBEF /* YapDatabaseViewTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C84262AE23F37B98BB22449AD2B26C2 /* SAMKeychain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 65B24234D523A687A2128490691B30ED /* SAMKeychain.framework */; }; + 7C9970F33E7A2D39760A002A13B17879 /* OWSContact+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 381B5AB04DE04E41DA83486E8BAFBEC2 /* OWSContact+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CA0074A27E888F3D5770FB1A74DBA0A /* YapDatabaseTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 66DD7A2DFE5CE63489997F7A68469E19 /* YapDatabaseTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CA5A253894F2B0B7ABACAFB64811BD7 /* Pods-LokiPushNotificationService-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FE8001C06EC37CBEB1A054D4182473E1 /* Pods-LokiPushNotificationService-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CA641ADB021BCBEC641E57BD6086880 /* textsecure.cer in Resources */ = {isa = PBXBuildFile; fileRef = 5B96FD873E8272B5500A1983391154DD /* textsecure.cer */; }; + 7CDB5EF2D0BC53AAA0C6BF67A28DA14D /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF11B3D9D938C8E2C6CE42CCD561FA63 /* SHA2.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7DA8B610BD886B8319626EC4578F45B7 /* AppReadiness.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EBFE227324EC1172BFC6701EEA87032 /* AppReadiness.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7DAE55A143DBBF1550A48A31A1876170 /* YapDatabaseRTreeIndexHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = F42CFA321E1B4FE42A2A52F846D74DF2 /* YapDatabaseRTreeIndexHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7DB072D63913684F6A603C4C668BF022 /* DataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 9670CC6BD5A38458F1AE75089A7F6845 /* DataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7DE93B53ECD72B4CDF095F9C35A02ADA /* LKDeviceLinkMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = B708A78A722BD5E64C6F2D3704278BE7 /* LKDeviceLinkMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7DF763E7FDF137791E4FF1774B8EECBC /* base2.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F3B2E8F58977F1B52C5F702465A445A /* base2.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7E3C194473F90E37D773B456D60B7DF6 /* Reachability.h in Headers */ = {isa = PBXBuildFile; fileRef = EC0F2ECD8CF70F23D1E97D54ACAD7D60 /* Reachability.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7E8636DEDD66A2D1A73BE9C6162FC16E /* GULLoggerLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = D2D02F2E32388AD29975F0CB62526E8C /* GULLoggerLevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7EB8A90057931AE23876608E593AB337 /* SCKExceptionWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BB5EA3EF2871CDE171E2FD0E94A1CA2 /* SCKExceptionWrapper.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7EE6CC222DC47782F656E4C89999E4D5 /* OWSFailedMessagesJob.h in Headers */ = {isa = PBXBuildFile; fileRef = 11750CFD750BFB389914244AF5DCA518 /* OWSFailedMessagesJob.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7F0401C3185A6263A4FA07839FC5D1F7 /* LokiPublicChatPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F737F817140A21963A2FD1DCFF7AAC4 /* LokiPublicChatPoller.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7F2CB20733E26B95BB75D7E7E3399EC2 /* fe_sq.c in Sources */ = {isa = PBXBuildFile; fileRef = 6C3375F08C9E69AED0EB7E8590FC2089 /* fe_sq.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7F6DEC80A945790AD7E58CF07A0C3C08 /* TSRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = C1790FAA277639A452B4CD57BDC3C0DD /* TSRequest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7F76833DD0FB741A91B974821FE97636 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC3D792BCA25D36DDABED989893BFA5F /* PBKDF2.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7FA192C5FEE07B4104E54B11F28D725A /* Mantle-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D690407BE016C39B67A7533126943E8B /* Mantle-dummy.m */; }; + 7FA5A093E8709EE536B4E056BC16249D /* YapDatabaseManualView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D6A45320692E0E89ECB81C4FB2EE171 /* YapDatabaseManualView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7FA9415D3A55611DC34BCFD18D733A70 /* BinaryEncodingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05E2AD738B93610B696260782179169C /* BinaryEncodingError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7FBF385DBC7B42C068C9A3DCECBE59AD /* SessionRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = DDCE1278AE56A54F909A9FF18A149202 /* SessionRecord.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7FDF0DCA2C5056E17A8437C6A0AB6E57 /* MTLModel+NSCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F19D0005332E3E1281EF7FC37A3409E /* MTLModel+NSCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7FEAF35459725331F31950BF0FA664FA /* FIRConfigurationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = D1F4A2290C3A3E8474CC3A0D0F39540F /* FIRConfigurationInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8006FF0BEE97623001DC83EF26A50B96 /* TSInfoMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = F644B32A21F0973F9F2088FD92E8A00C /* TSInfoMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 80200D7F6027C254C9435EF33F20E735 /* OWSDeviceProvisionerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7114B75F055C9829201172D76C74F555 /* OWSDeviceProvisionerTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 80302C1B7241C8C14575B761D6CA5218 /* GCDWebServerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C599DF7A025288CDF8FB0D88C261F20 /* GCDWebServerFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 804A2286562539DA8F06C89CEB78CB52 /* LokiRSSFeedProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86CA7A38E9C01E2870740CE3C877ECB2 /* LokiRSSFeedProxy.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 80659F158C578957AC5F217EF87BD54A /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FD47FF1566F9330AAA4FA0174114F60 /* NetworkManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8099B8BB825708957F441DC7565B3B88 /* YapDatabaseRelationshipTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = A6D361CA842FB811BDFDC83CF8F66098 /* YapDatabaseRelationshipTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 80A639E2652D81ADE4963D142B518FD4 /* CDSQuote.m in Sources */ = {isa = PBXBuildFile; fileRef = 3102FBE5539D60278E099124D74E1EA3 /* CDSQuote.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 80BD69E97230D4517F43E7DDAEC5ED8A /* YapDatabaseCloudCore.m in Sources */ = {isa = PBXBuildFile; fileRef = 620324AEC714D843ED7C98002B390A18 /* YapDatabaseCloudCore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 80D17808ACA3E0510FE476B62B3DE37B /* OWSVerificationStateChangeMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = D087FA072CE85078A18D30A456439DEE /* OWSVerificationStateChangeMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 80E244C42A85ABCCC1C7AE820A07B7CA /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9985E1366901B03A78F8F3BDE8E9B603 /* firstly.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 80EFCF8CD7653E58C733B1FD2CAD0F0A /* SessionState.m in Sources */ = {isa = PBXBuildFile; fileRef = 772594CDDB61289819FAFBBF674E43C7 /* SessionState.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8126CB9C3FF17FE6EBF8A288B1D45C06 /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB089DADB68A3A4E7C3262823A798622 /* SwiftProtobuf.framework */; }; + 812D1EC230AB0A9463BA854915DE0D7C /* NVActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DD24D57CF6DD9814DF3D64336E01553 /* NVActivityIndicatorView.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 812D279E1AEB369A245CBB2AF0199C31 /* SSKProtoEnvelope+Loki.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4948DC09F49368E6DF12B3FB2F370905 /* SSKProtoEnvelope+Loki.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 814438F7CE1A86517ED186C424745414 /* SSKJobRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = DF49CDD67C98BA5D7D30AD6409B6B4CB /* SSKJobRecord.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 814947E3BB6D30E0910A6EA7B3A3BBB8 /* GCDWebServerRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C5AD3DFE84B6C2B6B07A78714AF53441 /* GCDWebServerRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8185E4FADB82F23A68C65BEEE6237CFF /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = F556BF3540AFEF74E83896F56FB572D2 /* Operators.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 81F520C997863840CD947FDD3AD43227 /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CF76CAC0AAA2ADDBE6FBAF73A4B2C03 /* CryptoSwift-dummy.m */; }; + 81FA12A49B86372C727C6C6342E8DB2D /* OWSFingerprintTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 03771CA30B0C78B7BF3F56A6CDC07455 /* OWSFingerprintTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8200C424EE89F60DD92019AF40AC1A04 /* TSAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = 1122AC86E134A0AB174ED033D288DBF5 /* TSAttachment.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 820284FE4C04FA32127814C02084953F /* CLIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = DF625FBCC038A1C094DCE8A363CC23B6 /* CLIColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8216DA2D20F06F2C0685441D14966B4B /* PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 286A9D573E77C364DB4E4AD64A3D402C /* PureLayout-dummy.m */; }; + 823702C22D716A48FF8A3BBDDA081072 /* AxolotlKitSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4998D8C01703DD17ECE4AC767095771E /* AxolotlKitSwiftTests.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 825BD80D47332E9F265E80D0E426AF69 /* YapActionItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 3176E82FC687397A72FF544991700885 /* YapActionItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 82BC687FA9713F0D36CE559A7C730230 /* MediaStatistics.swift in Sources */ = {isa = PBXBuildFile; fileRef = D786375C7083F1D8963F7F2ADD424524 /* MediaStatistics.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 82E8CE1751AF10AF113F094C8075CB7E /* GULAppEnvironmentUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 78962F6D00247134D05884A55560C354 /* GULAppEnvironmentUtil.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 82FE3155034870447204917E9C9DCE98 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = FDACEA7EA3C4DDA359982CBF8FFF09B8 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 832B3C80A8A4234CF31A2A1C22D8DCAF /* IdentityKeyStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 216A35F644E9E3DB7E0A9C54C67A6212 /* IdentityKeyStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 833158B32DBA5FF44456B7A70BD7FE8C /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E18BF09110D3A842DAEDC8B1B77F38EE /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 833A8D57F8A49BA27A47557A624B33B2 /* TSContactThread.h in Headers */ = {isa = PBXBuildFile; fileRef = B3D3EBCB1C9FFE497C21D4DF99CAC346 /* TSContactThread.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 833B65812F59E61CF3567EC669D82ACB /* fe_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = 189EA662431A19470E23C76D2E2AE57A /* fe_neg.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 834307749F48E04574EFBFEFEBA1E933 /* Message+JSONArrayAdditions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 764F8C4349A9E92B52B2DD86B0FB42D0 /* Message+JSONArrayAdditions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 83A8ECE83C55219264BBB788F73F872D /* NVActivityIndicatorAnimationSemiCircleSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = F31E6578BC4DFDED46E3AE82B5A5D87B /* NVActivityIndicatorAnimationSemiCircleSpin.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 83BF66EE3D58346A0361F71D1978E8FF /* GeneralUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A288CCA5013D44C5C1C6F345D16FED8 /* GeneralUtilities.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 83C3077E7A026DB16F536ECC4755AC20 /* struct.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B08A26A1E372A5509A0A59C53F0FD31 /* struct.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 83FBABF264C2D10C3F2226C14DB1534E /* OWSBlockedPhoneNumbersMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F675B4526A4B0983D34CA2AFAC2E9DE /* OWSBlockedPhoneNumbersMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 840DB74BBB19CD1F4B7716C2568F2A1F /* OWSLogs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E677C84549A6C3A7529FE4306F8E27C /* OWSLogs.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8444B018232802C4481B6D4FDBF56ABE /* d.h in Headers */ = {isa = PBXBuildFile; fileRef = 023C05A7DFB380229B2984C7CCC77A0C /* d.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 845E77019730AC19DE58C92C038B032C /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 85319A8B0118B36E0BE8FAB4F1766405 /* AFURLRequestSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 847EA140D5EBFE033882B4AAF56BEBCE /* fe_frombytes.c in Sources */ = {isa = PBXBuildFile; fileRef = A276459C826DC2DE64A583C122E39390 /* fe_frombytes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 849D3E177C95D1C0FC04EF86A36BBDA5 /* FIRComponentContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D7E3AE82ED07B05F63D1009DABAA23 /* FIRComponentContainer.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 84D23E589E588B2C52B3480881727AF2 /* OWSDynamicOutgoingMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A3FEE9162D178ED64A45CBDF81DD4A3 /* OWSDynamicOutgoingMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 84DA01177532BD29D9446F3267C9259E /* Promise+Retrying.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7464A7D72DA0F1156CBEFD872556C956 /* Promise+Retrying.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 84E2BBBEBD7669EED4D496AFA87B7498 /* Reachability-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 25B78976E3034421E706E1B0BDD30B72 /* Reachability-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 850DF344B2C60A71484E5318B4FC90BD /* DoubleFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D707D19FDBD2F7B3AC25A6ADBFDFF77A /* DoubleFormatter.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8512C88B51E53411CE742F2D73F80610 /* Constants.h in Headers */ = {isa = PBXBuildFile; fileRef = DE52C111D3F081C20A9A61E33DB75DC6 /* Constants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 85D8884EB6E418E2FAE0C2EB34142686 /* NSString+SSK.m in Sources */ = {isa = PBXBuildFile; fileRef = 3922113C362CD636BE5C495D5DBE0B13 /* NSString+SSK.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 85FC5532B3E6C50E215B444E95E1744B /* YapDirtyDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = CB3137C4B3BC4CA4E69789E52DA87C4F /* YapDirtyDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 863506E6F2C7015A6432CCDBCFD10040 /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CAD50C6B6764E3D951C8DFCAEB10422 /* UIProgressView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8658712AB0A3C58483CEA8CA8D61725A /* NSArray+Functional.m in Sources */ = {isa = PBXBuildFile; fileRef = 12F870641132F3E651BE0551CA9C631C /* NSArray+Functional.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8661B92686FFDF4A779CA297731DC60A /* OWSReadTracking.h in Headers */ = {isa = PBXBuildFile; fileRef = 91229BA3419AD83EF55CD0DB0C6EF12F /* OWSReadTracking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 868C64204566F656898B1D468D98F57A /* OWSMessageUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = B4C079D71C50C4C82AB0F1188F8ED3A7 /* OWSMessageUtils.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 869AA91CFBBF0FC2511F9AA4052EDEEF /* YYImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BC1ECEA93BBDC44E0A2778CDA9B55B3 /* YYImage-dummy.m */; }; + 86C78DD0DC104061B5D96CAF58EE68BB /* PhoneNumberUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 242F944EEC4D29DC5856EB4728422E02 /* PhoneNumberUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 87082A0EDFB742D1DDB31FD405623D66 /* OWSFakeContactsUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = EEDFF7BC112BDFCEC7837070F38B84F6 /* OWSFakeContactsUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 87340A7D12BA9398A74B8EF0C2EFE4A6 /* TSOutgoingMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 63541D82FBB5059A748484F9A62D7899 /* TSOutgoingMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 874760B9473C6B8AD8ACE495D144AB5F /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E18F7809DBF8D23F2A3F2B33F83E64E /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 87576E93050C0A1C29B1501A52DCD6C6 /* wrappers.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 249F542EEA55010AD9F32F0FABC9C1DE /* wrappers.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 877205DD9A76C98DB9EFDB05D2901081 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3EF496ABADB39CC9024D184D31DDDBF /* Cryptor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8794D05AE995152CA4688967723F74F9 /* YapDatabaseActionManagerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 72B2DC13FBF90D6C19D72C133472BF28 /* YapDatabaseActionManagerConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 87A76EAFA82F00356BE8076426A53091 /* Notification+Loki.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779F4E9E9E82FF0BE0B187E7DAE2118C /* Notification+Loki.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 87C82F7229388691F0A5A0557003FA9B /* UIImage+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 22DCC1A5FDD7F455CB18E38C9E584C63 /* UIImage+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 88129703EAF042DFA737CD8B9908A0EA /* YapDatabaseCloudKitPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0832145DC779139C1BA203C1BCFDE312 /* YapDatabaseCloudKitPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 885A5593F56BBD051DC3E9CF1F75DF79 /* YapDatabaseRelationship.h in Headers */ = {isa = PBXBuildFile; fileRef = 38524CE5A5BBC8D78B6BFAD8F8E705B1 /* YapDatabaseRelationship.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 886DFB2F5617546DD344496B36282DB1 /* mz_strm_buf.c in Sources */ = {isa = PBXBuildFile; fileRef = AE88B87DF1548FA87C6363C1596C08EE /* mz_strm_buf.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 88A85CB212A7816F4862F5E9AEC20D92 /* Data+SMKTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ABB27C02B931C54002635D9CA701850 /* Data+SMKTests.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 88BC378843B3B5871B42F3841EF55824 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8FCF97186566FBEECDEEDF93390B479 /* Result.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 88BE20D5B28FF329FCB72391343EA861 /* DeviceLinkingUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44D252544153CABBD4322D79CFA5C06D /* DeviceLinkingUtilities.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8905F453660C24759EF217D37C71C81B /* OWSBatchMessageProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = D6466BCC59FD4BF6F93F21383F1071D7 /* OWSBatchMessageProcessor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8928CBF19E9726353246DBB63CAD0178 /* Chain.h in Headers */ = {isa = PBXBuildFile; fileRef = C7DC8C2100A288FC3A3C8BCE40DC60FD /* Chain.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 895A01A521E1146A24567F8A4B592F56 /* mz_strm_wzaes.h in Headers */ = {isa = PBXBuildFile; fileRef = 796C08EC3FED726DF8750AF7E774BA5F /* mz_strm_wzaes.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 897F131FDCE96DC6131D651E9B6CCCA6 /* YapDatabaseSearchResultsViewConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = EC77CB7F0E39E16597394DEC6FAFD12E /* YapDatabaseSearchResultsViewConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 89A6517AAED94EE6E08E489BB78047ED /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + 89AC643B115F7295D01F1E4B83AC027A /* OWSDeviceProvisioningService.m in Sources */ = {isa = PBXBuildFile; fileRef = 21497A7A21AD5E018470597BEAD0B7E1 /* OWSDeviceProvisioningService.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 89D48ACE3682CA49E5A9403CCAA1E353 /* SMK-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = F8AFB9E6F94E639D4E09084556FAFF4A /* SMK-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8A49BE50291C4DA5F9FEE4D0E2864016 /* TSContactThreadTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ACAA1B3B319B4AFCFDF6807B0D64C94 /* TSContactThreadTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8A944B425D74AC32C4B9ABB998378EDA /* FIRComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F753DD49D200E678CD1BABF26211F24 /* FIRComponent.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8AA1B493A951BEE5F7470A87F92E31E6 /* OWSLinkedDeviceReadReceipt.h in Headers */ = {isa = PBXBuildFile; fileRef = C406693BB6559BCC7C508910CD3B728F /* OWSLinkedDeviceReadReceipt.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8AA2CD9C68E23DFDCD425998CD6B3D98 /* ChainAndIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 48D7308337DCA363278BBDEB207B9661 /* ChainAndIndex.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8ABFAAD9E432913ACF51CB90F3BB73DD /* MediaDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 855963D9B9B178E7E378714E0D8B1E6C /* MediaDescription.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8AC76CC00919AA4C0B925CFBE06476EA /* GCDWebServerFileRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 01980764365898905D909B7A0248FD0E /* GCDWebServerFileRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8ACFECFC87F1A5537F4AE76DC0BA3EF9 /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D194D97B57B963E492AC540FAF10728D /* NSURLSession+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8AFC2F62E3BE7A1E1B87CBEA23BDC2E7 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B0D3B366175DDEEB857C7F3FEBD36BE /* CoreFoundation.framework */; }; + 8AFC7A630CAB2A426772D835A9392EE0 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FE16271656FE21753C367580FE6C9235 /* AFHTTPSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8B024706E0303262C03E70D9DB77D22A /* YapDatabaseLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = 7874EA59609BDDED56ED1CC41B2641FF /* YapDatabaseLogging.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8B224B6997BCB00CEF6A77BAB348B0FB /* MessagePaddingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 031C140A343DF1CD725DDA3A719A8FBB /* MessagePaddingTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8B2B8DCA1AD13CC2C6CFD2C24FB36D47 /* SSKProtoPrekeyBundleMessage+Loki.swift in Sources */ = {isa = PBXBuildFile; fileRef = 948D245B84534BBF02908091691D80DC /* SSKProtoPrekeyBundleMessage+Loki.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8B3A37B01E5B9494FC90F388733FB200 /* YapDatabaseFilteredViewTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EA0EFFBC378600C97D748C7FDD6371E /* YapDatabaseFilteredViewTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8B51B3C09DBCBA61C117E8ADD8BF8007 /* ge_p3_dbl.c in Sources */ = {isa = PBXBuildFile; fileRef = 06FBBAC402E4A29A6204225394CDED5E /* ge_p3_dbl.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8BABD80B21D80B735F3FEE23AB1AE473 /* AtomFeedGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE3F35E6B39DF54C6494E6757CE036AF /* AtomFeedGenerator.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8BADF4C96520504C6CAD19867386847E /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 511F1F7B76473BCC7DC94A531D48AA78 /* Rabbit+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8BC4CE4101F3EA90B6853813F9A58403 /* LokiFileServerProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EBEAFB54C877806394E385523A4EDC /* LokiFileServerProxy.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8BD467510BBBA9C4A607F4359E066FCD /* JSONEncodingOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4D975B2188A155EC0F9658AA3CC6EFC /* JSONEncodingOptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8C001A91EABA08F4E0FFF0564F610B44 /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 179868AEF116207BB1E0EE6DD3FF920A /* UIViewPropertyAnimator+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8C14861A6F44DFD76DAAFD37D34DD4A4 /* TSNetworkManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 23230A5D512AC2F7E6CFDD07B97CD3FB /* TSNetworkManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8C35F5DFB9D0A21D5EDA32C853D64CCD /* GCDWebServerDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = FDD451695A06145271311FB4CF996955 /* GCDWebServerDataResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8C4194AA95CD56580053B28CFB0436DA /* GroupParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A738B27162F7646E405A7666DCAE41AE /* GroupParser.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8C59D180C7AA8E2EDC425A295C4343A4 /* YapDatabaseAutoViewConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F979C376CA4C58351EB7B509BC484BB /* YapDatabaseAutoViewConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8CCF9AC5205CCCE9B167A18B51C777FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 8CD870505FE3F21A2EC2D1DAFFA9D5D9 /* OWSRequestFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 0694B6999E4359554F6977D6414BC00B /* OWSRequestFactory.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8CE3A36C05266BF9B7406D600496DFAF /* NSDate+YapDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = B75349465A082ACB2FE24F2ACBC0F76D /* NSDate+YapDatabase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8CE4C1C78550F950E9FA211B4D9602ED /* YapDatabaseOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = AF770CD9DB788430963B24F2D95301F4 /* YapDatabaseOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8CECC75C8A0186B2E5BB0A920821CA21 /* PhoneNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A0CE50ABD0F594C5D91DA6CD26BCDD3 /* PhoneNumber.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8D02FF71805AC7E9CFA73723E0BA61A0 /* YapDatabaseActionManagerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 19A946077E5368CDE5720644030626B1 /* YapDatabaseActionManagerConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8D4AA2510F82FC2EC9F25B17D4D752EB /* String+OWS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 365436A07B03905A7F78C595B94B0741 /* String+OWS.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8D4F723234333D855488079D9E807CD5 /* Curve25519Kit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8A924900971AC7A277200B23CF4A192 /* Curve25519Kit-dummy.m */; }; + 8D7245791E88272BB39E457E6B94EBD2 /* YapDatabaseViewMappingsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = ECB871E33721A9CD04B989614934B7E1 /* YapDatabaseViewMappingsPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8D9BDB9088A7369760DDC63B0746E1CB /* OWSBackgroundTask.h in Headers */ = {isa = PBXBuildFile; fileRef = AD947E111E79EF9C696F6610EC9269EF /* OWSBackgroundTask.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8DA07086C68F04D9A5D862E0F34A5E66 /* SAMKeychain.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BA66861FB79FDAB21E1FE05E9F32E3E /* SAMKeychain.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8E5B2A1ADD7989CAF96B8DBB5F19CB2D /* DDFileLogger+Buffering.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C7CA293774E8AD6D5DFCF29589E09B5 /* DDFileLogger+Buffering.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8E949FD907FFED68DE9EEE8650292CAF /* NVActivityIndicatorAnimationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36800AB718E03A93CF361EE118E04ED1 /* NVActivityIndicatorAnimationDelegate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8EAB5F05FFA80B1F656C58D5EA9C22E5 /* Pods-SignalMessaging-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 66068E384B534B7C92B1138A2BF4F9D7 /* Pods-SignalMessaging-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8EB2C54D7BB10D55B37264CA7D02FD09 /* ECKeyPair+ECKeyPairTesting.m in Sources */ = {isa = PBXBuildFile; fileRef = 352997CE865E67BE6B274C24049281A2 /* ECKeyPair+ECKeyPairTesting.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8EC4BB75A730606B2494AB5C34B596AC /* OWSDisappearingMessagesFinder.h in Headers */ = {isa = PBXBuildFile; fileRef = F1A9F1CB5BA5EB28EA0C0111D2B92C51 /* OWSDisappearingMessagesFinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8ED2801C19AD434B78FF94B186CDA591 /* DigiCertGlobalRootG2.crt in Resources */ = {isa = PBXBuildFile; fileRef = D44ED824FB31ADD217E61D2C70E3A60E /* DigiCertGlobalRootG2.crt */; }; + 8EDA2ABC6D04A31E34AB5F4678780316 /* OWSVerificationStateSyncMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C7CF9AD54CC4D30D2701241F947DFF4 /* OWSVerificationStateSyncMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8EDBB8EC234578A968F4155D326C4122 /* ge_p2_dbl.c in Sources */ = {isa = PBXBuildFile; fileRef = 9805D97C70F7D6F553D1EEEFCAAC97EC /* ge_p2_dbl.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8EE5D0AE936A3F8A3A49B00A47D4150E /* HKDFKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AB93A86B6942A1440213150C6CCED47 /* HKDFKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8F36D2113BD3BA9BACE22514EFC90080 /* Message+AnyAdditions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B63D137999DB65B06D31E35A470C04B /* Message+AnyAdditions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8F5C06A71428852B1A578872A6446EC5 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7A1483C85706A63C478909AAD5D1AC5 /* CFNetwork.framework */; }; + 8FB87B03A4F83540F18774BB42D59DBC /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EC8C25A4B32C71058CBE824D5945061 /* Resolver.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8FD852D26AD0FD769DF93F59C844A375 /* YapDatabaseRelationshipEdge.m in Sources */ = {isa = PBXBuildFile; fileRef = 042F694C80D229B03D35D112F98604D0 /* YapDatabaseRelationshipEdge.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8FE0524144FBE14403C27178DB6E5C83 /* YapDatabaseView.h in Headers */ = {isa = PBXBuildFile; fileRef = 54951302B6348CCC02E6DEFAD8296CBF /* YapDatabaseView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8FF92E52133A3D9472FF4C51DA5019A2 /* MediaCommunity.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABE44DE2616203B43B80D35889205E46 /* MediaCommunity.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 905075624D0326480703514E3F7A46E5 /* YapDatabaseAutoViewTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = E0E9AC1D11C48B35E9ED5D428F0E44CB /* YapDatabaseAutoViewTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9060246A2408C6D73A7941237D3176F1 /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 12CC863BB3EBE0C2127EC23D87691B9F /* AFNetworking.framework */; }; + 906228901802957FE7270CA26B51B45F /* MediaLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2928849EBD9FB50F2FE711E0299425A /* MediaLocation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 90917CE7F90E30BEDA5AA901F3E0DD86 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25AE8FD32A6D2D0EF34DA6A743CD9363 /* PKCS7.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9091E931CA82724900C6986D7567CA15 /* OWSIncomingMessageFinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 493176C056D3C15A7FF79A3698019A7E /* OWSIncomingMessageFinder.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9092AAF53BE0B268031ADFF66CCB2A0F /* YapDatabaseCloudKitTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = EA2397B146ECDD840ADC6297F07843D9 /* YapDatabaseCloudKitTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 90A368461CB28ED06688F21BAC694F7A /* BinaryDecodingOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA37CD3D0F68C7B67B46AEF07D13629A /* BinaryDecodingOptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 90AD9EA71C7E49C900EBEDFC1D142254 /* sc_reduce.c in Sources */ = {isa = PBXBuildFile; fileRef = BE99BC50EC31A5153FAE196AFF894F2E /* sc_reduce.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 90EDF5F6593706E520210DCA397BC470 /* OWSMessageDecrypter.h in Headers */ = {isa = PBXBuildFile; fileRef = D02D33950D4BB905023506E56F425268 /* OWSMessageDecrypter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 912357CD450E29416F8818578B4F7DC6 /* RootKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 81E89EC26192548CB4F0AE9E1101EF12 /* RootKey.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 913A2459AC4EBB4B69FE9B85F8934217 /* OWSIncompleteCallsJob.m in Sources */ = {isa = PBXBuildFile; fileRef = CCBB6BBCB02DEB9D49968BA1666B1887 /* OWSIncompleteCallsJob.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 915537579D8F24ADB2FDE0884C96B4A6 /* OWSContact.h in Headers */ = {isa = PBXBuildFile; fileRef = 93C942C3D8516F5DE97E47AA63DA0714 /* OWSContact.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 915CA688BF91A2219A7BE4A33E2FA0BA /* NSDictionary+MTLJSONKeyPath.m in Sources */ = {isa = PBXBuildFile; fileRef = D5E4F3B8B9D983D33A8ECB273CFA6B64 /* NSDictionary+MTLJSONKeyPath.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 91900EA3EB11AB1F8CC56469882326A4 /* FriendRequestExpirationJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = DED0FEDC27EBFE0445768750D54DBA41 /* FriendRequestExpirationJob.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 919405063BFD3A14A504D9009BF87C3B /* FIRAppAssociationRegistration.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D69E779398EC71A44176173B7F9B6E3 /* FIRAppAssociationRegistration.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 919AFFA76F5C566299A552973A2E4069 /* OWSContactsOutputStream.h in Headers */ = {isa = PBXBuildFile; fileRef = F742A8528CE3E21283FFA1CB8E076179 /* OWSContactsOutputStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 91C37C2F3A6B5040718E62D69D19D294 /* OWSRequestFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 9043C08A6BE400D5C05D7A518515E28D /* OWSRequestFactory.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 91D8E35637AA560EEDECC15C0C74D927 /* YapDatabaseViewRangeOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 44FED5E5B24771F16D89F05942D80D0D /* YapDatabaseViewRangeOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 921BDFF4E4FE86B9182A73E891564F29 /* TSInvalidIdentityKeyReceivingErrorMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9620E716ABF6321E0312E3EAFC2F3C40 /* TSInvalidIdentityKeyReceivingErrorMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9249EEF96143995ABAA0B53D3D83CE51 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F68FDCAC245D9FAC1F6EF2F88A0F74C /* AFNetworkActivityIndicatorManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 929E3F016024BA0AF3F74A863B28EF9E /* YYSpriteSheetImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 72BCECCB112DB0A26FA3E1434F85F233 /* YYSpriteSheetImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 92C3BA568914D571EC9001E7F4EC59E7 /* WhisperMessageSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 0073874ECA9291773745B9750CA83C0F /* WhisperMessageSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 92C5C166A72C497C01EF2EE5D7368655 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388F5C7FAF550336EE733CDA695DC590 /* CMAC.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 92E1407165436C12654B9739782A2DE5 /* YapManyToManyCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 14E77180E63B408A05EFE3DE92FD37B3 /* YapManyToManyCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 931D01BE698869AD15FE3A277A293567 /* TSContactThread.m in Sources */ = {isa = PBXBuildFile; fileRef = 223C155B1760CD69D27970C750611DEA /* TSContactThread.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 933E18ED1E985C11E9B78326493F098A /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 04163EF2E9112749ADB144482ED1C32E /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 934F8EF8797396A92EEF631BFD5D7C1F /* YapDatabaseTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = F22BEAB9BD66FF2FEB3C5C2E67E4E447 /* YapDatabaseTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 938392BAFC2CD157B78982A4B270F0C2 /* fe.h in Headers */ = {isa = PBXBuildFile; fileRef = 482539833DDE1B38065A41BB57B774C2 /* fe.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 939D6513483D43976EDD9CC6EA9C4E3A /* OWSDataParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = BABDB440796260F0C0E9AFC67E125175 /* OWSDataParser.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 93A7CA4716E28CFEB1FF6204420DDFE6 /* YapDatabaseViewState.m in Sources */ = {isa = PBXBuildFile; fileRef = 66DCE03232E1FF01C4437E63062B2B9A /* YapDatabaseViewState.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 93DE00D1C22CB29BFB457C4E30B9E3E5 /* OWSSyncGroupsRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A1AF3CB6EC742A49627432AA3F1079E /* OWSSyncGroupsRequestMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 93EBF31167071A8E1D99E9C5D459C965 /* JSONDecodingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9FDAB5D304DAB64232A74CEEBC27CA4 /* JSONDecodingError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 93F02CBE6294E259CBC97F79C9B1C767 /* YapDatabaseCrossProcessNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 4165E22825CBA78FBA879733CCC9CB56 /* YapDatabaseCrossProcessNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 94366DAC7F2D4FF38DE39014B2B59E72 /* RFC3339DateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474954B2CABE7BFEBD23EF43922426DF /* RFC3339DateFormatter.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9495EB6C2FD8A0DFAC672AA6DE9A9658 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 32846321BF06BC2A8EEF822794DC640F /* Curve25519Kit.framework */; }; + 94AD3C13A2F624C5D747A053E22B8BFE /* Ed25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B193DBB15E165E096D258900DD79405 /* Ed25519.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 954EA0717E626A9F0C03E57151A5D299 /* NSNotificationCenter+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = 913E83C03F55E4C8DA9AA47176BD5132 /* NSNotificationCenter+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9560FDA731D090E4866E484005820278 /* TSGroupThreadTest.m in Sources */ = {isa = PBXBuildFile; fileRef = D65CE8B851F97F4FBC9F1FC3F41302D8 /* TSGroupThreadTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9596EEDA38BBD899FFEB9447FF4F98E8 /* FIRLoggerLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A5E4BE2A48C816E66B7D185216E6CC4 /* FIRLoggerLevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9597AF4725817BDB89CCBC85DDC35846 /* FIRErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = D6CB228D0A13DA02C75D76DCE41E7955 /* FIRErrors.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 95E87AAE5F1B179A8E4C361B6DCDB8E0 /* sqlite3.c in Sources */ = {isa = PBXBuildFile; fileRef = 8ADF913D72839AECB99A60F0C321FA7B /* sqlite3.c */; settings = {COMPILER_FLAGS = "-DNDEBUG -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 -fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 95EA408DA2E4A5363A8CCEFA251AA277 /* YapDatabaseSearchResultsViewOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = FFA273381F1A5A012982A30EA6A93372 /* YapDatabaseSearchResultsViewOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 95F8928596D5590820BCC0FD88AABC9F /* NVActivityIndicatorAnimationBallClipRotatePulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEA14B88E74AE471FB820A0CF9CBF507 /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9609B02639E27E6EDD964001EF94342E /* OWSStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C59DCDEBE453EA38C546A0F5B4B4A55 /* OWSStorage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 963807747B1FF936C3AF33EB46339A3C /* MTLReflection.m in Sources */ = {isa = PBXBuildFile; fileRef = EF01FF30AC116FEC7CDD6770446CF361 /* MTLReflection.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 965628DF1070A5FCB39D0BB9C3E7A8E2 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B665D8E160D5D5EF79C0A01592DC7756 /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 96920D73AE24EF0DC63F51704CD5CCCF /* TSStorageIdentityKeyStoreTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 69A86ABA8924C01B2C61C4770DB432CA /* TSStorageIdentityKeyStoreTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 96B39CA0698D1D0E80EDFE82418A708A /* GCDWebServerErrorResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 322C59A5706F52DFEDB29272AC37867B /* GCDWebServerErrorResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 96C8928A98B682A9120FEC924103FF38 /* SSKSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A98528BAB1EC157E598A3A856D60E4DE /* SSKSwiftTests.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 97562F1E60AAA1A98A7B8CC7D42E0F6D /* OWSSignalService.h in Headers */ = {isa = PBXBuildFile; fileRef = A6213775ABBE523338C76ED1559AAC7D /* OWSSignalService.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 97588B13B780CD919B54BC975822D2E9 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + 978E2F630908A8527BCFF6FCAE7EC008 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CF8B4D94DF2883E3383739D883B6A1AD /* DDMultiFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 97D2B7CDEDBAADFA682A282407048EF5 /* mz_zip_rw.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D59BB36DFFB0D7C1D9FDD29B9A83DB3 /* mz_zip_rw.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9812252662CC07E88B96A23EA074C60A /* YapDatabaseCloudKitConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 20D7DB6445C1DFF10CECCA7F0F2325D7 /* YapDatabaseCloudKitConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9814ADC98EA987C2E8BF185DAFF837AF /* TSDerivedSecrets.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B9F3254A9F85937C31C15A0A19822D3 /* TSDerivedSecrets.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 984F235081F9A1C518C61217E7FB6E2F /* LRUCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2677D86CFCB10440BD24F431D02C841F /* LRUCache.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9855C5B02F1EA9C73DD5E3617623185C /* FIRAppAssociationRegistration.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A635A8BA44A05DFE9EC0295AA438A8E /* FIRAppAssociationRegistration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 986B70D8C31511D2AB2AD32A3C312091 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 3359DBFA198C667B65DFC82DF392F765 /* UIRefreshControl+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 98773EDB3913B7B687F2AC6957B10CD3 /* SSZipCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E8827384050EBFF1E7704919E3C56DB /* SSZipCommon.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9892708E41EC086CB55FE567AE370C1B /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91C5F50FAC049383195E8D9CE1B8872B /* CBC.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 989A5FA46F581760C01326E1A445179E /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7546937EB48D33BD1A88237D24B9923B /* Bit.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 989F68DF05214BC6FE90A37BC9FEAC21 /* YapRowidSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 9180424851BFC0CA72C6DBE5037CBE18 /* YapRowidSet.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 98C0AB0839F61A2369F30609104C4B44 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + 99076469E30D7424EA63326E94A486B5 /* AxolotlKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B6DA14385699320B1CE1F9D1295038D /* AxolotlKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 99222F471D11E5008A1C9746C8E796C5 /* YDBCKMergeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = D0831278D554467E6C00EBBC26B999AF /* YDBCKMergeInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 99245C957366C0C50653138EB31C1BAB /* OWSOutgoingSentMessageTranscript.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D378D4BEF7DBF547F2F795A15607108 /* OWSOutgoingSentMessageTranscript.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 99C563661BA583967C844F6F88BD95BB /* YapDatabaseConnection+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = C94A7BCF56C2FF6924E9A2A578D269FF /* YapDatabaseConnection+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 99CB203A3CF007A5532D68B2FCB06E57 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0539A4E9CDF55BD4AA05C2D59F1355A5 /* String+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 99E8408161C229C41283429CD754CD63 /* NVActivityIndicatorAnimationBallPulseRise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1584B657A9B276533D9ACFD02EE677BD /* NVActivityIndicatorAnimationBallPulseRise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9A25BD4B0BF9252C391F78F92EEAAA40 /* YapDatabaseCloudKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 37F55EB45CD5E04CA77BD54817FB6515 /* YapDatabaseCloudKit.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9A3EF906C78E5FD66FF12F3BC78CA3CE /* SignalIOS.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D1BEF9511641B6DFDEE23CAFDDFDC66 /* SignalIOS.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9AE285B728C9D21AD338C926C878C447 /* TSYapDatabaseObject.m in Sources */ = {isa = PBXBuildFile; fileRef = FDD4037F48D526A8FF019322027A0274 /* TSYapDatabaseObject.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9B32DFB7B44EDE5832F0BB259A7FC05F /* WebSocketProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 892900F281880C8AE7743E62AA60877B /* WebSocketProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9B4A141DC47373F18F2190397AEB1FCD /* YapProxyObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 73211039E65B0E573E3C78E3981AF39F /* YapProxyObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9B898540A1F326E3DDD16D51B88BD98A /* SAMKeychain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 65B24234D523A687A2128490691B30ED /* SAMKeychain.framework */; }; + 9B8DD988D541FA329F69C1C481C6C8A6 /* OWSReceiptsForSenderMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 449C1D612D169CC0C5C54A0B22508841 /* OWSReceiptsForSenderMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9BAFFAD36400FC4EAEADA1FF1B99D3F1 /* Mnemonic.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2534B381A760F3CB8C061A82C8B68A9 /* Mnemonic.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9BE13BA3678980329353BE3AA863F091 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C3267C50B05C137236CF2ED1481076D /* BlockCipher.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9BF73145B5FD44A926D84314A5F2A0C0 /* Message+BinaryAdditions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A1A174E15E83F7E54DF923F832717C /* Message+BinaryAdditions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9C0A74A62018D11FFDBA89DB59BC8677 /* TSErrorMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = AE079559BB057CF01273974278F581FE /* TSErrorMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9C4E75C2FC8A888FE2BD84B5E0A77E43 /* YapDatabaseViewPage.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BFFB1843A73191039C47E4C93D02D37 /* YapDatabaseViewPage.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 9C551B96FC8EBEDEA532582F5363456A /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D5257EA1E02DB7846D39ABC44EC6FDE /* NSURLSession+AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9C7831C607F5A604D20A4BFD5F662E0E /* ChainKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 11FFE05E66B8C87ABEC24E9AFDFFB15B /* ChainKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9C7EE04912C0955799B5A1523ABDA5E3 /* ProtobufMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9BB0433F8351A4AC9BCBCDE1F3F3356 /* ProtobufMap.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9C80D7FEBD4BD2EB0FE08ED3D9699A2B /* OWSReadReceiptManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 803E4395C90CA2A21691D52318E982DA /* OWSReadReceiptManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9CC78099537EE1B7C42E2D7FA188C1A8 /* OWSDynamicOutgoingMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 62D2C8EEEBAF2505F54CBEF023DFF189 /* OWSDynamicOutgoingMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9CCFCB49B834D25B01A84AC1F62E34B5 /* DDOSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3BC486FFABA76F890D6E9BEA391DDA /* DDOSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9CD7DC9A97DE287370B37380D85DA764 /* any.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2946E479A6EF5918D0F41367CBD81E5A /* any.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9D2114CCE367FED3DF7D19B5FB0673A6 /* YapDatabaseRelationshipOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = FCF89CA14FBB4F671FCD79C2FD480DC7 /* YapDatabaseRelationshipOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9D40598D85BF544C8D5981B1AA1D63FF /* OWSDisappearingMessageFinderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A9FF00E6ED25CEFCBF3EA9DD18145938 /* OWSDisappearingMessageFinderTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9D6A43817AF37261842820DCF61290EA /* FIRLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = F7DB7A62228713AE270257CB2FE27F52 /* FIRLogger.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 9D9E118B0DCCFABAB37621876CDCC5AF /* YapDatabaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1349391E566DD6F288E4353A58FCB800 /* YapDatabaseView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9DA7113A39380ADE11EAFAE677F2AD7F /* FIRLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7D47D24ADCDABBCBFF106D233246B3 /* FIRLibrary.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 9DE083DE828EA8B62B4B17CA333EEDD3 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + 9DE28248E62083A5D943D739D2105622 /* AFNetworking-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 56595385666843E33657A77CDACEE381 /* AFNetworking-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9DFC9B6AE547390FAA0EE0CB095B5411 /* YapDatabaseActionManagerTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = A01F34C43DF501F3290D6665F2A07F66 /* YapDatabaseActionManagerTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9E0B55283EE44DDE81B4801EC38BD50C /* SSZipArchive-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 32DEA237D4CAD4AF5228622B070FC76D /* SSZipArchive-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9E19B32FD5DFFB860BF33FC482059559 /* YapDatabaseSecondaryIndexHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 5140EA6FDE65CEAE3A1D53EF533EBC66 /* YapDatabaseSecondaryIndexHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9E3031EFE997855E3754F3382ECC4C08 /* SAMKeychain-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E45ADFD1C834E0ED16F7894C1D93653 /* SAMKeychain-dummy.m */; }; + 9E30D172627C1C14441121C1B754134A /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 178CF8657E78AB03FB248CE3E12F1255 /* AES.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9E8934FEB27C800931221645AAB004AF /* SAMKeychainQuery.h in Headers */ = {isa = PBXBuildFile; fileRef = 48031999256A8E6906DBC374C06F60F7 /* SAMKeychainQuery.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9E9CC372D7BC805F2DF9862D978E2B85 /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D132DC0ECF8C44B87F4D3A00C575B55B /* HKDFKit.framework */; }; + 9EA35BEEC2A5589D791638F16E458295 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F2B4421C52EE36C3F01FC370A9FFC07 /* Thenable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9EAD237B45A0A0EE2EE0A9FA3EB9F069 /* StreamDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6849EDDD7461316B2586B180EF78A17D /* StreamDecryptor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9EF330E7C51FAA6E5399F49310F311F8 /* AliceAxolotlParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 9532AF75D18328D01C20E868D5D0811D /* AliceAxolotlParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F0F977FCAC82102A0591CE13F8960C9 /* NVActivityIndicatorAnimationLineScalePulseOut.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69B93E89881AC9D2381E5257CD95191A /* NVActivityIndicatorAnimationLineScalePulseOut.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9F3C246C8C2E3DB581569596FDB6B216 /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D132DC0ECF8C44B87F4D3A00C575B55B /* HKDFKit.framework */; }; + 9F447E6C142ED218AAEA6514687139A8 /* sqlite3.h in Headers */ = {isa = PBXBuildFile; fileRef = E42551366B5564DC7446AAA522953A58 /* sqlite3.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F5AA4547FE8E6F947258DC492F91D60 /* LokiAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1469F7DE72F2CE22524A4CE50A6486FD /* LokiAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9F7F630C7EFB1397DDAB62B0140CC186 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = 5ADF7A9A73B0C212742D5A90688934FD /* when.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9F864A938178B6521747FC1897AF57AF /* PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 734B0FC5F62E219C97435DEE09A1BBAE /* PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F8F96A1802465C339515699FE23DAC0 /* LokiFriendRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C7EF317332C1CBF0442113D31E76552 /* LokiFriendRequestMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9FA502065B6B28CC5ACA9D9209C699CF /* AppContext.m in Sources */ = {isa = PBXBuildFile; fileRef = E6C0E995E0451DED0A7F2853830584DF /* AppContext.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9FB7A3DAF91F4BEDA174F4C2A96DAEE7 /* DDLegacyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 970E6D34635C0D6D05466CB8DA34B905 /* DDLegacyMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9FEB387CE212250E3B6765241ECEEA95 /* YapDatabaseConnectionProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 841E818721F0C1F79B75FC01E1D0BCE6 /* YapDatabaseConnectionProxy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9FF312CAE249250269BA589150B1F9B4 /* SSKMessageSenderJobRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 0597EAA5C61D46E7DA6C54478555617B /* SSKMessageSenderJobRecord.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A022DA44357562B04CF2881953E071C0 /* OWSDisappearingMessagesConfigurationMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 515EDAB7D3F4E50388C13DFCD31C7318 /* OWSDisappearingMessagesConfigurationMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A0284582AE4C8F13992B98654BFD33F9 /* YapRowidSet.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5B823CA98EFBD8C30D712CF779F74054 /* YapRowidSet.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A03741354A29D5C003F454FD34E4242D /* SMKSenderCertificate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 475E6B047AB67A7E429C2C1C5AF00AD3 /* SMKSenderCertificate.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A03AE4F0BDD0D9E4FEE596AA2791932B /* YapDatabaseSecondaryIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = DA25C1D9520A6FBBD9C44EDD2A55264E /* YapDatabaseSecondaryIndex.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A05E6DF9639A2D3A213EFEAA498AD918 /* ge_p2_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 63427C1C30AC131BE21B3A2AAD7FEF21 /* ge_p2_0.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A061CE1B11B8EE089696C70A7D973153 /* TSInvalidIdentityKeyReceivingErrorMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = FB69F6CB5FDE31293BBEA3FAF152655F /* TSInvalidIdentityKeyReceivingErrorMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A08918838E445E6CFA17979CFF025819 /* JSONFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCF228D443F9038A08CC8D14388EB89B /* JSONFeed.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A0C364C685A1C46B29CF71DF9F473191 /* spanish.txt in Resources */ = {isa = PBXBuildFile; fileRef = A0DF1596CA2B97964A42F6F4A524E6A4 /* spanish.txt */; }; + A0D2377309D351C3F244204F3244714D /* Date + codingStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1223A8B4899E362FFC948BCB68FAC86 /* Date + codingStrategy.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A0FDFC701D1B9F78AA26ACD6F18AD660 /* NotificationsProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 2208BB513951C7884BA9B43744FB605C /* NotificationsProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A10C9DF5D567582EBAE99AEB9CBF41B2 /* MediaPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F5169D8EEC995A7CE72A61C57C994E8 /* MediaPrice.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A10D218B66641A7F31744CD11CB5D335 /* ProxiedContentDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89A56356FEE05D7ABF5CC3C689C74BE7 /* ProxiedContentDownloader.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A1CB7C2D69E48C41EA10E5C79D4F8668 /* NVActivityIndicatorAnimationCubeTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BABDCEC54BCD9B98BF6C384B0F2B769 /* NVActivityIndicatorAnimationCubeTransition.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A201FB2AA05304713E8E2187E853C239 /* FIRErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 7374641EAB238DCB3EF3726DD1058A8E /* FIRErrors.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A224B746C01217DBD57BEC4AE271FD43 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7682637D8C3070442552AB2CB2FE20B8 /* Padding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A233425FF079DF2E21F9D17B3DB8DD48 /* YapActionItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D4D3F5EF827183826B9899BEC0C1F09D /* YapActionItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A244B5F78A8EB8C7976AFA6C87E4513D /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = F382DD115A304C1F57995B7A86E1D73B /* UIViewController+AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A255AF4A4AA81EB4CB3FA585589C0591 /* LokiChannelInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8523EA038B75F96F1BA9DB88EA3AC0BE /* LokiChannelInfo.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A264170EF6CA536DBCA0440ECC938812 /* iTunesOwner.swift in Sources */ = {isa = PBXBuildFile; fileRef = E914D199A8499D475A36A668FA17142D /* iTunesOwner.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A27AB82CDFEB14D5CB4FFCD904E8C473 /* SSZipArchive.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AF28D7FB0AC00875093816C2E1E0D3A /* SSZipArchive.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A28DBFC8B4F4B1A5BB4205A410F341D8 /* FunctionalUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = E877941B3E32D1F0A027602ACB56A655 /* FunctionalUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A2AD33F1C03E86902448374A04DC5F5A /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 29A1D35CFC36ACD74526136A1A38A723 /* hang.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A2C2BFDA1FAEFC90B4126D95CD1DB601 /* AxolotlKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60B94E2EFBFC76BCC0A28B0F38453531 /* AxolotlKit.framework */; }; + A2EBD26E6FE4BA18F4B783E8DC9AF732 /* FullTextSearchFinder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2D289131471BA4BF77355866AFB8376 /* FullTextSearchFinder.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A2F33D254F74A295DA9BB72A2CFE2ECA /* Google_Protobuf_Any+Registry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62EBDE06A8461FED635718811905FDBE /* Google_Protobuf_Any+Registry.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A3221AF87BF3AE433D83EFC3B2A0078A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + A32B10E500BA6F52178781590FE8BE31 /* YYImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = B4E3E6296BA56A800BA9EA4F2F56B039 /* YYImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A3368EA6DA0C8F8BDFC7005613787365 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 839AEEDE8A41FB387D452B3E987F11F2 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A343334A11024AA0D10827D7C00B8F9A /* Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89B14A1CDD4C1EC8C256B767686B774 /* Internal.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A3A1764F1626A387F859ABC76491D463 /* NVActivityIndicatorView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DE5F81B69D105BE21635B3A27CE8348B /* NVActivityIndicatorView-dummy.m */; }; + A3DC1D37B5A885B97D477579B3D1A9EB /* mz_crypt.h in Headers */ = {isa = PBXBuildFile; fileRef = BFDECBE4B37085DF2E2428127BDDB253 /* mz_crypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A3FB2A9021A055EE7679DFAF243FEFC0 /* MTLJSONAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = DDEDA285B30963897F47E11D0DD33F79 /* MTLJSONAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A4092BE563EE73AA55FA162497171108 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBA039CF47ECB02EB31CA9003F9D69F8 /* Authenticator.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A41ABFFF59302C700A7F361608DD36EF /* YapDatabaseRTreeIndexTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = E558BA4EBB561979B2A8719113CCD947 /* YapDatabaseRTreeIndexTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A4262AF7D6566403706A595328EC727B /* OWSOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = B8A544D48AD636438F860717A584D5E6 /* OWSOperation.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A427CA3BF09548A212B5AA0FC1252026 /* YapDatabaseManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FE564F37D020FF2DC30AE675663F7CB /* YapDatabaseManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A42849B16F4E354ACDD61AB3AEFF0F01 /* ECPublicKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11320AB7EC5B0EC5A4E49F8CB4E86E86 /* ECPublicKey.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A42F38C2EE0DA996E7B8EEF2310F57FB /* YapMurmurHash.h in Headers */ = {isa = PBXBuildFile; fileRef = B4429DCA263A489F1BC46808EBD1D38A /* YapMurmurHash.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A462490411492DCAFD304E775AC5506E /* TSThread.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E851CBE2DC741B080A654D96FF6CFEC /* TSThread.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A481D21A479E1124CEB61DE06720DE20 /* MTLTransformerErrorHandling.h in Headers */ = {isa = PBXBuildFile; fileRef = A6000A25829DAB1FB3D391C2770CF019 /* MTLTransformerErrorHandling.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A487904717B9C500FC0EB1C51C385653 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + A48C839AEC939CA05914954974A10504 /* OWSLinkPreviewTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36C835397379699F8A4CD643AA47AA52 /* OWSLinkPreviewTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A48F679AE5FF079FBD34C7E817E7B7D3 /* TSGroupThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B6B911CA1251438A0E6F079B2DDDF47 /* TSGroupThread.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A4905DF8FF90BB01508E4A8A38492989 /* ContentProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = A83D3402FE63F389406F813A83DD1D11 /* ContentProxy.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A4A866362F04D30D48E382DB021F3933 /* crypto_int32.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A70C7DE5855662747F0E81CEEEC959C /* crypto_int32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A4B2A97C7EDB6B824CE4AF33439B4688 /* YapDatabaseSearchQueuePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 850C2F42271C9DB876932F25172E88C8 /* YapDatabaseSearchQueuePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A4C17D325983120856C22BC997ADEEC3 /* OWSMessageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EED2F340B286A537AD481D5B886CA53 /* OWSMessageManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A52856B5E3BBFE292A239C1F9395AEEC /* YapDatabaseViewChangePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = A0D71B398978E1469A95E3580FD63504 /* YapDatabaseViewChangePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A54733D22E4F016978FACEDF496FBC8F /* OWSLinkedDeviceReadReceipt.m in Sources */ = {isa = PBXBuildFile; fileRef = 5839A423865B924FA6CA5409BA9D222F /* OWSLinkedDeviceReadReceipt.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A55DD7AC9A37604F6E14B3DE3260618C /* sc.h in Headers */ = {isa = PBXBuildFile; fileRef = CAD6FC846B1E23F9C41DA0D8F99E1935 /* sc.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A562E067A4B51C20D048BD1A51F24D63 /* YDBCKChangeRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = C7B17AFB318EEBE013B3161DF148C073 /* YDBCKChangeRecord.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A56602BA47A098A9F6780DFEC4AC7E51 /* GCDWebServerMultiPartFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F7D954331B42841D6803560889CF471 /* GCDWebServerMultiPartFormRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A56824CCCA0D8C55366FDF01DE527E99 /* CBCMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60FF6A33E806622BCA53777E6C284DFC /* CBCMAC.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A5B2C2C97AEBF8B39EE1C9F38DA9D5BD /* LKAddressMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 6092FD5F73B953E157EC2D048EC3C96A /* LKAddressMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A5B8BDC21F0CE97B523171291764E849 /* SignalServiceKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AD9D0E435E69652D66C37CEE050F8D5 /* SignalServiceKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A5E34A83EAA70EBF99F300E53D11FCEE /* YDBCKRecordTableInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = CF46AFC7959B175C0E1F836D72C58D95 /* YDBCKRecordTableInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A5F9F560ABA1BE1A667AC189891E22D7 /* SessionRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = C9BC6ED0B0CB87F33F6CA3CFF52DB801 /* SessionRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A645803A03399332DBE11666A4FA372D /* WhisperMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = A0A60E631921F29CB06A22FB5654AF85 /* WhisperMessage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A6D53FE9EBB5CC53CF46CE7B51F4E112 /* YapDatabaseCryptoUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E311C48D2D9752932258EEAAE7EBA79 /* YapDatabaseCryptoUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A75E831471560EA35CB01F11C93BD879 /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB089DADB68A3A4E7C3262823A798622 /* SwiftProtobuf.framework */; }; + A7CA66EFB1AC81E54ED93DA6D52864F0 /* NSError+MTLModelException.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E84F540AE3BAB4B11077FD9B755025B /* NSError+MTLModelException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A805E867277EDEB8FFED2C1810F048E9 /* YapDatabaseCloudKitOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = A1C9F281F7C66EEDB34181E360EE8BA4 /* YapDatabaseCloudKitOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A8161E1E1545B19D6EAC394A4BBBD3F4 /* YapDatabaseExtensionConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A2C3928546E4D81EA9831D0A261A256 /* YapDatabaseExtensionConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A841D54D00F615E5679C0FA8F57CC006 /* FIRBundleUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = F5F71894E688975E4833B55FB4F5AB74 /* FIRBundleUtil.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A849124C15BBACCA34C0D90FEC917DC7 /* FIRVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 851547BD11A2A7285F59D17153217F70 /* FIRVersion.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A86B1583F1B2C48F2C2213D22EE001A6 /* TSDatabaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = D94C36CCB1FB119D9C8B404B5DEC932A /* TSDatabaseView.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A87968C5AB791C54F3CB00E4C4375B53 /* OWSFakeCallMessageHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = E61508F9100AF1A8C438C04BB965A853 /* OWSFakeCallMessageHandler.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A8C755D74E3996B23577146EBAE67D5C /* SSKPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66E639C3DFD9B30BAE9381F5CF5905AD /* SSKPreferences.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A8CE2C4248B320A4CC4AD403235BDD6D /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8479AA71B4F0990E2218270FD45E0096 /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A8E6F5F01A3474CAAEC0983E70B1EFCF /* SessionBuilderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C90EF36915F3F0CED8B8F8557FFAA69 /* SessionBuilderTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A8F6321D35D5EDDEFD30E25CC7D984FD /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01A6CA070A7C470ED5377D348C63F6A2 /* Version.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A91BF2F628AA1595092CF3FBC8EE4410 /* JSONFeedAuthor.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD2D931AE93ED75C6B3B8CE536FEC146 /* JSONFeedAuthor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A9271FAA12491B58A437B6F102CD38FE /* YapDatabaseActionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C2E0CAFA4F755C9C7FB173F682113313 /* YapDatabaseActionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A9535A4779FA94D030A58B0614A239FA /* HKDFKitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 283F732AD9513FAEC86FF43EB6C151C0 /* HKDFKitTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A97ACC6D5CA8A52DADD2812FC79F540A /* SendingChain.m in Sources */ = {isa = PBXBuildFile; fileRef = CD76B7520B6AEF41B86DDCC390B6E761 /* SendingChain.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A990A9ED0D03F27B88980EA356D6A2C6 /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C42E7261730FAEF43F887A129BF15A2 /* AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A9BA056A225F69809AFA8D9852D8C26B /* Message+JSONAdditions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9B3872571418A0096AACA3473D110EE /* Message+JSONAdditions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A9CBA9CD22D32006938B5C257A93C10A /* YapDatabaseViewTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 4626995490808FD063D6E4B935D4C9DE /* YapDatabaseViewTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A9D1FA32FEEC8212B73CB12EA3F83DF6 /* PhoneNumberUtilTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 3889D3E8C755D0D2E9FFBB4E3B00FC93 /* PhoneNumberUtilTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AA0565BF452CE8ACC240E95554034380 /* OWSOutgoingReceiptManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A9198F718E338FB8A3218F277F97C9AF /* OWSOutgoingReceiptManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AA153D51C7047052C863D16ADE0DCD3E /* TSPreKeyManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 902337E99018A2BA08EFFD8973216368 /* TSPreKeyManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AA23CC5E190662115D016658A9CAE595 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 211E40979351E7DB2B8D44443C3D61E8 /* SHA1.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AA2AAEC9BC023FDA750F8872F2672C31 /* NVActivityIndicatorAnimationBallGridPulse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 933CFDEE7EC7D4540D8D171AC02DA0A7 /* NVActivityIndicatorAnimationBallGridPulse.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AA41385FEEB700F56E66958DE9D2C4E3 /* Threading.m in Sources */ = {isa = PBXBuildFile; fileRef = AA18A9DD37830478AE558B8074BC258A /* Threading.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AA544AA8D7905189A1195358F62AC61F /* Provisioning.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A46B2DE68A97397DB7E8CCE21C4067 /* Provisioning.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AA7D8F203E1E9F565088A2BE8F2FC7AD /* NSArray+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B6F18AD07A6AE0A18DD23638D0F9C5D /* NSArray+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AAA4A8C6E984B7A063F00FD9F45453F5 /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 37B92A263F880F81AF07B1D4701F8FAD /* AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AAAAE87A0CB8EF26A5004B3C26C2103C /* NSArray+NBAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E61493E7E40B083643A67B584984E927 /* NSArray+NBAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AAF0BD536F765FCE5DE3085F62B673E0 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82DE1727B0D4C81BAABE46E5F789F087 /* AssetsLibrary.framework */; }; + AB07A543300587629643B4B306C1C969 /* TSSocketManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 813B2C1B2D39614630B373AD555EB9C0 /* TSSocketManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AB26017AAB7768BA53385D6556001486 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 917746BE578EC23BEBB96F8C2C3B1B1F /* RandomBytesSequence.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AB349141DCF767F3DF3448CA4083CA77 /* MediaCredit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5331B5F3A76929528A78F47304F63BE7 /* MediaCredit.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AB3EEB5ABF80D0D9DC5C4EB581E34EFA /* GCDWebServerURLEncodedFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B20A572F5727006FCA98221304FB304 /* GCDWebServerURLEncodedFormRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AB787062B9E892B6D8ADC3E6184A1DB4 /* OWSRequestBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = F381FF8833B58762D9CDE21F4C7A3B1A /* OWSRequestBuilder.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AB9458DDF7388C0FD6F99047B3384268 /* NVActivityIndicatorAnimationBallZigZag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BD0D08EA289883BE8BA3D1E2F2A9B2B /* NVActivityIndicatorAnimationBallZigZag.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ABB41B67E10593D8A98E4480E7F71FFD /* YapDatabaseViewConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 31EA6DDD899D36FD0110A5A3C9F33646 /* YapDatabaseViewConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ABDBDA7BCF403B356B42550D8ACBD2AA /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D4A5B4BE05F44448199B50D029E5A60F /* CoreTelephony.framework */; }; + ABFEB94FC5A7D272B955DCFC8E340735 /* YapDatabaseCrossProcessNotificationTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = F7B3FA92300D00F308E2F1B4662CAF8B /* YapDatabaseCrossProcessNotificationTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AC53E47DAEAC053C39F7ED7893C9CB60 /* OWSSyncGroupsMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = FD60F15B0E692D73888727489C8D0771 /* OWSSyncGroupsMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AC5A8B7AB0CF9FC0C85E2D9F581CC4D8 /* OWSPrimaryStorage+SessionStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FB7A10A44A9A5B7BD043BA91A28D5415 /* OWSPrimaryStorage+SessionStore.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AC6CA046C35DF09C2C94C9ABBF9340A7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + AC712E3AB6C0DE381EE10082F3D265AB /* AtomFeedEntrySource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FD73A8D99752B83054B11F5731B875D /* AtomFeedEntrySource.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ACA1DEE004D900E05C917C07E5AAC39A /* OWSSignalService.m in Sources */ = {isa = PBXBuildFile; fileRef = DAD84B9C79AB1D30CADF7CA378A51E96 /* OWSSignalService.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ACAF7022EB99F70169DB08F5B6097A9B /* YapProxyObjectPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = D2B1FEB458AC5D579A00D9ABCA98ABE3 /* YapProxyObjectPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + ACC8F8616D347AB6493D9A5DC7B50D34 /* ExtensibleMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040B4040447F2FFEE84D22045F366AEA /* ExtensibleMessage.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ACC908137E4BB03BEDC4D046F87CAE07 /* fe_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 38CE760FDC7F7C877A8B5D07F3251BD7 /* fe_tobytes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AD0FF18B7729509F77955DDDB5F74582 /* XMLFeedType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 699583DEE43B8F8DE9475B319D4F3E3B /* XMLFeedType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AD405AC11A68F6EDF1CE08354B2BC3D9 /* OWS2FAManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 73FD224CB3F48AB7A6B80C758A3C12C4 /* OWS2FAManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AD530A8A1E16F42B9FE8AD9E1A10EBB3 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BCA28A93E0D511657E73CE163C89049 /* ChaCha20+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AD7EA277D66D1E9BB6E549C5585921C6 /* MTLJSONAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 65089D73CD69204C5E87CC32962FC071 /* MTLJSONAdapter.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ADB9BC35A2625CB06ABD6C7D1EE73B5D /* NSRegularExpression+SSK.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAF318C7357456C959A869C0D173F68A /* NSRegularExpression+SSK.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ADEE10B4B6AF3540A9396A4FFAB4576E /* pow225521.h in Headers */ = {isa = PBXBuildFile; fileRef = 04CA85FDF0A2AA24A6CAD819518D86B0 /* pow225521.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ADEE5677F1A67405FB8042BF7003F5F8 /* YapDatabaseManualViewConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 60EA957185A67BA651BC0CF3D3C8BF58 /* YapDatabaseManualViewConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AE7E0AA6B0166B935FEE9BCFEBD46423 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647331C1A56F17B81152C5B970E44C6F /* CipherModeWorker.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AE7F46613AF9396C258F59A085BBA35B /* YapDatabaseViewOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BE479D170FECB47E87DC126290B016 /* YapDatabaseViewOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AECB509C735AAF93FB96006958CCFFAD /* OWSAsserts.m in Sources */ = {isa = PBXBuildFile; fileRef = 07ECAD56901C72280E34F2A07E6CE8A0 /* OWSAsserts.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AF12FF5701F14D502598BA84368FEA79 /* SessionState.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E3E2C1CB3EDE7BED63212487A73BC3A /* SessionState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AF98C3DD4FDF8B36A8DF55F74C403E40 /* mz_strm_os.h in Headers */ = {isa = PBXBuildFile; fileRef = 819B4D37DABD518C23C96906928E3AF7 /* mz_strm_os.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AFA96E64D7FE2CFDF3174D65445D771D /* metamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 627857228B1511A17E7AF0E2505E7C6C /* metamacros.h */; settings = {ATTRIBUTES = (Private, ); }; }; + AFFBB7254B57E27C54649394DB61F0D2 /* TextFormatEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D2A12A6EDD373F568AC5493F37CFDA3 /* TextFormatEncoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AFFC2AD1A83CF916CC45DF06B22C91CB /* OWSPrimaryStorage+Calling.h in Headers */ = {isa = PBXBuildFile; fileRef = D6F9AAF4F843157DEB1D2F580ECB41BA /* OWSPrimaryStorage+Calling.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AFFC58327D88DF32BC93BE892D91A5DD /* TSErrorMessage_privateConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = D2D227C80F943F297B9D753ADCC8FA88 /* TSErrorMessage_privateConstructor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B00F3989C94CA7442BEE907D5CD24BE3 /* LokiMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 158ED4C30B6E64505F5C50154ADDCD73 /* LokiMessage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B02FC9DE501961D24B804F871227F139 /* OWSAsserts.h in Headers */ = {isa = PBXBuildFile; fileRef = 35C36906CB01F12DCFC2781364F13F01 /* OWSAsserts.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B082194A2F744EF8D96FE248DB8362ED /* fe_pow22523.c in Sources */ = {isa = PBXBuildFile; fileRef = 454E0E4DA6C4F329728BB5AF038ED94E /* fe_pow22523.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B08361813E4752C1B789A333CDD94C37 /* FriendRequestExpirationMessageFinder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BC1B48D9A3F12E74D6474A491BD6426 /* FriendRequestExpirationMessageFinder.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B0883EA9277DB3E6817E9E994E6B7525 /* LKEphemeralMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 312A1B1B9476919664FB0B61CEEA8D96 /* LKEphemeralMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B0EECAC2EB8081821F3E107BC00C932E /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E128CC0FBA3C5BB81648E680AE95C84 /* after.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B0F941C369A78583694D0A99FFE6872C /* SignalCoreKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D6D50EC3E626DD017834A1312DFBB856 /* SignalCoreKit-dummy.m */; }; + B128AB72652BA4C8B4E6F93013B8AC4B /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 329E75346572A22B19D7C2DED3BD219F /* Cipher.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B13F246895AC42CCE555FEEC9157F517 /* Reachability.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C4B6A6268319A30F3EB2D687A5A1B10F /* Reachability.framework */; }; + B1497BCDD4709741A8F4D0219EAD5CCB /* NBAsYouTypeFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = A7449FA22C9E14580A559E78138976FD /* NBAsYouTypeFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B1BC1254C1E77B9BFBD85A10831F04CC /* SwiftProtobuf-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 99F0B8F9A32F69F79A8B39E1F5172D22 /* SwiftProtobuf-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B1EA6411BE0E1F280D1762E7CB5A4C5F /* OWSPrimaryStorage+Loki.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D89BD6A4BC9E3B7111C97B1D565EC51 /* OWSPrimaryStorage+Loki.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B20AAC4B30263CB8B09E309D97311CA8 /* OWSPrimaryStorage+SessionStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BFA2B8806A2C7966C15CE6555CA1EC1 /* OWSPrimaryStorage+SessionStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B231C0F1A35FCA1DC21DD3C34B97B508 /* YapReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 79DCF9E22808274C8BB5352DF4BC9A63 /* YapReachability.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B2803FBC553262F84CEB9D59CF84495D /* YapProxyObject.m in Sources */ = {isa = PBXBuildFile; fileRef = B8795ED992106A0C6C7B49985C1C78E3 /* YapProxyObject.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B2A5AD5A9A7391B5A21C9DFC69A66203 /* FIRAnalyticsConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 99362A4D58521B3961420E3FA40C0DDC /* FIRAnalyticsConfiguration.h */; settings = {ATTRIBUTES = (Private, ); }; }; + B2DF388D51E108F10D66757B35B8577E /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFEB6068CD6D606350B907CAF60625C6 /* Poly1305.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B3300BFDEE39E5D15D4D6E4A8F472073 /* OWSDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E57C846F7255DDF7DF20BDFDB446AD4 /* OWSDevice.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B370C55F68D6627B8C260E7FC49CE11D /* MTLModel.h in Headers */ = {isa = PBXBuildFile; fileRef = A8B1C6540076CF956EEB3030A06BD1C2 /* MTLModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B388C0B7D0B9D5A462492513C4B2140A /* timestamp.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4567D67C63DA694B17CB5E9E50D4F27 /* timestamp.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B38A9B9432ED11A5CA8BADC39627ED28 /* Google_Protobuf_Duration+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B83BCE8D69D31A9C7140EC04530D6C3F /* Google_Protobuf_Duration+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B3DCA46BBE07EEA5F3712D8E511835E2 /* OWSFakeCallMessageHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A51AA0D4730EE07D597A47A75F19324 /* OWSFakeCallMessageHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B3EBADE9C968BF4B8E59994C87E1D674 /* OWSOutgoingCallMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8163507CFFA435E61BBD02996B914E9E /* OWSOutgoingCallMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B40257A036F9AC8FD0778309621F2B0B /* ge_p3_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 4434C725B4B85FD628EFBE84F1CD29B6 /* ge_p3_0.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B408A174AB66EACC83F1E99818BA4ED4 /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = D384D79ADBE4C0BDD927186FD5BDEE1C /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B478949E6CBEB24D09174A22A165B7B7 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 73426CA08DF00604E049A31EAC7E6465 /* AFURLSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B481D1606B647B313EF1E65860304430 /* OWSFakeProfileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 55AC9447ADA7BB667F3FFCC91A39593F /* OWSFakeProfileManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B4BC1C6431FD5BB0BDE708DBE925C215 /* OWSFingerprint.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DA968F029BB54FFAE8D3BF08CACB774 /* OWSFingerprint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B4D1ACD5E6C444E6052CDA0F03F8B510 /* crypto_int64.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E7F9B73FE27EFA1BB2D903ECA055696 /* crypto_int64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B57A5CD5FE57DB946B48C1B01A923A16 /* YapDatabaseViewChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E38A0116C3AC1526FB4D15493709BC1 /* YapDatabaseViewChange.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B5B8F9FAB3035FD6328F03C66B8C86AA /* GSR2.crt in Resources */ = {isa = PBXBuildFile; fileRef = 63A7604CBAA4C4C258CB87EB2D9EC436 /* GSR2.crt */; }; + B5C02969A5056F325BB278DD800C236E /* OWSCountryMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = CA58CC64AE29643A5BE3E94D26F94A1F /* OWSCountryMetadata.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B5CEFC17DE762449155F556DBB4EF486 /* ge_madd.c in Sources */ = {isa = PBXBuildFile; fileRef = 6BF41BD1D1EAC0016FDF281E1437B2B6 /* ge_madd.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B5DD032693B521539648CAC3F3EE1AAB /* OWSProvisioningMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 168059500696C80523313452424E89CB /* OWSProvisioningMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B5F4DE1285992EF6720E51009DFE29AA /* NSTimer+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = B304CEF121DF49E7EC45DD223614FCA5 /* NSTimer+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B60A6318C7F01FE5060A8D2E3B7D734E /* Curve25519Kit.h in Headers */ = {isa = PBXBuildFile; fileRef = 06BD51A9B6885F81060328C68E5F318A /* Curve25519Kit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B61ED8411E15D34D40D1FFF4D545CE9E /* FIROptionsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 34A5BE86471801C671874C6259EC2464 /* FIROptionsInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + B6223F825D0EF9B357E7833EEFEAA6BB /* GCDWebServerFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 153EB3A44B2F2B793F0F0F3558BEA0A0 /* GCDWebServerFileResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B62355841334C899C6C0B8FEC8A0C200 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16C17DC61C4394C4BD527AB7837FD174 /* CompactMap.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B6237F08EA80EF29EBF45C8844E6B191 /* OWSPrimaryStorage+Loki.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AC3E9D0B01A174640BF4F666696722D /* OWSPrimaryStorage+Loki.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B63313175F3C4C24410FE1CAD410EB87 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EC7E74BB2E7277E12397B1EC778FCD6 /* ImageIO.framework */; }; + B662F1DE75F0E717E88134C67AA45C9F /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79F8A3B011810BE8F0376D62B96A7B41 /* MobileCoreServices.framework */; }; + B6BB8A4FE17243569FFBA9B03129EC72 /* iTunesCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = C869931B940B1E8F7C80963A4862ABB3 /* iTunesCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B6C4A1C01D7177D442E9BF0142EFF4FE /* AtomFeedEntryCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 411CBCE05356C7512AF97CF5167291B9 /* AtomFeedEntryCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B6EE2313898C7E46D5D6F5F7DBA9511E /* YapActionItemPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2383CF316B15E6B8EACAE911A4009579 /* YapActionItemPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + B702548742524F54ECE3856185230E26 /* Mantle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 105A09420FE1510704E250412F9B244B /* Mantle.framework */; }; + B710C7DFB8E8BA00496E41EDC90A0204 /* FieldTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = D728D1F866EC435408DF94C31D0FABCC /* FieldTag.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B719F8C5AAADABBD9229E69B0D442AB6 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DAB0969EF3230A62CB8899E785EA0B8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B721F2786D2220EC4ABBC77A1C4AB32B /* FeedDataType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92D0B6858E87DD42655B202F88A9F793 /* FeedDataType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B722DF2CF53CAF6D596C9215F79AC4C9 /* YDBCKRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = EFC2E9CB39F0D3C36100B58BD9920F69 /* YDBCKRecord.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B75976E50035CCB70348B42418A63DC4 /* SSKBaseTestObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = CFCD6488993B3C3B8F3B9C7564F604E1 /* SSKBaseTestObjC.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B78A982D78CE7D7CFF7184EE2C5CCA33 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFB31D0D1B1313FE686DE11AA452B561 /* UInt8+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B7BDC8C8D171789F89BF9E52C534FFB2 /* TSDatabaseView.h in Headers */ = {isa = PBXBuildFile; fileRef = A5BC40FAA76DF3A5A6062BC2393BDB68 /* TSDatabaseView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B80115BC98BF5B9DFA5E365F3C7ACB3B /* TSSocketManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 91249A30400D634EA50A32908454151B /* TSSocketManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B8014C7A0E378208CF14DB1F32F409B6 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + B85FCF6322C75D33AA38A837C4CEEBF4 /* TSInvalidIdentityKeyErrorMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 64EFDE2C09F4DC4A44793900F68C470F /* TSInvalidIdentityKeyErrorMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B8724E61A3AD30041105BE9B81ECA8EE /* NSDictionary+MTLMappingAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 980569568FD76AB9DC9B88BFAD3E0AB7 /* NSDictionary+MTLMappingAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B8A1DBCAB4BDC7658C82E8C4C5B2AF79 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F38F494EC0910D19C80D1019BEED18C /* UIActivityIndicatorView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B8DFC1852C9889CEDCA2B7680B60A8F6 /* YapDatabaseAutoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C8B32409E6F503A6D50761E948C5CB9 /* YapDatabaseAutoView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B93A18B77ACF0C9A6AE6786D26617F84 /* ias-root.cer in Resources */ = {isa = PBXBuildFile; fileRef = 483C452787369B6A3CD5FECF54703BE1 /* ias-root.cer */; }; + B95E896774A751404D050EC3FB338637 /* SSKProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF97C901A486D87130948778E759CBB3 /* SSKProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B97EFB48C33E63CEF1D0C566F6C6AD3F /* YapMemoryTable.m in Sources */ = {isa = PBXBuildFile; fileRef = 74AB8F96ABA7C5CE5FDEA83363F96A81 /* YapMemoryTable.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B99E1AEE656F7DA86D5CDDDA2280896F /* Mantle-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 88AC9C1F88151E807B537E873CFF5D87 /* Mantle-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B9AE5ED068F76319C63DCFBEBCC8E9F7 /* SignedPreKeyDeletionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 45FE3685F26ACF02812D0466ECE9ACE0 /* SignedPreKeyDeletionTests.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B9BBAD7E8EFE31B4A7B55E140BE90F61 /* YapDatabaseRTreeIndexConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 796AAC4B70830469F6321B5C4279DFAE /* YapDatabaseRTreeIndexConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B9F1C0E13893E97F3CF0F5D04F6CA05C /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33BB5F475CD2947B39B81646B2E0F48B /* Collection+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B9FB0A78828F42E947BF5B6F43405C5C /* YapDatabaseSecondaryIndexOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = B73D696F786A2E3BAAE9FFEBA697A985 /* YapDatabaseSecondaryIndexOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA065B20CF7880097BC926726690DDA3 /* sqrtm1.h in Headers */ = {isa = PBXBuildFile; fileRef = B8B419DB4C4CAD5B28CBA5FACA618F47 /* sqrtm1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BA4B053A8EFAEFB7C6C767CDE5C7F837 /* sign.c in Sources */ = {isa = PBXBuildFile; fileRef = 2C3CA895A94F4BD23EE38CB2B1EBC9F1 /* sign.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BA4DA6C0DC360DCC467CA91DF5E1D958 /* ContactSortingTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 174EA129FEC799BAC0B6ADFFFB29559B /* ContactSortingTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BA6FAD7FE716CE49C8F8E07AC85DB172 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + BA98594349CFA01E96CC8D7C9458B979 /* FeatureFlags.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C6E84AADE27B17424363D195E41B271 /* FeatureFlags.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BB7185FF03E57513A62CB18A503F7D9C /* MathUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86A1D90DB7D363CB54A6710BD62569E5 /* MathUtils.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BBB29A0384E00ADB86A3A79737EC2753 /* SignalAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = 1280F5F887F8945C269881FCD44AC97A /* SignalAccount.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BC04EBCB812D181688B8A765A0685DD6 /* LokiDotNetAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1866BE414F45B6B457664C21A6FB938C /* LokiDotNetAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BC5B69B3714272EE628A9A1EDE18AAB7 /* LKSessionRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = E356109B12FC9F0482CD263F7E687FE2 /* LKSessionRequestMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BC5FD0CCB0B3FD9DB004A6A67650EF7F /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4244BB9A166F6E5EAEC0A5F81D955B5E /* CFB.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BC7B52CB6222B348B59D968239A9DEF2 /* TSGroupModel.m in Sources */ = {isa = PBXBuildFile; fileRef = DF8CBFBF595FBA9DC508F93AD5856507 /* TSGroupModel.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BCA86C7826B72DD0343DF47CD336FE4A /* BobAxolotlParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = E78BF696F5651613E80C102DA5FAACE5 /* BobAxolotlParameters.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BCBFFE9B671FD664D40444C571313F46 /* AxolotlKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60B94E2EFBFC76BCC0A28B0F38453531 /* AxolotlKit.framework */; }; + BCCF628C00246566E31612C5A9BDC188 /* GTSR4.crt in Resources */ = {isa = PBXBuildFile; fileRef = 340902E0FB6E101430113192D23D7064 /* GTSR4.crt */; }; + BCD2197338108C4B69B5A8D7758EE4C1 /* TSAttachmentPointer.m in Sources */ = {isa = PBXBuildFile; fileRef = C8BBE92FDEBDD9376DB156DA00822B7F /* TSAttachmentPointer.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BD66A140211518EA0497D38965A6F9FF /* SignedPreKeyStore.h in Headers */ = {isa = PBXBuildFile; fileRef = CECFEF17D3016932C94A23ECE569310D /* SignedPreKeyStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BD9ACB4CE4EBF4111BA1172D485CD94F /* NoopNotificationsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFB006A439A7256EFEF2CDA21D5C0826 /* NoopNotificationsManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BDA00E9D17C691F434328990D131BD84 /* MTLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = B7864E07B92881A1ABD68285F8287B22 /* MTLModel.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BDE80B63365DE46AC30A9BD87F8CF110 /* OWSAddToProfileWhitelistOfferMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = C2C15C0953FEE789BD08B93DBCCEBB6A /* OWSAddToProfileWhitelistOfferMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BE2DD6E7139BC64B46B141C220264EBC /* URL + replacingScheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = A04B6EAFBBCFDD3D016388088D9BC7FC /* URL + replacingScheme.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BE822EAEB585BA9C4A15CD941A388F62 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + BEA92A600349F74C183700DA5C3C8259 /* BinaryDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A4DA574654B8A4420D4DA5DD19F17FA /* BinaryDecoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BECE03F8621A69C3061AB651CE0D2CCF /* YapDatabaseRTreeIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 003D4693F8E6A36640DAA40631E7DB97 /* YapDatabaseRTreeIndex.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BEE906FCA28B277A6F9EA54895022F91 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 970E6A4ABBE1079AD1DA80924A430F47 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BEF6C1B4B424CF8CA3E419F4A57FF73E /* Contact.m in Sources */ = {isa = PBXBuildFile; fileRef = E590D89CB3181FD4969F1F2DBCBC8FBB /* Contact.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BF07CFC7DA0266DDE358870811E8A917 /* ContactParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3AD37E42FBB615C00DE6CC756ED355F /* ContactParser.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BF85E61CF592B8671908145FCBD40C7E /* SessionBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = C295DCF50D17EC0F4E1FD3FD717A7250 /* SessionBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BF95C8D12EC5CE248A7562525A112ED4 /* WhisperTextProtocol.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388FB5ECCCDAFEE9EC3586EA344DBEC8 /* WhisperTextProtocol.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C01484CD0C9A52945D259D6F187BA263 /* d2.h in Headers */ = {isa = PBXBuildFile; fileRef = 27B3EE34ADE8BA4A7E716121B84E18EC /* d2.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C014F80026E78A7CC97BA6897B7EE6EF /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8CEA39D4E1B71A29F35CDE08E1A93C8 /* Guarantee.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C01EE2A9FC00EAB23D92B5807915115B /* sc_muladd.c in Sources */ = {isa = PBXBuildFile; fileRef = 204E91944611D2B2DD713057F0C130E2 /* sc_muladd.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C04BE50CBCF1F0D4D9D1816B531FFCE2 /* OWSCensorshipConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F9B898E8C69D24D7CF10B16ABC4AF58 /* OWSCensorshipConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C04F217FDEC4987910CF40F868263D3E /* RDFPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAF166029235C8FD41FE0981CB288016 /* RDFPath.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C093F7676C1C184DD9C48E11C11F9D8C /* YapDatabaseCloudCoreConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 747ACC6AA16CE13B7DB972D082F870B8 /* YapDatabaseCloudCoreConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C12CADB6D3BD1B17DDA90960D9616F46 /* ZigZag.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6326A5BB73AFFDFEC12155D231CCD45 /* ZigZag.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C141C8477E892EE5F849263E10D5B5D6 /* MediaRating.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B1FFB8219B2E3D9B0355A2BA45CCF4A /* MediaRating.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C15ADB3C2E880E3B8CBF0B79C0ACAD8C /* LKSessionRestoreMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = D395D334AE2FEF300983606510DCC347 /* LKSessionRestoreMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C1BF3E9B8C07D9813AFA8461BCBD583D /* LKAddressMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = AF479C95A8ED4A8D710B6EFC1539CD64 /* LKAddressMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C1C5DA8A0E6BF71CED02DCB6529FFA00 /* OWSStorage+Subclass.h in Headers */ = {isa = PBXBuildFile; fileRef = E0207AF074DB23F127E20DEECCA9CB62 /* OWSStorage+Subclass.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C1E801D31CD06D16CDB6CF1BCEBF9D65 /* OWSDisappearingMessagesConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = D63D2EE507F01BE1359FB7672DF75AB9 /* OWSDisappearingMessagesConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C20EB448F904023619829C0B7CDA9553 /* ALView+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 98B654DBB0F3186879DB4D2D52EA9343 /* ALView+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C2C83A8395540F884A2CBC85203B0D32 /* YapDatabaseViewMappings.h in Headers */ = {isa = PBXBuildFile; fileRef = 79918D43364734F4E0FC3EBB05530976 /* YapDatabaseViewMappings.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C2D2AFD8B84B5C36BEEAAA566D985826 /* Curve25519.m in Sources */ = {isa = PBXBuildFile; fileRef = 99B242B9EABF91F1A9E15F6B81336D58 /* Curve25519.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C3E3B045BB1633A557473CFD373491FC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01A617671FC41D09F7509014C72ACED5 /* UIKit.framework */; }; + C428925F87DF871E7AFA0D381F997E0A /* YapDatabaseRelationshipPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 11973F59D75BA4D4DA47232B0B4A92F6 /* YapDatabaseRelationshipPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + C49B5D33DB925585CB140F67424B8BE8 /* MessageSendJobQueueTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F619ADFA2517074EC7057711C610BB04 /* MessageSendJobQueueTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C4A522DC27F12C3E2082BD21BB37F66B /* YapDatabaseSearchResultsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ED842EA487D27CA0ED70F5701A584F3 /* YapDatabaseSearchResultsView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C4BC88DDF7F596E22C77BA173BA82CE5 /* GCDWebServerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A6EA6AE45318F54E25FC8942463816 /* GCDWebServerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + C4EB488CBB369E03FD2E44983A3A3A89 /* OWSHTTPSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 82CF7D5133AD14027C5049DC2AD6CEC4 /* OWSHTTPSecurityPolicy.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C53DD849F39B56FC4D29BDE0AFDD39CA /* OWSWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B39C76DAA74B15BF07D297A65F556EF /* OWSWebSocket.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C5597BD167CC41227823FA0629913815 /* YapDatabaseFilteredViewConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = D2DAD7A23CC8ECFDB5BFB373320DE797 /* YapDatabaseFilteredViewConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C56F4513A46B5132E3CB39F3CD6137D1 /* ContactsUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = C082D225F9B87F65802CAA27F78CCB92 /* ContactsUpdater.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C580E7FE24B820C06926F168586AC0B8 /* Mantle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 105A09420FE1510704E250412F9B244B /* Mantle.framework */; }; + C5DD69798967464178018858D24D7B3F /* TSThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A46A5B4FA6FF701B20968CB45043E88 /* TSThread.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C62FD05F73D0436D1B5CD9FD9E7AD64D /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC7161ACF6C5B5F818CFAEE1B8955E45 /* Utils.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C669826B38C9EB51E06AA73A940AD38D /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F66D78A8530914381BAF19A655C9C8B1 /* Updatable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C67EDD3EA845BF52982C454DF92F2F00 /* YapDatabaseCloudKitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DB52E16C9046152D0B0B7A7FF69012E /* YapDatabaseCloudKitTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C6D49AE29E4995AAA2FE0139A8E5924D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + C6F496C76C7CEB9857B5239EE234FF2C /* RSSFeed + mapAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCBB5BE6B55A40D62F9A732B5E5E1857 /* RSSFeed + mapAttributes.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C7004E2BC6AF13CC6D090EC0EB244AD8 /* OWSBackupFragment.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C1B4AA82048104DCF18B4F901F03010 /* OWSBackupFragment.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C730E95D9C5D401BEB011E77E3599AC8 /* CreatePreKeysOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B5DCC21DCFFD52D8C07EAC5ECF19B1A /* CreatePreKeysOperation.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C735C0584D5A2EC71FD92F30A654583B /* OWSCallMessageHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5F9780EB6A4D9E7F66C99F92612387 /* OWSCallMessageHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C755D45999079374250EC7326F694E1E /* SSZipArchive-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 693DCA8ACF4FDC894AA5361B0330ECDA /* SSZipArchive-dummy.m */; }; + C7B798D2E5DFC9F5ADB317DEBD35E691 /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB089DADB68A3A4E7C3262823A798622 /* SwiftProtobuf.framework */; }; + C7D3B50152C2F3D7835F7711E45967D5 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + C837DE55E13CA56C0E8B494D8544D620 /* NSDictionary+YapDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = BF6F62F20C1E33A39BC249C446DE46E3 /* NSDictionary+YapDatabase.h */; settings = {ATTRIBUTES = (Private, ); }; }; + C8381FD3D8F0376FFE3E8906A60D8A1D /* ge_msub.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C6B2B979BE457C1EF73E8F69ED2666C /* ge_msub.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C83944AFA962216F0121B2C7B456BAB4 /* duration.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE0911FEEB04922545AD0D1042EF2E3C /* duration.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C83DE43FFAF9FEA9A3B5A70142B6E1CD /* MediaNamespace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C5931B4F4C582293351AE52C15C4275 /* MediaNamespace.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C85F96156407D4B55E29F7AC42D790E9 /* OWSDeviceProvisioner.m in Sources */ = {isa = PBXBuildFile; fileRef = E503D21A51B4B5053131905F89571FE7 /* OWSDeviceProvisioner.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C86CCCA4912EA98070AE7D53DF3F41E5 /* mz_strm.c in Sources */ = {isa = PBXBuildFile; fileRef = 38938B3A1695AAC5C40E43B8061663A5 /* mz_strm.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C882D69F753DDC767A5F2D3658F2B910 /* ContactsManagerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = FB2C9C7C390ED2B52700047156BEC23B /* ContactsManagerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8A35245B66E7AE99E693577E9EE3349 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + C8B0482811E2907578CFD668F1B15A62 /* YapTouch.h in Headers */ = {isa = PBXBuildFile; fileRef = 764193D98BC9999D6B595BD71FF57E44 /* YapTouch.h */; settings = {ATTRIBUTES = (Private, ); }; }; + C8E66C732D6269AF9CE5353EDA86890A /* TSCall.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B1EB012845C86CCB9289AC062B2754 /* TSCall.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C91BF9A4723CDF2D0FEE1F18CECC6959 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = FCC541A7D3A1B653FFF8A8FA8E82EC99 /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C952D0F39C962A78D8B6CDE3892E9A83 /* OWSPrimaryStorage+PreKeyStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F603763571AA65004394FA430F0B6F5 /* OWSPrimaryStorage+PreKeyStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9BD9C8E29BC50D0E84CD3B506F3CB2B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + C9CD401E32989FCFF030CB4D4164D94C /* OWSOutgoingNullMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 41042A5454A4BB42AC468E045EB9654E /* OWSOutgoingNullMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9DDD37F8BC290646A043B01A3C26754 /* MessageSender+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAFBCEF8EE24C48A5491EAFCBA6FB1BD /* MessageSender+Promise.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C9E2C980F74892F60BCF25C03E076B7C /* GTSR2.crt in Resources */ = {isa = PBXBuildFile; fileRef = 4919ECCA45AD3A216CAF1F3F2F551342 /* GTSR2.crt */; }; + C9E89721C6D4D35C909AE03F3DDCBB9B /* FeedParserProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06971F0EBB173E82519A7BC32C5EB036 /* FeedParserProtocol.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CA3362E91E2B721D382CE1E68237BFCF /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A021205CB4676D02D4C5F4B4D7FA617 /* DDLog.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CA44A45D8DD6759C9E4160F0BFE88DE0 /* NBMetadataHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AD26E02AC96FC72B3C486C1BCFC6E2A /* NBMetadataHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CA5141006EDF600DF0F57BAEE83D4918 /* String+SSK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077E6000EC3D75F8EFFB7B648653CADD /* String+SSK.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CA848EEA26414EBD5BC4276F3F8A55FB /* JobQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21ADCF3F1D4616CAE9DC574A57913EBD /* JobQueue.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CA9FABE4A0AA0756FDD2879F2B09E84E /* ReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F5E8F84C6EB9B37BB22515630229B81 /* ReachabilityManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CAA8177EF0592FB54CB96C4A4E9A30C4 /* mz_strm_buf.h in Headers */ = {isa = PBXBuildFile; fileRef = 00359797804BF371D17D83732B3DE258 /* mz_strm_buf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CAB2CF2F82BE3C9A0F79582ECE16867B /* SendingChain.h in Headers */ = {isa = PBXBuildFile; fileRef = DB036B3AB4346C667E4DFD7F4C110FA8 /* SendingChain.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CAC7F8DF63E2BB0EB2265F52C666C769 /* OWSError.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CA50DE3BA245954096EE57D240D6F0D /* OWSError.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CAD74083A9A7FFE2A2DA99E8AFA6E998 /* OWSUnidentifiedDelivery.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69C0CD4B5C83814715B2FB70DC7D37AF /* OWSUnidentifiedDelivery.pb.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CAF65C0D7649479583D0D5A9F2E59C3A /* RKCK.m in Sources */ = {isa = PBXBuildFile; fileRef = B518EEE74CFF1C17640A6459B8539ECB /* RKCK.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CB0E947EEFE8B5247A96334CEA3FADCE /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A5E71F66CB714475637EE1229E31F45 /* Digest.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CB5B44E9EC53D070DF50915DDA4A6782 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + CB9AF20148F936D4CDC66E3843E39C5D /* GTSR3.crt in Resources */ = {isa = PBXBuildFile; fileRef = 59BFF5349D59B4F2423C95FD652EEAAD /* GTSR3.crt */; }; + CBE404578D05C2D8DA1BE841A18A7068 /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = C4BD42AA3152F98D06D0B32E72454448 /* hash.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CC20FCCF8568F302C95C43BAC5A54062 /* LokiPublicChatAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18E665D95CE0F1764C7E6459FB12508D /* LokiPublicChatAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CC26227B14E06F7C04C620ED9263FA89 /* TSThreadTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D9862AAE9AF0EF67CB72F16E5C7E751 /* TSThreadTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CC50F4EF9060981F83E5A6774DD0CEE4 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + CC5B55207E70857D45428A94FBCB030E /* FIRApp.m in Sources */ = {isa = PBXBuildFile; fileRef = D23400F835A29FD241D7BD2F432FF7F2 /* FIRApp.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CCAEF2831BD13498E659052012849EA7 /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8A7265B5CAF3A4DFB8253D3B37DD936 /* AFNetworking-dummy.m */; }; + CCB300080851CA94CACA8C0D7188043B /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3A02FBBD251AC9DBBC0B9F77EAAB4E3 /* SystemConfiguration.framework */; }; + CCBBC3E5D27CEAE437E69624C1C86D62 /* DDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 454AB54D781C00073D74579D119C4431 /* DDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CD0C4A3655C0B7F1B36449C755B03D97 /* YapDatabaseRTreeIndexSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = 454060411CE528B4033084304A3E133E /* YapDatabaseRTreeIndexSetup.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CD14DD41BF05AAA85408B5E27756E40B /* CDSSigningCertificate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F872CDC8D59D8DCE6D0604CCEFA2020 /* CDSSigningCertificate.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CD4EE365F4326E17B8A443FA1B45E98A /* YapDatabaseSearchResultsViewTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = DAE333843A9EAFE42AA37FFEE7A7F447 /* YapDatabaseSearchResultsViewTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CD52EFDE51CABC5CA9A4CEB08FAFEA8C /* SPKMockProtocolStore.m in Sources */ = {isa = PBXBuildFile; fileRef = D743C47DE691FA9CAE7C1234349A1DC0 /* SPKMockProtocolStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CD5B725E14AD1439080D12154E7BF745 /* ALView+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A929DFA0E7F0775B8A7611E92E627F9 /* ALView+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CD740D99F140D3338B65ED5C8D7E40EA /* JSONScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 787D098CC135CFAA1C14EF590FD15852 /* JSONScanner.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CD870FBA91A74BEF9097DFD544B8C20C /* FIRAnalyticsConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A523DEFD57182710833031A067DFA4BA /* FIRAnalyticsConfiguration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CDA4B43A2BF6EE3CF3944B04E12A133B /* YDBCKChangeQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 07963B9C4FE9D78C2624658794869582 /* YDBCKChangeQueue.h */; settings = {ATTRIBUTES = (Private, ); }; }; + CDAE1142F04F51B9C8338B316697BB76 /* DDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = 85D76F6A8041BEC4042F1F13A8EC0D9D /* DDASLLogCapture.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CDB77D5CF987CE8E5D224E1855A47EDE /* TestAppContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 06419236C28FF86B05777D9A503B44CC /* TestAppContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CDCAA7F7C7B4766BB89635E4EE13868E /* YapCollectionKey.h in Headers */ = {isa = PBXBuildFile; fileRef = AD2B6B4A5339918384EF7DA7B21849B1 /* YapCollectionKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CDCD62009BFDC2F1DD220FA128D3B300 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5276375AF137175266E8DFDB6EA9FD45 /* QuartzCore.framework */; }; + CDE26E21085B53BEB4CBCACC6E40975D /* OWSIncomingMessageFinderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C700CDF54CBFFCC29FAB18DA450AE0B7 /* OWSIncomingMessageFinderTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CE22AB266813B687023140ACFC359BAA /* LKFriendRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = EBA18DDD4181A3A812C611E645D97173 /* LKFriendRequestMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CE33439684259C241807127C1A11E5C2 /* YapDatabaseCloudCoreOperationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A53BE3FF10407D395433F71F8C6E2AA /* YapDatabaseCloudCoreOperationPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + CEF00E7EC5CFFA66CCF5E470C6496BB3 /* Google_Protobuf_Wrappers+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 259C1F02CB0C7955F51F7A16BE226180 /* Google_Protobuf_Wrappers+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CEFA0999DD7062B04F708D7A2E94276F /* RSSFeedCloud.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D0E31C684E860A5B56FA99E7B7FAA38 /* RSSFeedCloud.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CEFA74658D5CBF4B1583C99E26AD643D /* YapDatabaseCloudCoreOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = A0F3DD41B2A4FB566573F08A42C637B5 /* YapDatabaseCloudCoreOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CEFAB7BD028F6977D68CB3D53697E0B8 /* NSArray+NBAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 578B3D2EEE31EB8B2013C068C8A4A26C /* NSArray+NBAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CF24BFD76F4DB2461BAEA71F0B8F9DF3 /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + CF3262BE45C6BB7CC7524E747861D014 /* AxolotlKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60B94E2EFBFC76BCC0A28B0F38453531 /* AxolotlKit.framework */; }; + CF4302981D8CE844BAC0F257530FAF42 /* japanese.txt in Resources */ = {isa = PBXBuildFile; fileRef = C4343C9C1EFCE16404755FEEE2A1DD3F /* japanese.txt */; }; + CF63B4C3FF2460D52FD866F025EF1C10 /* Visitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E32CA4AF4958231340ABE402AC7D512A /* Visitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CF9E66DCC75B509A8AA03EF5C9DA1C73 /* NVActivityIndicatorAnimationBallGridBeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8169B1F123ED8AC936DDF5434EE7D7E6 /* NVActivityIndicatorAnimationBallGridBeat.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CFE3167D878717CCAE71CBB17B25FAD6 /* YapDatabaseRelationshipConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = DA6FF94C4BCC0272AC67CF8FF42C4BB1 /* YapDatabaseRelationshipConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CFF144CB573C4A6C88054E824268F8A2 /* OWSSyncConfigurationMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9613A5333B0DB08A65FFA5901A012BDC /* OWSSyncConfigurationMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D018F98595A9947E0FF9BDEFFDF001E5 /* AtomPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 661C53C0F2AE8BF045193DF9865A743B /* AtomPath.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D020A033ECA576C41C003CC68E072CF6 /* ge_scalarmult_base.c in Sources */ = {isa = PBXBuildFile; fileRef = 05A6EF9397D52C7B88E176D26FE1FB4B /* ge_scalarmult_base.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D036D7E5799AC507D663619DB8AF7D8A /* NVActivityIndicatorAnimationBallZigZagDeflect.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3E2721933951933A41131DC1A9BDC6A /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D072F86ED0A3B37330F942226B46621A /* PreKeyWhisperMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = C801360E523A27760275A306B45BD8C9 /* PreKeyWhisperMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0C31EDD00DF589A0D8D7F08F8FA141C /* FIRAppInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = C00E20E3A983125BE3CB825B7CE76ED9 /* FIRAppInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + D10F5A07ACB8D8FAB1148EC6CF2860E2 /* Curve25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D7963576561DCE9820B0F89DC9A99DC /* Curve25519.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D1172780795D882AD7545634133D7A16 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = F3797A8B219A85820FF666FEB5E9B333 /* race.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D118C72A1AE7D264565C73972E489904 /* OWSFakeProfileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EEB8DF446532037A949735E13B7631BA /* OWSFakeProfileManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D159114FC1D6A76851FB7C13D217873D /* SSLSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFB4D6476B78ADF91DFCD53D31CD6825 /* SSLSecurity.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D15BB59A9608B66B728FE210D442C7D4 /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 2270E652A8DBB3758BB2032C9968687E /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D1647FE0C02CB96C8A18B390A86575BC /* TextFormatEncodingVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BE1A41474A98F566680BB09DCD45C80 /* TextFormatEncodingVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D17B2C8F5B85BE1B9E6BCC497EFB1E19 /* OWSDisappearingMessagesJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF92FF546E7501599B4AFABF269C6FA /* OWSDisappearingMessagesJob.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D17F01445CA7F2F3080AD3C9F2BD23CF /* Starscream-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AE524F6642F28A057C6D4E4FB4453374 /* Starscream-dummy.m */; }; + D18E16A6495B10DC443F31954F50C445 /* PreKeyRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = C14314BD4BD1D66796E9CE3A4568D2D1 /* PreKeyRecord.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D1FEE19B05396C4E6DFC8C24906BFB10 /* MessageSenderJobRecordTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04BAE815E2728C2B3BAABD6E7AA8E832 /* MessageSenderJobRecordTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D20984D4F0C3B64A245316D64EA481AC /* type.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E5BAFDAE5D1C2572B8F996189580818 /* type.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D21165EB04FFC5CF91A8A1D5CC9FB375 /* YapDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B09D8BB23CAB3E769F7A52CEA81CDD7 /* YapDatabase.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D2143107753BB2B997ACDB3922EB514A /* NSData+Image.m in Sources */ = {isa = PBXBuildFile; fileRef = 287DC144F0F8E03369C85C7B16796656 /* NSData+Image.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D2797CEA6F23A5C9805475A873D2F4AE /* JSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEB8281E224094872B442319CB0B9D92 /* JSON.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D27B0508D1D2D54A20D26C96B058FEAB /* GCDWebServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 49395F51B6E1940EC1E326AE45BAD912 /* GCDWebServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D2CEC5F4703103B0C7E1C6DB8D034529 /* api.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DEBC1D539A5148AB2AF718FDD95785B /* api.pb.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D2E31A4F5E674E5472E7CFCD26F1EC1F /* NSData+Image.h in Headers */ = {isa = PBXBuildFile; fileRef = CAF72B52DB3B9843A89AB3D0BABF4BE4 /* NSData+Image.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D3116042A3C2DD48DFCD551744CBCBD9 /* OutageDetection.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA1D012A7541F2466D0067E8BD0E8E2 /* OutageDetection.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D3136C0AA6C85C6AEE9A78E7231171C0 /* SMKObjCTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 99C33014B5F8A7B017401B7090520F9B /* SMKObjCTest.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D325E03AA6B5DDDEB9862887D6C611B3 /* MTLTransformerErrorHandling.m in Sources */ = {isa = PBXBuildFile; fileRef = 64B99E13FFCA977491E29E346A4CF385 /* MTLTransformerErrorHandling.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D33FF249B9EE4C1F758AC791554A573C /* YYAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 02AC165B020A2456487CBF1D0D5AB75C /* YYAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D35FB79B7102DA7C4F7D76BB88793ED5 /* OWSProvisioningCipher.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E49F608AA7576D9BD2E14F15B469B1E /* OWSProvisioningCipher.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D3900DEEA569B15B0B817A4DBFAACA0F /* mz_compat.c in Sources */ = {isa = PBXBuildFile; fileRef = 98D104A49DA005D2C599AD56569270C7 /* mz_compat.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D392185CFE0E73B0BB8DA084BE1C30FD /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + D39A9C3A6C9C8D04ECFE4F9D5364DB2D /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + D3EFA396DC2B68FC47C6A5A192DDE657 /* TextFormatDecodingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26CEBFA2C0698641CBB53F4FA6F2DE39 /* TextFormatDecodingError.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D3F07BA7D0DF3016792DC2170EB35331 /* YapDatabaseCloudCorePipelineDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = A377D7E078990F3F0D6470DF2A2040DA /* YapDatabaseCloudCorePipelineDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D411F8562BDC3ECA5C2D38F08CB37EC8 /* NBNumberFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CB5EEA2E66E77F0B306AC4F707218A1 /* NBNumberFormat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D41F96D1EA2E21AFAD17040AFB7FEEAC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + D44D42D6B6DC43EAAD81C52399E07A82 /* NSString+OWS.h in Headers */ = {isa = PBXBuildFile; fileRef = ACC65907DEC181C4D0C1A3CE50265853 /* NSString+OWS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D5579532CAD44ED90AED7D1382CFCCAF /* libPhoneNumber_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D7C74EDDBBACEF5B0BAFB2EBA275E7A /* libPhoneNumber_iOS.framework */; }; + D55A7DF8E1E61EDB34E6CBF848E47798 /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B0E169748970E5299EE53D0A8860272 /* StreamEncryptor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D57E177007F4BF455841836B87F61342 /* SSKEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F947CE805FB333673DE7FEDAF7EFC15 /* SSKEnvironment.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D59F0DCBEFAAB41FC438B456F3DE6C6D /* FeedKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 449200244CB2010C0E93F8149003F65A /* FeedKit-dummy.m */; }; + D5D500A3E9F03D41EDF7CF4ABCB87D82 /* LokiP2PAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F15C4DC18C22A7C967174536A3DA9EC /* LokiP2PAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D5E32A1BAA54A332E9E18ECA33F7F9FA /* Contact.h in Headers */ = {isa = PBXBuildFile; fileRef = C6905CA24C336F21965392752B34BF5D /* Contact.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D5F020FBC03BF26A5A09524E42E84D42 /* FingerprintProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = B314B49B458D308453B2AA3E84CFC55D /* FingerprintProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D5FE14D87F0430F854C8298AC3D4475F /* YapDatabaseStatement.m in Sources */ = {isa = PBXBuildFile; fileRef = CFE3AA208B80846E8DA3B80CDD11033C /* YapDatabaseStatement.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D61E56245CE7CFFF90CF23ED88081095 /* yap_vfs_shim.h in Headers */ = {isa = PBXBuildFile; fileRef = 70D7507BDCB6B44BDDD0749605655BCD /* yap_vfs_shim.h */; settings = {ATTRIBUTES = (Private, ); }; }; + D63C145ED9D24E952077BF1B53AF8034 /* NSObject+Casting.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C41C57793309768E813EA0E56E72D15 /* NSObject+Casting.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D65922C85F26EA63C2748E58A4D7AD05 /* OWSFakeNetworkManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D704A2AE0D901CF145CE6D7DDA7CBFDB /* OWSFakeNetworkManager.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D6683D8178F1D37AC1F4AAC8B61C1821 /* ProofOfWork.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94F08937CA9CEB694F230008D8D5CD73 /* ProofOfWork.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D6A88DE22A6C58BD29E941F21A6EC3E5 /* DDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 36345E864499CC888023D252B13BFA3F /* DDOSLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D6B7E263C1B93B2DB7F541DA291DD338 /* YapDatabaseString.h in Headers */ = {isa = PBXBuildFile; fileRef = 05818C2A5DEC44C050A954BF11561B27 /* YapDatabaseString.h */; settings = {ATTRIBUTES = (Private, ); }; }; + D6C5C94013A3818EE3922B63B63CA34A /* OWSFingerprint.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B7E34B3736162AC9F0536E03757BBA9 /* OWSFingerprint.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D6D3F48F9A54666A073FEE466AB43861 /* NVActivityIndicatorAnimationBallClipRotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7AA520B597EA2280BD05A35F5970B3B /* NVActivityIndicatorAnimationBallClipRotate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D6E26A31DBBC5615C8E4296ABBA10EC3 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 74E2343F25338B63F4F05EE0662E1558 /* DDTTYLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D6EE616816ECE8A76942402059593C26 /* NameMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = D79957FB9EDC3489CC34ED71EF4A467A /* NameMap.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D7B209EB08042B6EC02A9876EF596B3A /* ge_p1p1_to_p3.c in Sources */ = {isa = PBXBuildFile; fileRef = 744F6738B53804C72304E6E4E4D15613 /* ge_p1p1_to_p3.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D7C6E6B15693A4A40F1979F3E9046842 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 276B371A6ECA9BE71CF7D3B0BEE5638C /* HMAC+Foundation.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D7DD612CB8B28C831D01D7AB5C39E774 /* AtomFeedEntryAuthor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 706F511C7F855B35B6FC716EA6853069 /* AtomFeedEntryAuthor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D7DE309FD29690ADC6B1917DF3B76F56 /* NSData+messagePadding.m in Sources */ = {isa = PBXBuildFile; fileRef = BBF9A7752C1A6F2EF0387037350A579B /* NSData+messagePadding.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D7E2BB7CE4677066EA33E17F1C024ED3 /* GULLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = AD51EE550E5167B22B67D0809D11784C /* GULLogger.h */; settings = {ATTRIBUTES = (Private, ); }; }; + D86EBDD87BF2E0EBFD2F6EECBB1E3738 /* OWSFailedAttachmentDownloadsJob.m in Sources */ = {isa = PBXBuildFile; fileRef = EC01664282A4BCBD8FB54C793EDA64A7 /* OWSFailedAttachmentDownloadsJob.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D88B227663DBEE2951637CB5719104D7 /* WireFormat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3109E8652676AF051606EFA3FD7CC282 /* WireFormat.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D89CC24C4EEA99996229FB3225900155 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F04B9AE44564A608031E5D799EC6FB49 /* UInt64+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D8A0E13D31FF58026BD9467EC7488AE8 /* YapDatabaseFullTextSearchTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = C4E090CDEE9AC8EA80B30856FC904706 /* YapDatabaseFullTextSearchTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D8B916DF3BADAD4F54813D0C56F70BD5 /* CDSQuote.h in Headers */ = {isa = PBXBuildFile; fileRef = CF53912804BF50E7EA57EAF687CD6823 /* CDSQuote.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8BCE696C7ED1D46C2D3024605091FDC /* fe_1.c in Sources */ = {isa = PBXBuildFile; fileRef = 4058C7C93E7FD602EC980056EB760575 /* fe_1.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D8D49884A744166386DE9514B6D73182 /* ProfileManagerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = B241D15B067AF39A7ACBCA721F15C87F /* ProfileManagerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8E9CC68E5EF23D8E61701A2531D96FE /* blocks.c in Sources */ = {isa = PBXBuildFile; fileRef = BAC7C474947349CA631CDA2BB94B33A9 /* blocks.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D8EDEA2D4C0169720536200FA8EF0B85 /* BobAxolotlParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = AE2AF3033B3533660F695CFF30550207 /* BobAxolotlParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8F4937DE61C1E8A2DAEC120B5255E69 /* OWSProfileKeyMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = E16A01779815BFC31176196EA7B72D7B /* OWSProfileKeyMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D94A4B27B3A6809437AD7140DCA120F7 /* crypto_uint32.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C5D9930527F069E1181816BD3392CE5 /* crypto_uint32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D95006EBF68E94E8959525007D2F03D9 /* LokiRSSFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FA49004D8C3251E0309D949F7BF358 /* LokiRSSFeed.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D95CBB09323BFD34B3A7D7C8995413EE /* NSDate+YapDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 34EF65F937971B69BBE48AB174CF0FA8 /* NSDate+YapDatabase.h */; settings = {ATTRIBUTES = (Private, ); }; }; + D960A3C6E5E230C5A47EA08488E935CE /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3562FB15FB1E03F2A26AEB39B13C2B0 /* ZeroPadding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D97C9BF2A014A901C12784FA1FFF83B6 /* YapDatabaseCrossProcessNotificationConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = AF12FBA6B6A93B273F6B0BFC4035F5AE /* YapDatabaseCrossProcessNotificationConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D98F252DD5F0801C8143CAA21F51A7DD /* YapDatabaseViewLocator.m in Sources */ = {isa = PBXBuildFile; fileRef = 07F4EC3804F569D75EA938E3AA93A812 /* YapDatabaseViewLocator.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D99E9E85848A5F6A9F913447961C8E0E /* RSSFeedItemGUID.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042FEDEBDA420D0707531E170CD9C055 /* RSSFeedItemGUID.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D9A6F02066EFF7447E52AC16258759F4 /* NSData+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 337F0BF35EBD313317AFDDAD76FFA9F7 /* NSData+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D9BC30E448ECE6C7FA7B4BF1788481E5 /* YapDatabaseCloudKitTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = 24A824614E87F6AF30DC6BBEA18ECC20 /* YapDatabaseCloudKitTypes.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D9ED837C70DA5160BFE82CF1808E385A /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1ADE9D436FA0F972FA5FC4F0F97D872 /* Compression.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D9F658612D0E00ED6D62476A8849AE13 /* mz_strm_zlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C508355BA0A618F0E485DD9E319EBA1 /* mz_strm_zlib.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DA1527AA21E3993117034F1A9A7270F9 /* OWSRequestMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60AFD146EA09D7615BB54685F7B21E84 /* OWSRequestMaker.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DA157BB879C92F98BA0C11C45261B0C1 /* MessageKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = FA73A7D61688D8DC872B099A485B4CC1 /* MessageKeys.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA957A21828D74E91BEDAD79700E9792 /* FIRComponentContainerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = D49459D9A70D3A664C12B2CD1E24ABA9 /* FIRComponentContainerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + DACC648600633408F12D368010815EDA /* MediaScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83C1F4EF91B95EC0E154297660D4EE9B /* MediaScene.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DB4BF68FA1CB0009D5F820A41812F545 /* YapDatabaseConnectionPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 52447CB576574DE415FED6B4D1B7C740 /* YapDatabaseConnectionPool.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DB63C73B74B87AC88344F0D1EB55FD15 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 444179510EDDF15CC6A977ED01F5CF29 /* PCBC.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DBB96A565C96D35B47EECDEB6ECB5FBA /* YapDatabaseExtensionTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E21F30FCCCE2587E73DCFEF12C57C4F /* YapDatabaseExtensionTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DBFA69DC6362FB504EC4BC8BDAC5F012 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674D92D24689DF2D66EDD2F38A1ACFE2 /* BlockModeOptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DC07A5D0940CCCED0EF744BBFA100A7B /* NSDictionary+MTLJSONKeyPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CD1077C9C472864A27AE1087A88F676 /* NSDictionary+MTLJSONKeyPath.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DC09A1A989C19D6A9D70AF0280BDF065 /* LokiPublicChat.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0636057655653F0064C9EA33D74BC60 /* LokiPublicChat.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DC517B197C3DA27F36965CA995791FCE /* YapDatabaseViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 89AC2CD340521C6FB86EC88E868D3CCE /* YapDatabaseViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + DCA31620E0D075413EDF596993D240A0 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 32846321BF06BC2A8EEF822794DC640F /* Curve25519Kit.framework */; }; + DCD40091CB31D2D06C4E55F0EBAF111A /* HKDFKitSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A5112659A91D7F44B85040155168F1A /* HKDFKitSwiftTests.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DD0F4C464ED72C815914E36FBE59B663 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88731B7E8E4E9D2D7F2B42C708231F16 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DD2F7D1B35F89E87C93DEBC4D505ABEC /* mz_zip.h in Headers */ = {isa = PBXBuildFile; fileRef = 0092182CA7E7C771E1EB234293A9B716 /* mz_zip.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DD3C5847A2FF02F767E90F974C7A9D12 /* OWSProfileKeyMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 90AE2B46707CD008CDDB3049EB18BC10 /* OWSProfileKeyMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DD8020B17B41170BD8D49552AE43AAE8 /* String + toBool.swift in Sources */ = {isa = PBXBuildFile; fileRef = E15F292EEC71F1CA6B1B8AD844F2F09D /* String + toBool.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DE1ED326332E2EBA29C9D1549C44CB60 /* YapDatabaseCloudCoreOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C817572D9210C39D540E2BF36A21483 /* YapDatabaseCloudCoreOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DE205B6652A4B029D503A5FF1C9B7645 /* OWSAddToContactsOfferMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D13CD39F588835309C27C1B959671F5 /* OWSAddToContactsOfferMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DE33F1856142D5A05F155A3AA674A9A8 /* CocoaLumberjack-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FBE3EF558C27DF28155A7248AF95264 /* CocoaLumberjack-dummy.m */; }; + DE6B04751EC2C5D029D6B788143A5A89 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = 179C664FC333700DF942080E1B82ADB4 /* after.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DE91659E71FCA3DD559387EA25C2E497 /* Google_Protobuf_Value+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9E20C5010DE5A7AC9F9FC2AA3B315D5 /* Google_Protobuf_Value+Extensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DE97BFE3D40B1ABB0D791F3A501511F6 /* AxolotlKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 38FAFAB43DC587E9EA73922A85C0FEA9 /* AxolotlKit-dummy.m */; }; + DE9AE5327C0C427A643021405496C5D5 /* SwiftProtobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB089DADB68A3A4E7C3262823A798622 /* SwiftProtobuf.framework */; }; + DEA297C52236E6D9A9CC74A56867CC6F /* TextFormatScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 785B06E3977758C55944C5FEEDC6C8AD /* TextFormatScanner.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DF0EE9E73FD9CEB8713652D608AEA3CD /* OWSLinkPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = B947C70E512B065B70987FE000E42E05 /* OWSLinkPreview.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DF24548A831A5AA50100FEFB7620FBA7 /* JSONFeedAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91D74F71D488A6CC4AE46F1F677E1680 /* JSONFeedAttachment.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DF782C00A9C5F771B5A5894B65B1556F /* SSKAsserts.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2EEA903C84CCBA47F253B06D935522 /* SSKAsserts.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DF7FDC1D53F67834ECCCBB20707D2950 /* ECCTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 761383AAED634F641119FAD1247C0EB7 /* ECCTests.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DF8344363EA84EAB79A9A71B0F1A27B4 /* EXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = B8EB9788516BAAFC8621B9C02B52D493 /* EXTRuntimeExtensions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DFB4C12CDEE01E60DF7F84E994C114A5 /* NSObject+MTLComparisonAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBA88C533B66F41A077CA3053D75161 /* NSObject+MTLComparisonAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DFC02478E89C334BB84FA6A23C5FA9F5 /* NVActivityIndicatorAnimationCircleStrokeSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37312AAB7CFA4362B06A9E89E6FF3ED2 /* NVActivityIndicatorAnimationCircleStrokeSpin.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E02531B819A9E393FA04A328B5189F33 /* YapDatabaseViewTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = C0C47BA16F8CC25CC9D2DE247AFD1BA5 /* YapDatabaseViewTypes.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E037CE9641328E5BEB7C9F0444E2F107 /* NSURLSessionDataTask+StatusCode.m in Sources */ = {isa = PBXBuildFile; fileRef = 58A0DDC30CBB376B723759CA379E01D0 /* NSURLSessionDataTask+StatusCode.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E043580CBD054B4702346E865FF906A7 /* OWSPrimaryStorage+Loki.h in Headers */ = {isa = PBXBuildFile; fileRef = 81D37B3B1AA115ACEB143E59ABB617DB /* OWSPrimaryStorage+Loki.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E0457DB1AB05E2846BE349DF572A390F /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B45DFF9B53890EF41500CE8A83059B41 /* Catchable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E0546BCF8D81F03C5A04F570129FB54D /* YapDatabaseCloudCoreTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 055C22A61ABFC9ABB05A2178E44ED1B0 /* YapDatabaseCloudCoreTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E07FD0BD613022D7C2330E935EECADC6 /* NSObject+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = EA50E7B2159788D9B0FEAC7A8E0A1BC4 /* NSObject+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E09DBB94735D89912079E9E0A969D2CA /* YDBCKChangeSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 243B6EC4FF144BF14CF12FF1D54B30F2 /* YDBCKChangeSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E0AAAE3FC945BC9D72A57AAAF5662226 /* SMKServerCertificateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54404FB2C8F024B2A2EEED9311721D9A /* SMKServerCertificateTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E0C7366ACFFB3ACDEFCF1AAB390D1E4B /* YapDatabaseSecondaryIndexConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = B4749130B0428530C084F80D9DEC14A6 /* YapDatabaseSecondaryIndexConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E0CD6C97CD9A9E23033755B28A3806A3 /* YapDatabaseExtensionPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2904B1083493AD46253B270872F72401 /* YapDatabaseExtensionPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + E0D0979D5FE96990F58E30D08B93B907 /* YDBCKRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = CC907524ED982FB557424B5D8CD88891 /* YDBCKRecord.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E0DCC614B5D3633CA7C69B8365C7B1FB /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = BD37F1BF3BC9AB05B905A19B37CABF5A /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E0E614083CF7B7BC877DB98C9A4A0407 /* NSArray+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 9062A7B6DE5D2C80B061102F2CCE4C98 /* NSArray+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E1286AA879B8990D272754BB25850218 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + E14151464588C6C3261A6F0EA0CF6C5E /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 52CDE0A18018BC67E2D08EA5FD80860A /* DDASLLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E183F2AA09F8FB81662765A1AA61BD3F /* YapDatabaseCloudKitOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 14301C71259D76E43CEB1C2AE737F328 /* YapDatabaseCloudKitOptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E1B6D4C3F58AFCC1C1AC445E4352F2E0 /* YapDatabaseSecondaryIndexSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = 72299AF0E68F7FA10BD0014A854F03BB /* YapDatabaseSecondaryIndexSetup.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E23C92C56CC70C09EE198E3562CBC333 /* NSDictionary+YapDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B2317847B81618C305046627261352C /* NSDictionary+YapDatabase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E255704A7F4FC19AF1F6772CD3F6EE93 /* curve_sigs.c in Sources */ = {isa = PBXBuildFile; fileRef = 25E4888B12290DE783522EAC56C29382 /* curve_sigs.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E25BD05756A102344FB2DCEC0675AB60 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E207B727B3B84A72B917562A664ADBAA /* UIWebView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E26D04873F72D6D9327CB6E548097069 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE6249C0105E1F986E982F867B337918 /* BlockEncryptor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E273834796456B47101A8FD9C97E2705 /* YapDatabase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BA0F08B7AB69E295E331EB795C8D28B /* YapDatabase.framework */; }; + E308E896A992EED46869188502363389 /* compare.h in Headers */ = {isa = PBXBuildFile; fileRef = F31404D4995B3B8A3F58813119DC8D84 /* compare.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E318401C2A7761029D28C409C8023489 /* DDTTYLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 88AC67E029EE959AD1832DF9B256304D /* DDTTYLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E327A587167E7B64359D6A31EB397800 /* MockSSKEnvironment.m in Sources */ = {isa = PBXBuildFile; fileRef = 39400421C76DE69F4C1E40AF191EDB03 /* MockSSKEnvironment.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E38537CFCC47266174D27E4735419B5B /* OWSAddToProfileWhitelistOfferMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 069163317E8229F78BD8F9D1A4A2651E /* OWSAddToProfileWhitelistOfferMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E39F7B46622736C6FEDF81EFDCC75E66 /* HKDFTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 43D2C4F103EBA7127B1E44EFEA26DCAE /* HKDFTest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E407F402833885658E2A596994F32B5C /* OWSMessageDecrypter.m in Sources */ = {isa = PBXBuildFile; fileRef = 2263ADFFA9544649FFEC23FC22A89CFF /* OWSMessageDecrypter.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E41911E72E3D4FD78A0C40D974BA6250 /* YapDatabaseHooksPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 907600F764B50037C4333A2535545D6D /* YapDatabaseHooksPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + E423DC2B1A24D66E2E76D6822C5EDB40 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF752968EB8BEA27791E2A72E7339017 /* NSObject+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E42E0FD5CFF32D4010B6730067414600 /* OWSMediaGalleryFinder.h in Headers */ = {isa = PBXBuildFile; fileRef = 01504433751B6E0181E3E96239CAE8C0 /* OWSMediaGalleryFinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E45DF18AA3A1AC1D91FEC645B8AF5AFD /* TSConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 41711EC81A8C33E48C7E2D40AAA99CA2 /* TSConstants.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E473FA764ADD6806297D975190BE3967 /* OWSOutgoingNullMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 018E1E1118862AFA57DDC458AFCCE733 /* OWSOutgoingNullMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E48598910F737B2778D0002AF5E560A2 /* NSSet+Functional.h in Headers */ = {isa = PBXBuildFile; fileRef = 54D8B64C2DEC7BDCECBC00DD40A25C1F /* NSSet+Functional.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E497AF1A6813A9638DF303013B82DB64 /* DDContextFilterLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = E0799DD3286718BF809F92E5B657E93F /* DDContextFilterLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E4AE972DE6C4397B324B48A9A061B74F /* FIRErrorCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 31F4F171300977307628C5D618D76679 /* FIRErrorCode.h */; settings = {ATTRIBUTES = (Private, ); }; }; + E4B43492F01002480860EB6C464E9334 /* Mention.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67321F368961F09E7549D5ACCC3C5DBE /* Mention.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E4BA76C7332ABD25C82BA76B1BABA63C /* NSError+MTLModelException.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D8CA6937BDC23E93BFB2E95035530FE /* NSError+MTLModelException.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E4D0627F7C255686B16C79AAE3E73FA8 /* RSSFeedItemCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = A88C0AF91250808E0D47A7BF74D2B5FA /* RSSFeedItemCategory.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E4F940967F1EF8998BE71D887A922809 /* NBPhoneNumberUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = B91E31A3031C58750E2EBC08C18FD362 /* NBPhoneNumberUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E518D62CED5661A3CA8FE125AEA2A273 /* RKCK.h in Headers */ = {isa = PBXBuildFile; fileRef = ED40A71A2F957993F8EFD7B6CBACEB68 /* RKCK.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E57DA3915CE54F125392B28283C70C89 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 32846321BF06BC2A8EEF822794DC640F /* Curve25519Kit.framework */; }; + E589665DD38EFD89A23FAAD56F948CF5 /* MessageExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDAA8EA554CC2E5BDAE02EF52B82EA99 /* MessageExtension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E58BFFBC0A51AC7CE448D6A8681F8CC6 /* SessionBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B799138B7DE86D6A6F644A869EF3A7D /* SessionBuilder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E5989B19910F87EAA357B423A1D31228 /* YapDatabaseFullTextSearchConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = D7B3F6601015874F5580A99B4F1B5E1B /* YapDatabaseFullTextSearchConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E5F32F22CAA8BFE8FC86B23AE513C33F /* LokiAPI+SwarmAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88CB908E6F9906FE43E749E27A5E6C11 /* LokiAPI+SwarmAPI.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E60E27E6EAAF1EB89F13DB47FAA4BE8B /* YapDatabaseSecondaryIndexPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = A19868C471F08CD4F8C7377BE20C4808 /* YapDatabaseSecondaryIndexPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + E6124AA7E15CF4E467B2B79C00DD5A3C /* SignalMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6941FB5795C185B861899E00D9B65E33 /* SignalMessage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E64A57BFAEB2D6279F9AB9D69C0FE031 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + E6539E548474CD75789F382280517308 /* SQLCipher-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BAE0ECE7D40C946207DF3F5660B90D19 /* SQLCipher-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E69E89D5206C9055F5521D40A88705A1 /* SignalRecipient.m in Sources */ = {isa = PBXBuildFile; fileRef = FDA4340B40697792BC28EDEC336F4AA1 /* SignalRecipient.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E6A635AA2D74491B33DABC18B8994EE4 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC681F498ED2CB5003D603AC04872660 /* CoreGraphics.framework */; }; + E6A8DEFAECDCF65E93A124F54D10A23E /* ECPrivateKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE4BE0B138955AF01D814F04A89BF3FB /* ECPrivateKey.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E6AEB1CAB3AFE5E6ED6AE20C3A162EB7 /* NSError+MessageSending.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F4863F02450E809DB5DABF23DE85AA2 /* NSError+MessageSending.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E6EE7CE89C889499E4C2588C868060ED /* OWSSignalAddressTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6B4A9C40C38A2A202368FC9EC32EC45 /* OWSSignalAddressTest.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E702B0EAF639B4D6369E34A66F692A18 /* NVActivityIndicatorAnimationBlank.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4C32EEBAA16F900E40CB02966456C05 /* NVActivityIndicatorAnimationBlank.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E71D26D3BDD238E7BAF1395A8A6F71C1 /* PureLayoutDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF9D5A5A7B600E7402EF7ED713CD4A5 /* PureLayoutDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E723DC1637073DDF0E43D8A07ADDEBC2 /* MediaGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5CBEE56783985FA6CDCA84A9D02F9E9 /* MediaGroup.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E73550B6FBDC79BC654F3C35FBC98D97 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + E791E9D0E743B59C74872B5B22AA1A78 /* Curve25519Kit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 32846321BF06BC2A8EEF822794DC640F /* Curve25519Kit.framework */; }; + E79947DF5A930D83EE0EB9FDB1C44C98 /* ReceivingChain.m in Sources */ = {isa = PBXBuildFile; fileRef = 883922EBDEA4E855F07198B37FF9B3A1 /* ReceivingChain.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E7B9EC5B9F12A3F7562A72CC6D02E2BA /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F37439DD2CF12B2EECE215A9D56F11A /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E81C13DF33DB31FC0D82111614BCDA9A /* SessionStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 721700DA40586697F65D843BAFFCD992 /* SessionStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E832F41E33D30346B717EE25496387E8 /* OWSDevicesService.m in Sources */ = {isa = PBXBuildFile; fileRef = 781B44F39084C44911F7DCDFE4C68668 /* OWSDevicesService.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E85F844DF67CFD3C1E66AFC19ABD00D1 /* OWSOutgoingSentMessageTranscript.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A64CBD35C7283084681BBADF61BDF95 /* OWSOutgoingSentMessageTranscript.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E877CE5BE0B49786EED88E22079B995B /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32CC7F56156032ED5990915E2C1346D0 /* WebSocket.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E8AE126C1807B277F05B0B6D46F63A5D /* NVActivityIndicatorAnimationSquareSpin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B64B75A3AC7A1E982C17001781BF67C /* NVActivityIndicatorAnimationSquareSpin.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E8D0817E37BAD1019866CFEAB7BEB2B3 /* String + toDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55F677664F08E41A46AE26020BEAA1E1 /* String + toDate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E8F6C65EFAA9E53E8512978B818482B9 /* GSR4.crt in Resources */ = {isa = PBXBuildFile; fileRef = 69180281065601EE5CC5C179CCF394D9 /* GSR4.crt */; }; + E90F61F87728A709155FE3114032FDEB /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5ABDB9F38A98AEA91967695AADB3F7 /* DigestType.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E914E39768EEC54287E9C7214129E1E5 /* LKUnlinkDeviceMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A2B0190EDA832A09F163C8A85A94AEA /* LKUnlinkDeviceMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E93E73913AC17124F456CC0E13CBF3E1 /* OWSDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 918D42603303C1F7F97CCCD81F062643 /* OWSDispatch.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E9AC70A614D2AB12CAB65E74210E6496 /* TSInfoMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = F49E8B809A703D769676D6DC0733578C /* TSInfoMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E9CBFAED1F159EA3676EA916A171CDE5 /* NSData+messagePadding.h in Headers */ = {isa = PBXBuildFile; fileRef = 68D3CE4987B342415197BF85BACFDC04 /* NSData+messagePadding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E9EA9342C5BA57C3B1281F27602375A3 /* OWSUDManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87905B12EE3EA0EB7580FD8EEAD83657 /* OWSUDManager.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E9FB0652AC3B61879CB8E52FCC8B9B76 /* YapDatabaseHooks.h in Headers */ = {isa = PBXBuildFile; fileRef = 2262E3DA8EDEE2A11034D836FEE961A5 /* YapDatabaseHooks.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EA3879F983E967DC99584DC3919AF160 /* YapDatabaseFilteredViewTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = E854C0175259A8B6582D93ECEB259968 /* YapDatabaseFilteredViewTypes.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EA923E0695860E75306599ED5C531EAF /* OWSPrimaryStorage+SignedPreKeyStore.h in Headers */ = {isa = PBXBuildFile; fileRef = ECBC422E82DCC449075501EB0E163D91 /* OWSPrimaryStorage+SignedPreKeyStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAAFEB2BF8EBDB2A6E664A3CE5CD6758 /* JSONDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1296243BED93752EF37E06D1372E53F6 /* JSONDecoder.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EB0DCCA0155203A49FD8518E54D9B8EA /* YapDatabaseCloudCorePipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CDF85040CA1971A733E2BC73E82061F /* YapDatabaseCloudCorePipeline.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EB153C1F4E02D5865027BC7A4EF191D5 /* fe_invert.c in Sources */ = {isa = PBXBuildFile; fileRef = B2B1B93B632415BF79F3195CFD53F74C /* fe_invert.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EB4DD1E6A1C0B69189981B732C8138EF /* OWSThumbnailService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52BD362153C4440F4F0194797E25EF13 /* OWSThumbnailService.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EB8F93E1D2FAA9320A8F36B7EF2E5161 /* mz_strm_pkcrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = 0A368A6A70758B3681DF5254EC65143C /* mz_strm_pkcrypt.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EBD686621138B0BA88CF22EEB0CB40F6 /* OWSMessageSender.h in Headers */ = {isa = PBXBuildFile; fileRef = E12D592A08C2F25FCFC10BE86A7E049A /* OWSMessageSender.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EBDE8C622AE71BA08BA0F4DF08D2084B /* DeviceLinkingSessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE9B34074ADB6EAD954D55184E7E5B9E /* DeviceLinkingSessionDelegate.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EBE0521CD74666DF521F439C7A213ADE /* LKGroupUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 37E757F0A2F7EBD3D2DEE036D3269CA5 /* LKGroupUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EC74360B8FF23C4837EB48CAB59481EE /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95EC2103B502BC3B7564B1637A305D03 /* CTR.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EC9EB153712659975985C894F84E4B1D /* OWSSyncContactsMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CC0C2A31AE2AB6A715AF4167A0FDFCF /* OWSSyncContactsMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ECDCB4C9EF45E9818C9A4A92FD415B48 /* LKSessionRequestMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 809796F1453997EAC850A511C5D27973 /* LKSessionRequestMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ECF6F668E2CD94BC8FF1C3BB526477F9 /* GCDWebServerResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = D331228123C3E034EF32396A5F78B849 /* GCDWebServerResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ED2602B38033762B9C132C84135BF19D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + ED27C27D10FA7C3BFD233DF3EFF92F7A /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84E0CF2E38A4A0848CBF9404D288AA7D /* CryptoSwift.framework */; }; + ED8213E17F27DBBD657EDC636158084C /* LokiAPITarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9BA5433BEED5A90D0AB69BE76522BD8 /* LokiAPITarget.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ED8E18C83DC019AF3AD5F3A22BB660CC /* MediaParam.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D695EF42C943B89AA4869AAE4D35020 /* MediaParam.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EDBF4BA5A305B2C8BB227BF8DBE75C81 /* fe_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = 044565AF7D3C31A4B8E3CD6E752EB6DC /* fe_sub.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EE24C845ADE4551CAC2A9CAF4FB10D09 /* Message+TextFormatAdditions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8CA9DDFE3897FAB7FD3EEE017AE6BC6 /* Message+TextFormatAdditions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EE28FFE7E070CF7D91847D8451E6493D /* ExtensionFieldValueSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DDD43D2AB4C7D0684F65BC8DCDB4553 /* ExtensionFieldValueSet.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EE2DD39816AE548BC4BD9487F53D54B1 /* NSData+keyVersionByte.m in Sources */ = {isa = PBXBuildFile; fileRef = 2270D96B6E36FCE2A6EFA268F5700FFA /* NSData+keyVersionByte.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EE973564BBC7B12A7E2AC9EFAF5F86F6 /* AppReadiness.m in Sources */ = {isa = PBXBuildFile; fileRef = 47598EE776F9391FFBC1D9DEE535BAED /* AppReadiness.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EEA194528C6D295A4BF1E707A768EF7F /* YapDatabaseViewTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 6739C292AB20DDAAE1C40EBFA6E5C037 /* YapDatabaseViewTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EEBB6ABFC0EF9D098723553190B63432 /* TSGroupModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC66095D4CF9CC00AFB510A1F6191F7 /* TSGroupModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EEC00AA5BE7A1DE51CF521F578DEEC27 /* FIRLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = FD892FC198FC96FA387AEE685E82AD45 /* FIRLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EED10FACAEFFD8CB19F8CAD22371DB31 /* ISO8601DateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C404FA233B7C9371746FE65894AEBF1 /* ISO8601DateFormatter.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EEDE9491E38031568C8038CDF4AD608F /* mz_strm_mem.c in Sources */ = {isa = PBXBuildFile; fileRef = 76D7A6FD17AE6CF646205C8A6C22D11E /* mz_strm_mem.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EEE1A9C5BDABADC09D83DC1DAC30B07D /* ge_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = 698EB628AA7CA0DA1FA7B7F25DD16CDE /* ge_sub.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EF41117D178DE1505B3DA6669C1ABA6A /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = C559A15FE0C0CBC35068EBA1F86AD472 /* dispatch_promise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EF6E4498432F61DB5B865591E8B2FF06 /* YDBCKChangeRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 89B783F28B6343C822404AFF3DD2508A /* YDBCKChangeRecord.h */; settings = {ATTRIBUTES = (Private, ); }; }; + EF916887A03D4DA5DF7829DFE7C3991F /* DDASLLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = C2182246DCE20DC1D397525F32A8CE2B /* DDASLLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EF9DFA0B65F5CE9AEFC40DE1E839DE22 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC02E4218612F802AA47C312260C04D /* Data+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EFB6049F959E4E8F44DBE2F81D7A5450 /* YapDatabaseViewPage.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F6A438B8FBA10F3CB3ABA5673542BCA /* YapDatabaseViewPage.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F0459729D4A43F16D11A9045F94965C9 /* FIROptions.h in Headers */ = {isa = PBXBuildFile; fileRef = B9E1CD059EE25558091DA91BF4A1161A /* FIROptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F06C594BFEC07314A61003530CFD4BD8 /* mz_strm_mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 67D3765FEAAB8E706B489A9DB0F651E5 /* mz_strm_mem.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F086DFBB40DBCC0768343912873E0884 /* RatchetingSessionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F25E50E498883C6EE07359F0939730C /* RatchetingSessionTest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F091BB05888C053B271D8A97EBF3416E /* ge_sub.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E3034DA75AB53B5101AC213AC8F7FA0 /* ge_sub.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F095E2060245DD3D2DCF6F2748F3DEBA /* Threading.h in Headers */ = {isa = PBXBuildFile; fileRef = 23D4DEACB6A935D4A4182195E4C3BE8A /* Threading.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F0FC14D6AECB653383CA04F368965198 /* YapManyToManyCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 47987F3A6112CF1D6A2AA4469CDD1AB7 /* YapManyToManyCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F109CC99651685BDF6DA9A6A5FF8DA6E /* OWSPrimaryStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = DA40C55BDD6120B32FCBA8998BB9FD24 /* OWSPrimaryStorage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F116F478A8246F03FF6F4F4FD5894DB0 /* SMKSecretSessionCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E6F8E565826571F187845E36052692 /* SMKSecretSessionCipher.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F13281B5CE1AC52870673742639FD969 /* HKDFKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D132DC0ECF8C44B87F4D3A00C575B55B /* HKDFKit.framework */; }; + F13F30FAFD8975B5601F38F34E1CE20C /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 542400A242038E196943C689A5C67E48 /* NSTask+AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F16990F8214E6D2056715CC7EFBD7B19 /* ge_p3_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 2A4E108633FC5CD2BA4FC13F2CFF022D /* ge_p3_tobytes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F17D2046F6A189CC4836B635025A67A6 /* DigiCertSHA2HighAssuranceServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = EF9DE47D10C0A1E4A5027AE1D79926D2 /* DigiCertSHA2HighAssuranceServerCA.crt */; }; + F1982DEBA525510C7049B2BB6BC22FE7 /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 84ABFCFCC8259F28B695B77C28D028FD /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F1AD8A5B23E083FAA1B3F6B39FD836DF /* NBPhoneNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = D8E97BBC635A675CAC498501BD7BFCD3 /* NBPhoneNumber.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F1B38D019AB91372A80E8BCB3DE9F07D /* RSSFeedItemEnclosure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BAE02F6E15EA8E8B378F1232F342119 /* RSSFeedItemEnclosure.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F1C0AB41C87370C010EF6D2D5EDD4930 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C60AC69A844FB6C600825328C63D22E7 /* Int+Extension.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F1CBE5B0F51334BA8496900EC93492DD /* SwiftSingletons.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9474F09709A68B597B9AB2598712152 /* SwiftSingletons.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F1F80C7F72C0C3B90DF246D00F30C131 /* SPKProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B515D322C1423D271193E57A016D3FD /* SPKProto.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F211C969483E4A4B5F8D825216F567E3 /* NVActivityIndicatorAnimationBallScaleMultiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B0ACD1CB2292852B39A6CFDE362B2ED /* NVActivityIndicatorAnimationBallScaleMultiple.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F25B1B9E5B6B5101259BF35A292CD3C0 /* yap_vfs_shim.m in Sources */ = {isa = PBXBuildFile; fileRef = 38659336A9AE170029E5B948F912408C /* yap_vfs_shim.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F272C7CA5956750AC30FEF37065F6DC2 /* GCDWebServerErrorResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 92A69C4A4EEFDAF455B8D96453BB5512 /* GCDWebServerErrorResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F2738DDCEDE6EA9EF011C980585A8931 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3EBDECBB0B3DDC68F3E7CE7CE4E98AE /* NSNotificationCenter+Promise.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F29E4061C5ED011B7C5FD2AF6AA5EADC /* mz_strm_split.c in Sources */ = {isa = PBXBuildFile; fileRef = CEAC6B14C9D0FCFEBBB4908EDAE82B1E /* mz_strm_split.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F2D471F3EE5DDD0A7463976EA097084F /* TimeUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 165E004EAD1D6B8FF4232C1FDDC839DF /* TimeUtils.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F38DCB34E89F4D85011EBD69383FD43C /* OWSDisappearingMessagesJob.h in Headers */ = {isa = PBXBuildFile; fileRef = F99A10E79516EC8B8DF6A24DE0E28750 /* OWSDisappearingMessagesJob.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F395B5BA95CEE5808EE32B5FBADB4FD2 /* GCDWebServer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F676E37CBD3D739D23C6B5D1EB5A2E2E /* GCDWebServer-dummy.m */; }; + F3E1B4B278CC78B96115ECA0FAD500B7 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + F3EF3ADBE2B2ED7A41BD9652BAB73B05 /* OWSCountryMetadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BC2CB1633061CBB08AFBFC438663BF2 /* OWSCountryMetadata.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F4538F6EE63F7F97EDF852E28FC91038 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F5A5A254299A9C0866287E26C3E2AFA /* UIButton+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F4D41049D98E3B8DEF6B41E06AA0AE77 /* NVActivityIndicatorView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 73E0EA91DC333D9E6DCC782A8F072226 /* NVActivityIndicatorView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F4DC595099750BED417E8A37A03E4206 /* YapDatabaseAutoViewTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = BC60FD7F02E42CFC568E361118EB9EE4 /* YapDatabaseAutoViewTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F4FBEB2FDD00D95FF1E403765ED068B3 /* ge_msub.h in Headers */ = {isa = PBXBuildFile; fileRef = 514E931CC8B59385E76F962B541312BF /* ge_msub.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F548CE00E0E836B61E3D9DBFB40F8167 /* JSONMapEncodingVisitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7736B4649ECA336B8E25AA05CA87BEB /* JSONMapEncodingVisitor.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F5AA028467F22CE0530B32D40031C048 /* RFC822DateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C7FEB43F38DB5DFAD56E657B9145C34 /* RFC822DateFormatter.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F5ECF03C605AF7A5EDB7024CD3BFAA86 /* NVActivityIndicatorAnimationLineScale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 475B322B55B8E1B168A9F078E7E58F88 /* NVActivityIndicatorAnimationLineScale.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F63014C7E78024060577428EA96D4B07 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4752280A03879D406225EC3EBD65831B /* Foundation.framework */; }; + F643514C12960F89AE4F2160DBBE8AA8 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */; }; + F64EE08AA7083A232F00E6692BD949B7 /* NSObject+MTLComparisonAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E22346CE7C5D358EBE0A05D23F503F44 /* NSObject+MTLComparisonAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F6A5B849A23D3550B0C9EE4EAA391345 /* TSGroupThread.m in Sources */ = {isa = PBXBuildFile; fileRef = E014E13C0EC6BFBA884F63935E41C035 /* TSGroupThread.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F6B3299842D655B033AEFD7225DA2338 /* LKEphemeralMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 89D20E6A287D637290F9403755ED04CD /* LKEphemeralMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F6C09BADEB3DE780EA488BF9732AF9D0 /* SignalCoreKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E64E9FCD007AA415E755E40E3BAFE9C /* SignalCoreKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F70317FC7BA8D0277BD748C3864FDDCE /* crypto_sign.h in Headers */ = {isa = PBXBuildFile; fileRef = CF4D7EEC01E984D052ECAB138C9DDA1A /* crypto_sign.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F73C3D647A864C11FF836A0AE89077C7 /* TSIncomingMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = EA10C5D586B47850F899422FD393047D /* TSIncomingMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F773DE3D6CA428B2068453547A2FAF6C /* NVActivityIndicatorViewable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F68F503DCA7185D58EE99D6BF44C890 /* NVActivityIndicatorViewable.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F7A2DAED5C95BA5C25211DE23B27331C /* SSKKeychainStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF21128F34C978A1C18693D941CD1E3 /* SSKKeychainStorage.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F7A45266974071EF732EAE25D6AE611D /* TSInvalidIdentityKeySendingErrorMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 18B39F3A64006A932EB40CB1824F581F /* TSInvalidIdentityKeySendingErrorMessage.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F7D83FBC75BB7E7CA636F08FBA840ED9 /* DateSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1D0ECCE0F6D688793F4C2B0A8E06FE7 /* DateSpec.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F7DD1F4E731AF8A6657BC1FF675F6990 /* OWSReceiptsForSenderMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 25298C3DD02FE536BB1FB0F67D2235A0 /* OWSReceiptsForSenderMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F7ECE346766DE3F1E0E4418A6A326DDA /* YapDatabaseExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA9620A66CB7DBD3EC4B820FE087741 /* YapDatabaseExtension.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F7EF24780C12DED70A4E1F306CA0DC63 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5276375AF137175266E8DFDB6EA9FD45 /* QuartzCore.framework */; }; + F7F4B9F83E5F4DCF07D25994D4EE4FF3 /* JSONDecodingOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19CE377719EAD85764DDB0AD135DA76D /* JSONDecodingOptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F806E243B843D7830F538223C0226D90 /* GroupUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3671B0076EE881EFACA93B6D27CC6EEC /* GroupUtilities.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F8219AF9AAF5CAD77F39D2690702FFBC /* ReverseDispatchQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18CD8C27C639D881E9EBB7AB8E529F6F /* ReverseDispatchQueue.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F83949D747B517DC0EB0F249B3F80787 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DB93A939681345D9AE378145026133 /* NSNotificationCenter+AnyPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F879E5AD3783A1B266998182682C89BC /* SQLCipher.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15EAF1EC54113702F786CAF05A5D500B /* SQLCipher.framework */; }; + F8B5EE5436D4E61B0AF8BD7734096F8D /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1130C5962C391DBBCA497C3CAEA7F5AF /* PKCS7Padding.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F924704F948094EA7DB8AF59EEA54D11 /* MediaTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 603D743D57375F04CD1A96E97BA3A1CB /* MediaTitle.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F933E8A801D140AFFB85B75D4582110F /* SignalCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */; }; + F948C7C708E5994DCD5B9D43D682D132 /* RatchetingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BB5CD9DE2D0E219FAD64860EAF962EA /* RatchetingSession.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F952EA6F87D9EA5442AF36737F08E372 /* crypto_hash_sha512.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D9EDCC3B2663831208DA023513E846A /* crypto_hash_sha512.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F97C0DF34B65F826A28F71FB70023BA3 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2118CA94270DFA4D5811B592B9F68B7 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F986F2CA95FF0ACE8F60BAF3D37C2E63 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 514CDE68295847C799C345EDC7F083A0 /* fwd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F99DD3F9F33C9CE1F2CF3CB2B6221820 /* ge_p3_to_p2.c in Sources */ = {isa = PBXBuildFile; fileRef = 1C5EFBE3E4E80A2E81B03833B7728528 /* ge_p3_to_p2.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F9C0B50798A4419CEB73C26C68C65D02 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = BA59EB966E125F8F3D7EE13CDC287052 /* PromiseKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F9FC71B1B1461C37ADF14A8C23973399 /* MediaHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4CAA212BA015C00D7AA7E6503CAC516 /* MediaHash.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FA2D86C3FDD4D998B17C033A67F052BF /* OWSReadReceiptsForLinkedDevicesMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0163E90A2BFBA082726C2AE63CE4F5AA /* OWSReadReceiptsForLinkedDevicesMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FA9DF62A0E426882440001214467D8DE /* ProvisioningProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6585AE35FE7C15FDE771F6281AC138DC /* ProvisioningProto.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FAB10F6C8CBB44FED7D6B4BABF4E6E64 /* YapDatabaseSecondaryIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E5F91823AF80EBC2FE1640634D91EDD /* YapDatabaseSecondaryIndex.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FAE41BC269BF220E1724D4D3FC392A63 /* NBPhoneMetaData.m in Sources */ = {isa = PBXBuildFile; fileRef = AAC299CEFB12B494047110B15F0AB495 /* NBPhoneMetaData.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FB166D4E7DE7FAED0EEC7624E28C76CA /* YapDatabaseTransaction+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = AE6735D2A0D744A15BA25DF093F85642 /* YapDatabaseTransaction+OWS.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FB8F1E72937C9C366DBA1CD1EFC94815 /* HKDFKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 92772AF150EF98B4B4F2167D6C6BB03D /* HKDFKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FBD7A001D1D66289A001E660392991EA /* TSNetworkManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E8052EE21BA2EC950A714EC10062CAF8 /* TSNetworkManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FC1D744F401EA05A255133F6FE2AA290 /* OWSOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = B4415AC40425F73B397D9F56207F5DC7 /* OWSOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FC7CB7831949D28CCB75358EBCB59592 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3A02FBBD251AC9DBBC0B9F77EAAB4E3 /* SystemConfiguration.framework */; }; + FC937AADE7E74F97A3A7C52A8FD86645 /* RSSFeedSkipDay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 446998CD50E0AD19EF3ADAB0E931744F /* RSSFeedSkipDay.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FCAD5BA21802271698AFBF002DAC0846 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 219C80C5FD410C6674EE86E239287AFD /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FCF308B86160B5B790D86B002E87DF6E /* SignalServiceKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 39898C52C56BE2393B9B8E0CA9F32A29 /* SignalServiceKit.framework */; }; + FDB572852E1856FF0DA8B4E6A344C7A8 /* PreKeyBundle+jsonDict.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CC0EBF585B2AA1ED345487940A70D2A /* PreKeyBundle+jsonDict.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FDBC057CA7C7A02B6E8D91D47F7A964C /* SCKSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC9919CDBA3BFAFDFC15C0E47B71D276 /* SCKSwiftTests.swift */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FDF83C4B28457A0B5D7982B86C55B8B6 /* portuguese.txt in Resources */ = {isa = PBXBuildFile; fileRef = 38AFAABE95F5BD3C2293A4343A40C45C /* portuguese.txt */; }; + FE2581FE21F01A79E67111C8A8B5646F /* YapDatabaseExtensionTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = B9DC6D8A79AB584380A675B3F0D4521C /* YapDatabaseExtensionTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FE77E93A3582BA64761611C0FAE9E3EC /* mz_crypt_apple.c in Sources */ = {isa = PBXBuildFile; fileRef = 78BB599DE73371331D76A943E93D4474 /* mz_crypt_apple.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FE7E6D18A934DDFDCEC7E9AE50E30171 /* Ed25519.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0905C320337DC047221852AF36981864 /* Ed25519.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FEDCA75B992827E5B6A13B96A224D662 /* ge_p1p1_to_p2.c in Sources */ = {isa = PBXBuildFile; fileRef = 581767C683DD6DAF71DF30E5B60E919E /* ge_p1p1_to_p2.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FF3FC40958D31C85EFA05AB178FC599B /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C98D31E99928753FE5479A771F7500A9 /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FF3FF46BC00A0FF8864ABE838C04446A /* OWSPrimaryStorage+Calling.m in Sources */ = {isa = PBXBuildFile; fileRef = EAA2F8C2B86AD435A6A975EF9FE16C82 /* OWSPrimaryStorage+Calling.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FF52D80E16396909E6AD1933220A0034 /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = 8012E7090FE443E44D90F18BA1CF435D /* join.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FF6E14EB90B2C528D17FD9DC6CABC744 /* OWSSyncGroupsRequestMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C31B43EE49AA7AF612F3D446D3FD0FB /* OWSSyncGroupsRequestMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FF8F6DE4FDBA03FBC9801F7BF4535CDF /* OWSBackgroundTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CDF994136FB1FD5AF87D5B5E96F4818 /* OWSBackgroundTask.m */; settings = {COMPILER_FLAGS = "-fcxx-modules -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FF9103B924393B74DEAD5181D5769B71 /* ReceivingChain.h in Headers */ = {isa = PBXBuildFile; fileRef = 34A7647FF725F0FABF71A8AF21E60EB6 /* ReceivingChain.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FFBBBA18B4A48C3DCE8E3EF7704F5D1C /* ZipArchive.h in Headers */ = {isa = PBXBuildFile; fileRef = 91BE9156CC6AF11874ED382ACB8332FD /* ZipArchive.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FFF07F859063B39F2DBBDC04B675F04C /* OWSOutgoingReceiptManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 28327AAB94759E77CCEE71DD4BF07C0C /* OWSOutgoingReceiptManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0129263969343A547EE6E7BF2C4681E0 /* PBXContainerItemProxy */ = { + 01F89D74FD6F8A111166F39EBC94FB96 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = 2C37A63BCEE15E2B9E8FB9A18C9671FF; + remoteInfo = AFNetworking; }; - 033C50397BE5E9ED2F16B69137FA7C6E /* PBXContainerItemProxy */ = { + 02E5FFFF879E16C7A1CE39DDBDAFBECA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FD3E2BCC4A30BA3FE5BE9076863CB3C7; - remoteInfo = AxolotlKit; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; }; - 07AC4CBE9D60D74B6AFF338B93FA72B3 /* PBXContainerItemProxy */ = { + 033DC7B5E1E9B949570985F08DBA616F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = B2DB9200FF6BA441B3CCBBAC63D08884; + remoteInfo = YYImage; }; - 0862D53F1AC0F12040C02F30125857AB /* PBXContainerItemProxy */ = { + 0462F98299E573A06727BF7D36A84F8B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = BEB8EF499C0BAE48764C4B2C4423D2F6; - remoteInfo = SAMKeychain; + remoteGlobalIDString = B2DB9200FF6BA441B3CCBBAC63D08884; + remoteInfo = YYImage; }; - 087BFA01F4FEF5F577ED17AD1F49623A /* PBXContainerItemProxy */ = { + 04684716E0C6F66170CF291E5E8F3D14 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = B2DB9200FF6BA441B3CCBBAC63D08884; + remoteInfo = YYImage; }; - 0B24070E25691BB8F3E88BB617B5871E /* PBXContainerItemProxy */ = { + 0734184140C6BEB85ECC60977FF342D1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; remoteInfo = CocoaLumberjack; }; - 0DFE29CDA30FFD3C293114617D5DBA4D /* PBXContainerItemProxy */ = { + 07EBA61027643E2211C63021245EEF4A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 41534CD75578C922D789F429B9933B2A; - remoteInfo = PromiseKit; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - 136FDA2312840E6612D55557BE7C1564 /* PBXContainerItemProxy */ = { + 086716F1634A9497689D726A7240259D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; + remoteInfo = SwiftProtobuf; }; - 13F3E93D262D236F3D668FEBC6EADA65 /* PBXContainerItemProxy */ = { + 086B99303AE02C7E56A7F5E3CC90D4F1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - 143D55F507BD27D11CD79D079ABC9A2B /* PBXContainerItemProxy */ = { + 0CF4DDE57050E98EF09A42E7DF4498DF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = 8362105D5E1254A82E4BA3875F887F0E; + remoteInfo = PromiseKit; }; - 14F669772AE7A2B49D078FA301A54862 /* PBXContainerItemProxy */ = { + 12275D4A4A233CA09FE229D614950BF3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2A52F930E1C3719EB6B4BB97D04119F0; - remoteInfo = SwiftProtobuf; + remoteGlobalIDString = 56FEAC3FCA8ADA9B6D3602FBA38B2527; + remoteInfo = SignalServiceKit; }; - 15E339E299A9D743BBB357A57DB4EBBC /* PBXContainerItemProxy */ = { + 124A07DC91DAC4E2768A9DE7331EE698 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D45B4BF290020065251511F935D72F2C; - remoteInfo = PureLayout; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - 199F570D0E6C792D6E00379CBA3F099F /* PBXContainerItemProxy */ = { + 136C6EFE9914444289ADAD765BD0C23A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D6415F93B1D7822CD9481CA39BDFAF11; - remoteInfo = Mantle; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - 1E62FD0EFED2AD5C10902F350D6F94E6 /* PBXContainerItemProxy */ = { + 140910159E98A05D38ED9C190B6743B7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2A52F930E1C3719EB6B4BB97D04119F0; - remoteInfo = SwiftProtobuf; + remoteGlobalIDString = 72CE0781BEB6863039B2996AC3C4B250; + remoteInfo = FeedKit; }; - 1E8448655E300D6AA799B1D10BAC8495 /* PBXContainerItemProxy */ = { + 14582C7DEC2842E74320566EF3A78712 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 41534CD75578C922D789F429B9933B2A; - remoteInfo = PromiseKit; + remoteGlobalIDString = 8D899A7512B8E2CAD748A9EBE5DAB484; + remoteInfo = CryptoSwift; }; - 23D8A4AD61AC8809EB4D2757BD9063DD /* PBXContainerItemProxy */ = { + 151170C008DCACCECCC3CE22CACAD1FB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = ECF39F39AC4DF15F4033529C8A8190E5; - remoteInfo = GCDWebServer; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; + remoteInfo = SwiftProtobuf; }; - 2554843D13539A767436425ED0FC8F13 /* PBXContainerItemProxy */ = { + 158F778512EE303C5F270F366307D410 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = 3524814E42E299FFBA2F6FA82E436DD4; + remoteInfo = Reachability; }; - 29A7B92658F9FA744C9EE3BB9120A811 /* PBXContainerItemProxy */ = { + 171A0FC3E2D3631D39C8725D1F62201B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = BEB8EF499C0BAE48764C4B2C4423D2F6; - remoteInfo = SAMKeychain; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; }; - 29F84941355B37071900E0FE5D8D7968 /* PBXContainerItemProxy */ = { + 1A2BAFFF46EA9A230DE2B4358330D886 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D877F182D6C04FC1D220EA2B9768A622; - remoteInfo = SQLCipher; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - 2BE2DFB6676B0C0F46489FCF3A12C967 /* PBXContainerItemProxy */ = { + 1C83813CCDAD703CBDE36FAECE195BEB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = 5E1CA8DF6C68BB9B63134EB9BA3CB8EF; + remoteInfo = "Pods-Signal"; }; - 2BF60CF79D4D04FA69C12D9D3AD4BD32 /* PBXContainerItemProxy */ = { + 1F585D61B71E03C762CF66F65927EF38 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = 0273105E5C2FE9ECC03D5AD8ACC0CC21; + remoteInfo = FirebaseCore; }; - 2C2A58966E4D3F5C10221AECDBB0B49B /* PBXContainerItemProxy */ = { + 1FE31BCBFBBA535F94E5641A444C73FF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 1FAF6137A1568F1846807A8A28D8C3D9; - remoteInfo = Reachability; + remoteGlobalIDString = 393F81D254FDCBBA782ED7224542A956; + remoteInfo = SQLCipher; }; - 2C487853D02871F779B171E21B1DCAEB /* PBXContainerItemProxy */ = { + 2610419EAE7AEC467142379137F691CB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9BD1D084788925526680BE28E517A85A; - remoteInfo = SignalMetadataKit; + remoteGlobalIDString = 02AD8789483D0C881D9CCA5ABB184877; + remoteInfo = Mantle; }; - 2DD1005AAF22ABFB9705C3DAEC81F01A /* PBXContainerItemProxy */ = { + 26BE19BE8DD00052C2AB62765866A753 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; - remoteInfo = HKDFKit; + remoteGlobalIDString = 56FEAC3FCA8ADA9B6D3602FBA38B2527; + remoteInfo = SignalServiceKit; }; - 2DD8B22E2F12B4EA1D04C8743AF27FFA /* PBXContainerItemProxy */ = { + 2A047E8ABE37803D3293EDD633B5684D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 45912FCC22A1728F871BB6ED08546686; - remoteInfo = YapDatabase; + remoteGlobalIDString = C2082525912BAB9EE6776B67914FAE3D; + remoteInfo = SAMKeychain; }; - 2DDD15C9891C694C7B3F163A8641DD41 /* PBXContainerItemProxy */ = { + 2A0EB108FCEA66A2C5CD28C3A18CAF80 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 7FA3555E24406A2581210A6508CA2F60; - remoteInfo = YYImage; + remoteGlobalIDString = 9BD6ECD0418ADCD6F18C45FA8DA2E165; + remoteInfo = YapDatabase; }; - 2E03C7356CC176CF482201469A6929B2 /* PBXContainerItemProxy */ = { + 2A8096C19029B3AFA12E18822D080999 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A16588799C7A0AB3A5ACEF8339CCB8BC; - remoteInfo = SignalServiceKit; + remoteGlobalIDString = 02AD8789483D0C881D9CCA5ABB184877; + remoteInfo = Mantle; }; - 30E6194B865A5EC0FD873E78A9398392 /* PBXContainerItemProxy */ = { + 2AFD5AF8C58A9857C1C0D345A1395836 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D6415F93B1D7822CD9481CA39BDFAF11; - remoteInfo = Mantle; + remoteGlobalIDString = 56FEAC3FCA8ADA9B6D3602FBA38B2527; + remoteInfo = SignalServiceKit; }; - 30EBA7F335F8E37A8EA237CB549B5D11 /* PBXContainerItemProxy */ = { + 2C6B0A5264F53B13ED7358769B772C70 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = BEB8EF499C0BAE48764C4B2C4423D2F6; - remoteInfo = SAMKeychain; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - 32FE281D6BD0B942B623058FE1BE0B26 /* PBXContainerItemProxy */ = { + 2D95855A7DC7BB516EF20F153B2B36A5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = E9846A58E29BC524F26ACBD37F42AB9B; + remoteInfo = "libPhoneNumber-iOS"; }; - 338562FF6E996EFF6172CCB98EE09D31 /* PBXContainerItemProxy */ = { + 30A70579A1DE0D491BA33647C6D87D99 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = CE33B6750794D443498A98ED3243676B; - remoteInfo = AFNetworking; + remoteGlobalIDString = 462AC13EC68E19388E93FBAD92C6E444; + remoteInfo = PureLayout; }; - 36C741F99CB484527955592368E1F741 /* PBXContainerItemProxy */ = { + 3216F1FD0AEBF5D5907415047B7FA9F9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FD3E2BCC4A30BA3FE5BE9076863CB3C7; - remoteInfo = AxolotlKit; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - 37A116F882BF5703A744225C0D29D976 /* PBXContainerItemProxy */ = { + 327819E11B7C076A7384C0DADBC78D32 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2A52F930E1C3719EB6B4BB97D04119F0; - remoteInfo = SwiftProtobuf; + remoteGlobalIDString = 56FEAC3FCA8ADA9B6D3602FBA38B2527; + remoteInfo = SignalServiceKit; }; - 3A359374325D3EC16EF1702882B6B7C4 /* PBXContainerItemProxy */ = { + 336239F8F237342CA206F38A41DBE841 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 41534CD75578C922D789F429B9933B2A; - remoteInfo = PromiseKit; + remoteGlobalIDString = 2C37A63BCEE15E2B9E8FB9A18C9671FF; + remoteInfo = AFNetworking; }; - 3BCFC101756185B804CD83AC0CFD726E /* PBXContainerItemProxy */ = { + 370F78E43122C2344CC0DF8192F8EB36 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; - remoteInfo = HKDFKit; + remoteGlobalIDString = 8362105D5E1254A82E4BA3875F887F0E; + remoteInfo = PromiseKit; }; - 3C5222DBADF8EBAA9BBDA360772A571E /* PBXContainerItemProxy */ = { + 37235EA409402F65BF3DBF1C5F17A0A4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 49FAFF275E9A07AA126D6878881F91E5; - remoteInfo = "libPhoneNumber-iOS"; + remoteGlobalIDString = 9BD6ECD0418ADCD6F18C45FA8DA2E165; + remoteInfo = YapDatabase; }; - 3EC67ACAD8730306EB8B9BA02621362F /* PBXContainerItemProxy */ = { + 39CF48DB500B3DA5BEFC038911723B7E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 4FFAF1D1A73CB5CC1EB0364739D6FE18; - remoteInfo = "Pods-Signal"; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - 3F57CA27A4CA5181BEAAA02E3AEC9D86 /* PBXContainerItemProxy */ = { + 3AD173B06CDBEBDAB859D8A5DC031C64 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = BEB8EF499C0BAE48764C4B2C4423D2F6; - remoteInfo = SAMKeychain; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - 41A475ABCB54C03DCEB38B4566B9882A /* PBXContainerItemProxy */ = { + 3ADDB9F901EB749FDB523B8598B912BF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 09DE5267826842012EA747537263B74A; - remoteInfo = NVActivityIndicatorView; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - 42E92A33D44191E30BA5C5B498329318 /* PBXContainerItemProxy */ = { + 3C12C14991224615FB89DA8200EDCE79 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D6415F93B1D7822CD9481CA39BDFAF11; - remoteInfo = Mantle; + remoteGlobalIDString = 27B11AA96B1C65EADA079565268D1E14; + remoteInfo = Starscream; }; - 43E8D4A221911328B1EB1BFDE023885C /* PBXContainerItemProxy */ = { + 3DCD7456F74B2C814565ECC4468EA323 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D877F182D6C04FC1D220EA2B9768A622; - remoteInfo = SQLCipher; + remoteGlobalIDString = 3524814E42E299FFBA2F6FA82E436DD4; + remoteInfo = Reachability; }; - 44F875049BCC5E982E95D92276BE951B /* PBXContainerItemProxy */ = { + 3DF1725458AABD3B52567BADE99CFBF5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; + remoteInfo = SwiftProtobuf; }; - 4589154681E88D3EF8EC18F50B685E22 /* PBXContainerItemProxy */ = { + 3E08E96DBBCD3234215C6C1C1C9551EA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 1FAF6137A1568F1846807A8A28D8C3D9; - remoteInfo = Reachability; + remoteGlobalIDString = 462AC13EC68E19388E93FBAD92C6E444; + remoteInfo = PureLayout; }; - 47951A64C01369875C3D06A2724F2D27 /* PBXContainerItemProxy */ = { + 3E5AD5E7EF15C19E17217B2D25A9B65D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9FD977E8321FA670C8C84B8F85CAAA83; - remoteInfo = FeedKit; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - 48D033D0624BD7CEE175E2D15892AF3B /* PBXContainerItemProxy */ = { + 3EF525055E0E4DC099B5AB5E2AA6B04D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; - remoteInfo = HKDFKit; + remoteGlobalIDString = 2C37A63BCEE15E2B9E8FB9A18C9671FF; + remoteInfo = AFNetworking; }; - 4CA9E0AC038A637AC75E6D1393ABD7DC /* PBXContainerItemProxy */ = { + 4019DE7935A4C1B695ED9CB794AC0509 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2A52F930E1C3719EB6B4BB97D04119F0; - remoteInfo = SwiftProtobuf; + remoteGlobalIDString = 506354962CD5853118387855A2A03D73; + remoteInfo = NVActivityIndicatorView; }; - 4CB0257AFBC5FB1577D867B906C4E37A /* PBXContainerItemProxy */ = { + 40805E6F569D2DB9EC440795CA17C234 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0FE93AE50BEC033F25FA231851B0C90; - remoteInfo = CryptoSwift; + remoteGlobalIDString = 393F81D254FDCBBA782ED7224542A956; + remoteInfo = SQLCipher; }; - 4D264DBD233F5C8E4F1F81EEAD501834 /* PBXContainerItemProxy */ = { + 41573C53A114F44CDA2391FFD45D3693 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 395A10739A240BAC3C8F54353EFCED90; - remoteInfo = FirebaseCore; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - 4E605ED645108D2541CBCC6EAACD6EC5 /* PBXContainerItemProxy */ = { + 42DA7BA9B0A4CED98CB66636DE870B71 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - 511C5C007B9B8E4942CB7BD256FEE112 /* PBXContainerItemProxy */ = { + 433FA1373D5AA9DCD925F731B93EC3D1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D877F182D6C04FC1D220EA2B9768A622; - remoteInfo = SQLCipher; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - 551A82AAFB9B414AF25578EC004A727E /* PBXContainerItemProxy */ = { + 450D9994D4C544A7D904BF0334109A97 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 49FAFF275E9A07AA126D6878881F91E5; - remoteInfo = "libPhoneNumber-iOS"; + remoteGlobalIDString = 7BE161B1BFC0D58A73E980CE09E30805; + remoteInfo = GoogleUtilities; }; - 560DC0B4F3E4E171CE1E1E92C5EEFE1A /* PBXContainerItemProxy */ = { + 458C308FABE3762F718D29B558704936 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = C2082525912BAB9EE6776B67914FAE3D; + remoteInfo = SAMKeychain; }; - 588EDA29FAFDC5D8BB96D3025DF30F48 /* PBXContainerItemProxy */ = { + 45CF1B43335339CB186A7C652FF23A2C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = 7BE161B1BFC0D58A73E980CE09E30805; + remoteInfo = GoogleUtilities; }; - 58CB8003F11AF4A4768A7132E8089353 /* PBXContainerItemProxy */ = { + 4A8A90F59AD42C26901C2D80DF71FDE4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 1FAF6137A1568F1846807A8A28D8C3D9; + remoteGlobalIDString = 3524814E42E299FFBA2F6FA82E436DD4; remoteInfo = Reachability; }; - 5A2AF2FA9A2192F3A3B77A67628C34E0 /* PBXContainerItemProxy */ = { + 4B2C74AD9E21D473747039DB8FF65B63 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; - remoteInfo = HKDFKit; + remoteGlobalIDString = E9846A58E29BC524F26ACBD37F42AB9B; + remoteInfo = "libPhoneNumber-iOS"; }; - 5B5C3797976379E5142BF277B4C61DE2 /* PBXContainerItemProxy */ = { + 550CC5EB8EC0517642DF4A7521859429 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = 27B11AA96B1C65EADA079565268D1E14; + remoteInfo = Starscream; }; - 5C78133F9CD115CB20D1395F705E8F0E /* PBXContainerItemProxy */ = { + 59EA33AC54CF26470DACBCE6F107A764 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9BD1D084788925526680BE28E517A85A; - remoteInfo = SignalMetadataKit; + remoteGlobalIDString = 02AD8789483D0C881D9CCA5ABB184877; + remoteInfo = Mantle; }; - 5D13B2EBC18843F8F7B7BB8A063F011F /* PBXContainerItemProxy */ = { + 5A60798C51DB84D5468594B4EB8CA4DD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9BD1D084788925526680BE28E517A85A; - remoteInfo = SignalMetadataKit; + remoteGlobalIDString = 9BD6ECD0418ADCD6F18C45FA8DA2E165; + remoteInfo = YapDatabase; }; - 5FF54C78E2D4FF729D5F20F996F266BE /* PBXContainerItemProxy */ = { + 5B27F3F05DEE5346E79F11F15B1EF82F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 96E0FF0842268DE2B90280E135C82C02; - remoteInfo = Mixpanel; + remoteGlobalIDString = E9846A58E29BC524F26ACBD37F42AB9B; + remoteInfo = "libPhoneNumber-iOS"; }; - 609F0005B9B783B90A115CA87E9EA1D0 /* PBXContainerItemProxy */ = { + 5B68380323029FDC576531CC64AD69CF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2A52F930E1C3719EB6B4BB97D04119F0; - remoteInfo = SwiftProtobuf; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - 636ED3F12A64F8F1EFD9D53815FB5969 /* PBXContainerItemProxy */ = { + 5B9A7CB4A771EF612C511C409FFF70EE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; }; - 647EE86B5C254F98D38FAD8C11C66DB6 /* PBXContainerItemProxy */ = { + 5BD4CEC3D6CF54768DE886B009907036 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = 8362105D5E1254A82E4BA3875F887F0E; + remoteInfo = PromiseKit; }; - 663ADA1F31E32562A2D79CA204871A5C /* PBXContainerItemProxy */ = { + 5C09E06015F2400F1A52A34F20FA9A23 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2A52F930E1C3719EB6B4BB97D04119F0; - remoteInfo = SwiftProtobuf; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; }; - 679769811246E4DD1611E5223BCE358C /* PBXContainerItemProxy */ = { + 5CC67F1B60F3A0E28A62F2C8BF632E59 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 1FAF6137A1568F1846807A8A28D8C3D9; - remoteInfo = Reachability; + remoteGlobalIDString = 393F81D254FDCBBA782ED7224542A956; + remoteInfo = SQLCipher; }; - 6846489CE7BBD084B249BDD297BE5399 /* PBXContainerItemProxy */ = { + 5D432DA2CDCB682661F44ACC4663FA19 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; remoteInfo = SignalCoreKit; }; - 6871BF67C02B1335A950B911C296E98D /* PBXContainerItemProxy */ = { + 5E2948A2D04F9CDC65F432205B6FF841 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D45B4BF290020065251511F935D72F2C; - remoteInfo = PureLayout; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - 6CC5D5DAF85FBBB018093EDAE6514005 /* PBXContainerItemProxy */ = { + 5EFE95FECEB131CA598CBE152B1D00C1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 45912FCC22A1728F871BB6ED08546686; - remoteInfo = YapDatabase; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; }; - 6F3F401D10AC5924F6A3BB16A3FC80E5 /* PBXContainerItemProxy */ = { + 60BE4E6B5DEA57AC70EBC151D0551F09 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 7FA3555E24406A2581210A6508CA2F60; - remoteInfo = YYImage; + remoteGlobalIDString = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7; + remoteInfo = SignalMetadataKit; }; - 70609134817239144CDC65309BC88331 /* PBXContainerItemProxy */ = { + 62E07839695137FF35E0CBEE4E0C3AE1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; }; - 7154EAEB951626A6CCA8CE4CA15464B7 /* PBXContainerItemProxy */ = { + 62EA2AE5694B34CA181A4393AB817218 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A16588799C7A0AB3A5ACEF8339CCB8BC; - remoteInfo = SignalServiceKit; + remoteGlobalIDString = 3524814E42E299FFBA2F6FA82E436DD4; + remoteInfo = Reachability; }; - 72E91921602F2614502672656C9E72E8 /* PBXContainerItemProxy */ = { + 64F89B66CB1C918104A052801E4D0985 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A16588799C7A0AB3A5ACEF8339CCB8BC; - remoteInfo = SignalServiceKit; + remoteGlobalIDString = A58193026B0062EA57758DBB1A791CD3; + remoteInfo = AxolotlKit; }; - 73061409475A14FC15DDAD9D4FB8E1EC /* PBXContainerItemProxy */ = { + 6696C86D0C1DA866DEF2953B4B8A4767 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D5B5BE38F50622E0DD7A08298EBC9BBA; - remoteInfo = Starscream; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; }; - 7494F9E396F2A606571BE5491D07CDE6 /* PBXContainerItemProxy */ = { + 68224192C5E44A8213FC7B3B2BA6820E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = A58193026B0062EA57758DBB1A791CD3; + remoteInfo = AxolotlKit; }; - 74EE5F66EFA32D1174F4F50443A95FA7 /* PBXContainerItemProxy */ = { + 688F639B74A7952E71C052911B87EF72 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = CE33B6750794D443498A98ED3243676B; - remoteInfo = AFNetworking; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; + remoteInfo = SwiftProtobuf; }; - 75D12B6EF40B991B70E95A5C09394957 /* PBXContainerItemProxy */ = { + 69B5C418EC3EE7FDA7EB87BB04C45B9A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = CE33B6750794D443498A98ED3243676B; - remoteInfo = AFNetworking; + remoteGlobalIDString = C2082525912BAB9EE6776B67914FAE3D; + remoteInfo = SAMKeychain; }; - 7890121DB5CBB1CDE0AD07B33495B06A /* PBXContainerItemProxy */ = { + 6B324703ACD31B19C7E1E11EDB90C01B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = 02AD8789483D0C881D9CCA5ABB184877; + remoteInfo = Mantle; }; - 7CB42A4B6FB35A8A115EF155D6401C0B /* PBXContainerItemProxy */ = { + 6E5ACBDC08C97AC3A8D149993E3AD092 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D877F182D6C04FC1D220EA2B9768A622; - remoteInfo = SQLCipher; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - 7D50C01A365D86365910425AE37ED220 /* PBXContainerItemProxy */ = { + 6F57524007598182940B1683337A4B20 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; - remoteInfo = HKDFKit; + remoteGlobalIDString = 27B11AA96B1C65EADA079565268D1E14; + remoteInfo = Starscream; }; - 7FE7A455513486CC41468E5DC3ED34A4 /* PBXContainerItemProxy */ = { + 6FF7F2805B1A766F0E1A0F42482BB029 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7; + remoteInfo = SignalMetadataKit; }; - 8430E92C8CD03500A6506090FF1378FF /* PBXContainerItemProxy */ = { + 73BFB9E96B5CC3B487A9060199D3A4E1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D877F182D6C04FC1D220EA2B9768A622; - remoteInfo = SQLCipher; + remoteGlobalIDString = 3524814E42E299FFBA2F6FA82E436DD4; + remoteInfo = Reachability; }; - 85133E66CEC5CB0A9794202647D9A40C /* PBXContainerItemProxy */ = { + 73FC23C4297E659476E58D1C22FC6D56 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = C2082525912BAB9EE6776B67914FAE3D; + remoteInfo = SAMKeychain; }; - 86315639ECA424292DCD12CDCF6C7E1D /* PBXContainerItemProxy */ = { + 74E736CEE25F811E8DAD365AF1F4A54E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; remoteInfo = SignalCoreKit; }; - 8749A5A7AF9F8425E4B856DD0572CEAF /* PBXContainerItemProxy */ = { + 77A7016B7E7DBD55D21E75CBC71B43ED /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = 8D899A7512B8E2CAD748A9EBE5DAB484; + remoteInfo = CryptoSwift; }; - 87C8F9C7278BDB56E7EF04A0426086FC /* PBXContainerItemProxy */ = { + 79F3371A3F5E556E3CE59D81FA68CC8D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7; + remoteInfo = SignalMetadataKit; }; - 8863AF217A2AFD933D82FE26771D6AAC /* PBXContainerItemProxy */ = { + 7B26A3C1354AF79A6E4138489C92B42C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; - remoteInfo = HKDFKit; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - 88F0B47DA2A85921DADB4D0E65AB61E8 /* PBXContainerItemProxy */ = { + 7C684355E959E7D81D868820763474E8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = 2C37A63BCEE15E2B9E8FB9A18C9671FF; + remoteInfo = AFNetworking; }; - 8D1A1AD49EB83647701E5763A97773DE /* PBXContainerItemProxy */ = { + 7F470A4D1D7F1B3885F794808CE9F651 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = CE33B6750794D443498A98ED3243676B; - remoteInfo = AFNetworking; + remoteGlobalIDString = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7; + remoteInfo = SignalMetadataKit; }; - 8DE5648E46B1FEB227E922638EAC521B /* PBXContainerItemProxy */ = { + 815187DEA8D7EB9ADAD9ACD82DB6461E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = BEB8EF499C0BAE48764C4B2C4423D2F6; - remoteInfo = SAMKeychain; + remoteGlobalIDString = 02AD8789483D0C881D9CCA5ABB184877; + remoteInfo = Mantle; }; - 8FB2EFEA521E9620525A67A5810C9518 /* PBXContainerItemProxy */ = { + 820103E5630A5BF71D4D2E00D832E3E4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FD3E2BCC4A30BA3FE5BE9076863CB3C7; - remoteInfo = AxolotlKit; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - 8FF2F7C2E63510A84692B7E5B36433BE /* PBXContainerItemProxy */ = { + 85DD73DCDFA2DC27C1C372831D9153B1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D5B5BE38F50622E0DD7A08298EBC9BBA; - remoteInfo = Starscream; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - 90084671DFB35AAD2B0F3879208D8629 /* PBXContainerItemProxy */ = { + 869E1DE9CEBD0B18A685C85758667106 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2A52F930E1C3719EB6B4BB97D04119F0; - remoteInfo = SwiftProtobuf; + remoteGlobalIDString = 8D899A7512B8E2CAD748A9EBE5DAB484; + remoteInfo = CryptoSwift; }; - 90A920ADE2EC174D5009D21DB0F79D97 /* PBXContainerItemProxy */ = { + 88D9A359D7268614B7413D69E654CBF7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = 462AC13EC68E19388E93FBAD92C6E444; + remoteInfo = PureLayout; }; - 935834592BFF604CAF96DCCE81CC4061 /* PBXContainerItemProxy */ = { + 89258340B4358A123C2192D4F496F391 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 49FAFF275E9A07AA126D6878881F91E5; - remoteInfo = "libPhoneNumber-iOS"; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; + remoteInfo = SwiftProtobuf; }; - 9511B870D4807B985C0758D1F09EC676 /* PBXContainerItemProxy */ = { + 894CA0B973BA28BC5EC3B7B1BC52F393 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; - remoteInfo = HKDFKit; + remoteGlobalIDString = 2C37A63BCEE15E2B9E8FB9A18C9671FF; + remoteInfo = AFNetworking; }; - 95FFB11A60485915E5FB63AC25D78648 /* PBXContainerItemProxy */ = { + 89CB93B86F845D500D19CDC0694D168B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FD3E2BCC4A30BA3FE5BE9076863CB3C7; - remoteInfo = AxolotlKit; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; }; - 96DC876BE32B97FD514FFF05BCE95E1A /* PBXContainerItemProxy */ = { + 8ADBD61FB839633A9CC38471864E1E8A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D6415F93B1D7822CD9481CA39BDFAF11; - remoteInfo = Mantle; + remoteGlobalIDString = 8D899A7512B8E2CAD748A9EBE5DAB484; + remoteInfo = CryptoSwift; }; - 9A02B89FC941247710907A108F296BD4 /* PBXContainerItemProxy */ = { + 8B06BC9F7DEEDB58A70A3D6DF5071EB3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = 2C37A63BCEE15E2B9E8FB9A18C9671FF; + remoteInfo = AFNetworking; }; - 9CD6DD51CFB182026BC60FAE062451FE /* PBXContainerItemProxy */ = { + 8C6325D51492047C0979BCAF526D26D7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2A52F930E1C3719EB6B4BB97D04119F0; - remoteInfo = SwiftProtobuf; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - 9E261E98CB56668A8425B94F40EC712D /* PBXContainerItemProxy */ = { + 8CBCBB8491E45F788B9A81DBBC80873B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A16588799C7A0AB3A5ACEF8339CCB8BC; - remoteInfo = SignalServiceKit; + remoteGlobalIDString = 3524814E42E299FFBA2F6FA82E436DD4; + remoteInfo = Reachability; }; - A4135C545228B7D8FCE05872377B8ED1 /* PBXContainerItemProxy */ = { + 8E724737856B675A9FD984E5EA78B166 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FD3E2BCC4A30BA3FE5BE9076863CB3C7; - remoteInfo = AxolotlKit; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - A4941A86BD1B610E47CA5918F8ADE09A /* PBXContainerItemProxy */ = { + 8EACABD5C8735E975778F51EC5541A7C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = 2C37A63BCEE15E2B9E8FB9A18C9671FF; + remoteInfo = AFNetworking; }; - A4D7C68FB0FF7691E492D518F7883C5F /* PBXContainerItemProxy */ = { + 8FC298086A68EC17482ECAA206CC73FF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FD3E2BCC4A30BA3FE5BE9076863CB3C7; - remoteInfo = AxolotlKit; + remoteGlobalIDString = 8362105D5E1254A82E4BA3875F887F0E; + remoteInfo = PromiseKit; }; - A52DEBC9E50B05CFFAD904181EE66865 /* PBXContainerItemProxy */ = { + 91727D807F6FBE206C82BAA4DF745EE1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 49FAFF275E9A07AA126D6878881F91E5; - remoteInfo = "libPhoneNumber-iOS"; + remoteGlobalIDString = 27B11AA96B1C65EADA079565268D1E14; + remoteInfo = Starscream; }; - A98CF7E0A964FC0D041169EB3E23BB17 /* PBXContainerItemProxy */ = { + 91A788D20661D2429AA738DAAE6FD9FE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 92CA30D42B7F2C151CBCF42BE7146BEC; - remoteInfo = GoogleUtilities; + remoteGlobalIDString = 5783A6B91DBF889771EAA03EC02E2842; + remoteInfo = GCDWebServer; }; - A9980C51A66BA65B8A95B46C35DD4501 /* PBXContainerItemProxy */ = { + 91BD89C01CB683E182DA485727A775FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D5B5BE38F50622E0DD7A08298EBC9BBA; - remoteInfo = Starscream; + remoteGlobalIDString = 02AD8789483D0C881D9CCA5ABB184877; + remoteInfo = Mantle; }; - AAF36713DAF5A7A701B6DB993FDA3F80 /* PBXContainerItemProxy */ = { + 932F5C8AA2F54E5CEF75065017AAA783 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FD3E2BCC4A30BA3FE5BE9076863CB3C7; - remoteInfo = AxolotlKit; + remoteGlobalIDString = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7; + remoteInfo = SignalMetadataKit; }; - B10CA05BFE8FF06E6093D2143C218C54 /* PBXContainerItemProxy */ = { + 94A0657092D69CD6359F167351E11C9E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; remoteInfo = CocoaLumberjack; }; - B55A6E4EB6CD6741D3FC9BBBDC520CD1 /* PBXContainerItemProxy */ = { + 96B57EF1877884464390DA9198AD43CD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7; + remoteInfo = SignalMetadataKit; }; - B74265BCA4403AF9AD8984B3C754510A /* PBXContainerItemProxy */ = { + 97660F44DADC8A50C3DB02E395E2A9EC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = CE33B6750794D443498A98ED3243676B; - remoteInfo = AFNetworking; + remoteGlobalIDString = 9BD6ECD0418ADCD6F18C45FA8DA2E165; + remoteInfo = YapDatabase; }; - B915CC190874B69E00DD5EE0C79029CE /* PBXContainerItemProxy */ = { + 985AC78EE87847118E57CC77AAD2059F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; - remoteInfo = HKDFKit; + remoteGlobalIDString = B2DB9200FF6BA441B3CCBBAC63D08884; + remoteInfo = YYImage; }; - BCBC5F2C7B513ADE7D75F605361065A0 /* PBXContainerItemProxy */ = { + 98EDDFDC6874283AEB7C5E26CBF9B98F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 49FAFF275E9A07AA126D6878881F91E5; - remoteInfo = "libPhoneNumber-iOS"; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - BE07E0A08A15B5F3F7311B69106AAC30 /* PBXContainerItemProxy */ = { + 991F436A16AD4A48177A161782A407B4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EF5739B62546C471AFE69E4DF4D2B9FC; - remoteInfo = SSZipArchive; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - BE4DBD66B5B60660E95679A90C0F1816 /* PBXContainerItemProxy */ = { + 9A12621A34E268B505E68F9253324E1A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 45912FCC22A1728F871BB6ED08546686; - remoteInfo = YapDatabase; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - C2A3B96E96FF8CC5743CCCD220F6817F /* PBXContainerItemProxy */ = { + 9D709E34685E5161430A455A2D9613A8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2A52F930E1C3719EB6B4BB97D04119F0; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; remoteInfo = SwiftProtobuf; }; - C3EF66C74D3F91A1B3AA189BB7DEE1E5 /* PBXContainerItemProxy */ = { + 9D946489CE50965CE121EFBD47876020 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D5B5BE38F50622E0DD7A08298EBC9BBA; + remoteGlobalIDString = 27B11AA96B1C65EADA079565268D1E14; remoteInfo = Starscream; }; - C536E4747902DD8F646C4FFF923EF110 /* PBXContainerItemProxy */ = { + 9E4145EE14DC7CF27CE2C6EEDADAC0A2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = 393F81D254FDCBBA782ED7224542A956; + remoteInfo = SQLCipher; }; - C9377FAEA1AE362C3F4218944528A242 /* PBXContainerItemProxy */ = { + 9F5085A5708DFF55B8A350E2EF4DD63F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 1FAF6137A1568F1846807A8A28D8C3D9; + remoteGlobalIDString = 3524814E42E299FFBA2F6FA82E436DD4; remoteInfo = Reachability; }; - CAF49A4C086105718AFF394406458E44 /* PBXContainerItemProxy */ = { + A6A0A740AB8D54404C1807E10D3CEDE2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D45B4BF290020065251511F935D72F2C; - remoteInfo = PureLayout; + remoteGlobalIDString = EB3BB3DB5FB7894F89A14F20154E690B; + remoteInfo = SSZipArchive; }; - CB79463D8150B82CEFADCCEF72CA4D57 /* PBXContainerItemProxy */ = { + A8AFCE1C2499201F31CD355A28E46795 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0FE93AE50BEC033F25FA231851B0C90; + remoteGlobalIDString = 8D899A7512B8E2CAD748A9EBE5DAB484; remoteInfo = CryptoSwift; }; - CCA2F4941BF109B1FFB5F63CDDE50D3E /* PBXContainerItemProxy */ = { + A8E85A9D363D05CC82C1D8378C6BE068 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = E9846A58E29BC524F26ACBD37F42AB9B; + remoteInfo = "libPhoneNumber-iOS"; }; - D127729C9AE2CA9641A6466E4A8F52C5 /* PBXContainerItemProxy */ = { + A9144FF2B11E786C39F737F6CF6701AE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D5B5BE38F50622E0DD7A08298EBC9BBA; - remoteInfo = Starscream; + remoteGlobalIDString = 8362105D5E1254A82E4BA3875F887F0E; + remoteInfo = PromiseKit; }; - D19DF3D7153117B1C3ABBA1F3E7360FC /* PBXContainerItemProxy */ = { + AB03066E2B666633766B6515C1AF5F66 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0FE93AE50BEC033F25FA231851B0C90; - remoteInfo = CryptoSwift; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - D2FA8194001095A30CC49B9534F611E6 /* PBXContainerItemProxy */ = { + AEB82BBFD29A8FD357F7EAD0D431EA06 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - D67DE7B2B4ED24A90ABDA1CBC2052D54 /* PBXContainerItemProxy */ = { + B2BB04C4B50264AF51CDF67C45A96A39 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A61F72B3CE9BE866910A2604238DD64F; - remoteInfo = SignalCoreKit; + remoteGlobalIDString = A58193026B0062EA57758DBB1A791CD3; + remoteInfo = AxolotlKit; }; - D71E111998BF987CF39632FDC4697C51 /* PBXContainerItemProxy */ = { + B2C66AEC6EB8BDAD9AAC06AD84127DDC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; remoteInfo = CocoaLumberjack; }; - D737549A0B79C44E0AA9C96F73A77945 /* PBXContainerItemProxy */ = { + B37F2D3FEC979B987785722F86A046E3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 7FA3555E24406A2581210A6508CA2F60; - remoteInfo = YYImage; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - D83646D1F8728B77BDDE942C52B2AE8D /* PBXContainerItemProxy */ = { + B4C08A59A2160E824BDA67941F002E25 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 49FAFF275E9A07AA126D6878881F91E5; - remoteInfo = "libPhoneNumber-iOS"; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; + remoteInfo = SwiftProtobuf; }; - D98CEEC41804A9AFB4F916DC888FA6FD /* PBXContainerItemProxy */ = { + B5B81303B4C80AC1E0CF5B2458AF83AB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = CE33B6750794D443498A98ED3243676B; - remoteInfo = AFNetworking; + remoteGlobalIDString = 27B11AA96B1C65EADA079565268D1E14; + remoteInfo = Starscream; }; - D9E69700FE4F1A4B3F64EFE0B59D2E1E /* PBXContainerItemProxy */ = { + B71DEA8C78D91C386B8D22992F46EDF3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D6415F93B1D7822CD9481CA39BDFAF11; - remoteInfo = Mantle; + remoteGlobalIDString = 56FEAC3FCA8ADA9B6D3602FBA38B2527; + remoteInfo = SignalServiceKit; }; - DAC680956E299F0BF88BD50EBE403245 /* PBXContainerItemProxy */ = { + B79AC1E34ADB35A33B5F86531970334F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = C2082525912BAB9EE6776B67914FAE3D; + remoteInfo = SAMKeychain; }; - DC5D19C14CB0EFD1F6AA750285D00386 /* PBXContainerItemProxy */ = { + B9A58EB2862BF7A4028A7F6B30FBFF8A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D5B5BE38F50622E0DD7A08298EBC9BBA; - remoteInfo = Starscream; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; + remoteInfo = SwiftProtobuf; }; - DCDF26969DB07D9142965B90D0272318 /* PBXContainerItemProxy */ = { + C3236550A3290DE388E24D2D2D49A398 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0FE93AE50BEC033F25FA231851B0C90; - remoteInfo = CryptoSwift; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - DD1695353995C42856AAD6068A23D9CA /* PBXContainerItemProxy */ = { + C3E0F70F8639DDAC5151EE9288FFDAEF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 45912FCC22A1728F871BB6ED08546686; - remoteInfo = YapDatabase; + remoteGlobalIDString = A58193026B0062EA57758DBB1A791CD3; + remoteInfo = AxolotlKit; }; - DD3E1C2DA47DF9EC3D8B32FB5B66788F /* PBXContainerItemProxy */ = { + C426D08CB696C28C2FBC2B33E22B284C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 14B9B654F42402AD0BFAD11B86AEB1D1; - remoteInfo = Curve25519Kit; + remoteGlobalIDString = 462AC13EC68E19388E93FBAD92C6E444; + remoteInfo = PureLayout; }; - DD5B8CB45A4A46DBDD04E224297B3CC7 /* PBXContainerItemProxy */ = { + C7A0955C04DCFA24D9E0054CCDB1B527 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D877F182D6C04FC1D220EA2B9768A622; - remoteInfo = SQLCipher; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; }; - DD735AB4184EC760408173B9413D83C5 /* PBXContainerItemProxy */ = { + C7D42D9B8AB0731A5895F6645D369F9D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 7FA3555E24406A2581210A6508CA2F60; - remoteInfo = YYImage; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; + remoteInfo = SwiftProtobuf; }; - DD9780238083753954403B4887095DA0 /* PBXContainerItemProxy */ = { + C9829CDC4A28A3C627C35FDBD46471AF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 92CA30D42B7F2C151CBCF42BE7146BEC; - remoteInfo = GoogleUtilities; + remoteGlobalIDString = E9846A58E29BC524F26ACBD37F42AB9B; + remoteInfo = "libPhoneNumber-iOS"; }; - E1AFF2D3C7DCD68D758A679612867CC0 /* PBXContainerItemProxy */ = { + C9DB9ACDDF27E14B34A50221499A5D0F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = A58193026B0062EA57758DBB1A791CD3; + remoteInfo = AxolotlKit; }; - E27D071A6A44020F81E849E98B587008 /* PBXContainerItemProxy */ = { + C9FDCA27780B1BD5C0A8CBEB5484D3E0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A16588799C7A0AB3A5ACEF8339CCB8BC; - remoteInfo = SignalServiceKit; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; + }; + CB945E466B25D991DDC0047A3BF73A8E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7; + remoteInfo = SignalMetadataKit; + }; + CBAFDDD29FB5785FAA264B1F92D6E08A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 56FEAC3FCA8ADA9B6D3602FBA38B2527; + remoteInfo = SignalServiceKit; }; - E2DC9C4C0B1D87C816DDAD570B2AB4EB /* PBXContainerItemProxy */ = { + CC3D118A8B600C1FBFC64A5B9DAC03D3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; remoteInfo = HKDFKit; }; - E6C8DF5BB3A532874EF92CE3E7BD8FE0 /* PBXContainerItemProxy */ = { + CC419FDC316CE16B625C2EECEAE4798A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 41534CD75578C922D789F429B9933B2A; - remoteInfo = PromiseKit; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; }; - E8BB36EC2107DD7E9CA41FF494F89D33 /* PBXContainerItemProxy */ = { + CF5B180C726AC0A997B323C59316EBD2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D45B4BF290020065251511F935D72F2C; - remoteInfo = PureLayout; + remoteGlobalIDString = E9846A58E29BC524F26ACBD37F42AB9B; + remoteInfo = "libPhoneNumber-iOS"; }; - EAA8AE47389B4CC30458FD68C99C7C36 /* PBXContainerItemProxy */ = { + D1DC82A42A258B5EA5EE5DC5D1BECCBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9BD1D084788925526680BE28E517A85A; - remoteInfo = SignalMetadataKit; + remoteGlobalIDString = 393F81D254FDCBBA782ED7224542A956; + remoteInfo = SQLCipher; + }; + D4CB41B3C3F79215104D55FBE401C97A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 393F81D254FDCBBA782ED7224542A956; + remoteInfo = SQLCipher; + }; + D5AD640336B6ABD86FA9BB1310BA3805 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; + }; + D79574D5751ECFD0F96C84B39FCC64EF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = C2082525912BAB9EE6776B67914FAE3D; + remoteInfo = SAMKeychain; + }; + D845932B4F594066C651797508C5DFD8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = C2082525912BAB9EE6776B67914FAE3D; + remoteInfo = SAMKeychain; }; - EADE43DDC657306894DD668EF343C2BB /* PBXContainerItemProxy */ = { + DA1F068B1C87302951D3A2B58710C0C1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FD3E2BCC4A30BA3FE5BE9076863CB3C7; + remoteGlobalIDString = A58193026B0062EA57758DBB1A791CD3; remoteInfo = AxolotlKit; }; - EAFC1ABEBB8D5B67910F9FA6EB2626FD /* PBXContainerItemProxy */ = { + DA714A957E5506ACE56831B641058593 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - EB7D5200EF9F3C5B8121585E2694086C /* PBXContainerItemProxy */ = { + DBD375CDD48B1FE71290C9B254586FD9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 41534CD75578C922D789F429B9933B2A; - remoteInfo = PromiseKit; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - EB94BD9877E30D4CD045A4F685427DDE /* PBXContainerItemProxy */ = { + DD2F7C18920600EB72C86550A93D2812 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 1FAF6137A1568F1846807A8A28D8C3D9; - remoteInfo = Reachability; + remoteGlobalIDString = 9BD6ECD0418ADCD6F18C45FA8DA2E165; + remoteInfo = YapDatabase; + }; + DDBE43803D80E087DD19788E7B18714F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; + remoteInfo = SwiftProtobuf; + }; + DF21F0E78F85B61D98BAD9324CFBB4A4 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A58193026B0062EA57758DBB1A791CD3; + remoteInfo = AxolotlKit; }; - ECC4E0967999D4B41630B09B81047701 /* PBXContainerItemProxy */ = { + E1A44E7B62E75DEC9F2742A8715AC512 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E40276058FD3D7935B9DCE56C1BAC2C7; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; remoteInfo = CocoaLumberjack; }; - ED24CEE5F5B595CC7A7C75B4737DF848 /* PBXContainerItemProxy */ = { + E2B3BA6BA750CA8E9039A828B3FE2B19 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; - remoteInfo = HKDFKit; + remoteGlobalIDString = 27B11AA96B1C65EADA079565268D1E14; + remoteInfo = Starscream; }; - ED56F9385907B7A30BB12C45875D1B2C /* PBXContainerItemProxy */ = { + E3175A2DF989470D6FFA90CBD628EA9D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9BD1D084788925526680BE28E517A85A; - remoteInfo = SignalMetadataKit; + remoteGlobalIDString = 393F81D254FDCBBA782ED7224542A956; + remoteInfo = SQLCipher; }; - F0EB7576209F316547909488E9E05FA8 /* PBXContainerItemProxy */ = { + E3BC407D76BD715EE4785658D9F77867 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FD3E2BCC4A30BA3FE5BE9076863CB3C7; - remoteInfo = AxolotlKit; + remoteGlobalIDString = B2DB9200FF6BA441B3CCBBAC63D08884; + remoteInfo = YYImage; + }; + E3C67A7B0E19F06011B173822294A632 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; + }; + E443294C52FF07E1572FAAC5D292075C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; + }; + E6BD72C0CE18DB8669C90BB30EFBCB9F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8D899A7512B8E2CAD748A9EBE5DAB484; + remoteInfo = CryptoSwift; }; - F3FEF89FD472A90B10361D8DAA9633C2 /* PBXContainerItemProxy */ = { + E7E9A66C0CE8235CA19B9A5294CEF60D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2A52F930E1C3719EB6B4BB97D04119F0; + remoteGlobalIDString = 1C510D2743AA315015E85BD17823EB3C; remoteInfo = SwiftProtobuf; }; - F49C0305638748D5594C9949DB3D4D38 /* PBXContainerItemProxy */ = { + E8865518E61F9B0DB7993DA5D7DB5F27 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = BEB8EF499C0BAE48764C4B2C4423D2F6; - remoteInfo = SAMKeychain; + remoteGlobalIDString = E2AADC55B62C0397C2885ABFD545CAA6; + remoteInfo = Curve25519Kit; }; - F59038F1C5D3EDC9060261C65C646185 /* PBXContainerItemProxy */ = { + E96FE21877B7B3462DA3043987F8DD14 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9BD1D084788925526680BE28E517A85A; - remoteInfo = SignalMetadataKit; + remoteGlobalIDString = B7707DCC847CD718D2A3F703433C0D6F; + remoteInfo = SignalCoreKit; }; - F6B49D84F58EB83494B6ED39E6160003 /* PBXContainerItemProxy */ = { + E9AF826B181FA44C8759B56C2B2E11DC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9BD1D084788925526680BE28E517A85A; - remoteInfo = SignalMetadataKit; + remoteGlobalIDString = 02AD8789483D0C881D9CCA5ABB184877; + remoteInfo = Mantle; }; - F71A4FC540542DC8D28109A49B195940 /* PBXContainerItemProxy */ = { + EB4CBED19B6BD4D1C1D0812E876C172B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0FE93AE50BEC033F25FA231851B0C90; - remoteInfo = CryptoSwift; + remoteGlobalIDString = E9846A58E29BC524F26ACBD37F42AB9B; + remoteInfo = "libPhoneNumber-iOS"; + }; + EBB1CEBF0DC87A338118F03CEACB77A2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9BD6ECD0418ADCD6F18C45FA8DA2E165; + remoteInfo = YapDatabase; + }; + EE09F0D205826498C75B10811A4DAFD1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A58193026B0062EA57758DBB1A791CD3; + remoteInfo = AxolotlKit; }; - F89AFD36436D17D635EDFD88384A1E1A /* PBXContainerItemProxy */ = { + EF0E2E2C2DDBBECDC925F28737EE001B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 41534CD75578C922D789F429B9933B2A; + remoteGlobalIDString = 8362105D5E1254A82E4BA3875F887F0E; remoteInfo = PromiseKit; }; - F92A582F173BC4DAB4565B4F888F89CD /* PBXContainerItemProxy */ = { + EF529B096A5D44AD615BFCAA0262E08F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0928EF3EF853074F71014F6F7601CBF; - remoteInfo = HKDFKit; + remoteGlobalIDString = 462AC13EC68E19388E93FBAD92C6E444; + remoteInfo = PureLayout; }; - F94829785DA7E82DF4F91BD54A25176B /* PBXContainerItemProxy */ = { + F2563B64A2CF630689A162BF631C4BD7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D6415F93B1D7822CD9481CA39BDFAF11; - remoteInfo = Mantle; + remoteGlobalIDString = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7; + remoteInfo = SignalMetadataKit; + }; + F2B91BE3B00CCCE631FAD7887F63397D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - F9DE98900A98E9ED02303DA970D1EEC0 /* PBXContainerItemProxy */ = { + F365A71CFB2FF72B41AE9761AE5658FE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C0FE93AE50BEC033F25FA231851B0C90; + remoteGlobalIDString = 8D899A7512B8E2CAD748A9EBE5DAB484; remoteInfo = CryptoSwift; }; - FA210B94627754B1C49BE4535E43E502 /* PBXContainerItemProxy */ = { + F3C5A22D3883839FD3882095D9DCBF4B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 45912FCC22A1728F871BB6ED08546686; - remoteInfo = YapDatabase; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; + }; + F58B7692912464493147373FF98E672A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A58193026B0062EA57758DBB1A791CD3; + remoteInfo = AxolotlKit; + }; + F629C12FE704281F678287A3146DA2BD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = E1BC5D5166A50136B6CB9B01E8486AC8; + remoteInfo = CocoaLumberjack; }; - FA3E000E8FB022933859FAD5CB3CF5BC /* PBXContainerItemProxy */ = { + F9E047FE37B45A26419ADB692A00DEF0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 45912FCC22A1728F871BB6ED08546686; + remoteGlobalIDString = 9BD6ECD0418ADCD6F18C45FA8DA2E165; remoteInfo = YapDatabase; }; + FB8F286BA0941E76568B79003D32E32B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A58193026B0062EA57758DBB1A791CD3; + remoteInfo = AxolotlKit; + }; + FD81DC50B5B25CBF90DF2E93A0885925 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = F0A92181547188BFA00E27847C615050; + remoteInfo = HKDFKit; + }; + FE8C503477DA60EDC49CF60711ECBA8C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8362105D5E1254A82E4BA3875F887F0E; + remoteInfo = PromiseKit; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0006C20B77295D08CA55E94AE54EC441 /* YapDatabaseCloudKitTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudKitTransaction.m; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTransaction.m; sourceTree = ""; }; - 00369E68CBC5AD5F68B76386A86F6A53 /* SignalServiceKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; path = SignalServiceKit.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 007D9A80A2873E78CFDCD1AC9B037EDD /* SignalMetadataKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalMetadataKit-umbrella.h"; sourceTree = ""; }; - 00D221B808A11B5F85DD171182C0917C /* FIRLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRLogger.m; path = Firebase/Core/FIRLogger.m; sourceTree = ""; }; - 00E22FF732BB4AC9B24CE03877736C7D /* YapDatabaseTransaction+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YapDatabaseTransaction+OWS.h"; sourceTree = ""; }; - 00EC95A831D5366E2527ACC9A38264AA /* OWSUnknownContactBlockOfferMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSUnknownContactBlockOfferMessage.h; sourceTree = ""; }; - 01014B6B4EF3F33950E6F78B1FB4C392 /* OWSDynamicOutgoingMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDynamicOutgoingMessage.h; sourceTree = ""; }; - 011DEF3EAA317217C77ADD545A415149 /* FeedParserProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FeedParserProtocol.swift; path = Sources/FeedKit/Parser/FeedParserProtocol.swift; sourceTree = ""; }; - 016B8969046494654873650B121A83B8 /* AxolotlKit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AxolotlKit-Unit-Tests-Info.plist"; sourceTree = ""; }; - 01853F9C3C7713C6C0E3444103048DA2 /* OWSSyncContactsMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSSyncContactsMessage.m; sourceTree = ""; }; - 019522652870C4A93CCEA1FF643E8FDE /* YapDatabaseSearchQueuePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchQueuePrivate.h; path = YapDatabase/Extensions/SearchResultsView/Internal/YapDatabaseSearchQueuePrivate.h; sourceTree = ""; }; - 01E3EC73CBFD89FF717CDF62DBB3E34C /* OWSPrimaryStorage+SessionStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+SessionStore.h"; sourceTree = ""; }; - 01E7CA316BE641E9F63A5FA9AD10A5CB /* PreKeyWhisperMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PreKeyWhisperMessage.m; path = AxolotlKit/Classes/CipherMessage/PreKeyWhisperMessage.m; sourceTree = ""; }; - 01F349C2A1DF8CAB0626493509DEBA88 /* OWSOutgoingSyncMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOutgoingSyncMessage.h; sourceTree = ""; }; - 01F6331FBA2A795024E7ADD2483994FE /* OWSFakeContactsUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFakeContactsUpdater.h; sourceTree = ""; }; - 0205448879DDC46ED079C7B1F354BDD5 /* Data+OWS.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+OWS.swift"; path = "SignalCoreKit/src/Data+OWS.swift"; sourceTree = ""; }; - 023910A50F6FE69E0C139FBAF1475FE7 /* YapDatabaseStatement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseStatement.h; path = YapDatabase/Internal/YapDatabaseStatement.h; sourceTree = ""; }; - 023F071568CB6E4D1CADF21C09F95975 /* OWSMessageUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageUtils.h; sourceTree = ""; }; - 0266D34A40994A7157C87D94B25BB98E /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; - 0282EBDBF931B4C5A13B3EF20831B72A /* YapProxyObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapProxyObject.h; path = YapDatabase/Utilities/YapProxyObject.h; sourceTree = ""; }; - 029F484A2CFEDE5C9DDB32C8E558FB85 /* YapDatabaseCloudCorePipelineDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCorePipelineDelegate.h; path = YapDatabase/Extensions/CloudCore/Utilities/Execution/YapDatabaseCloudCorePipelineDelegate.h; sourceTree = ""; }; - 02AD020F737652B70AF210C785072CB0 /* zeroize.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = zeroize.c; path = Sources/ed25519/additions/zeroize.c; sourceTree = ""; }; - 02B803BAD103176340874E28D0379565 /* FIRApp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRApp.h; path = Firebase/Core/Public/FIRApp.h; sourceTree = ""; }; - 031B7F871142ABF21276B31132E15F4F /* AliceAxolotlParameters.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AliceAxolotlParameters.h; path = AxolotlKit/Classes/Ratchet/AliceAxolotlParameters.h; sourceTree = ""; }; - 03511C54A2476B424E84A2DC65A01DDC /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; - 03C8E6F7AFDCB00BF1FEC6370B02C1C7 /* Pods-SignalMessaging.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SignalMessaging.modulemap"; sourceTree = ""; }; - 03D4B7244799BCE4C035D7E137ECE5AF /* ContactsUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ContactsUpdater.h; sourceTree = ""; }; - 03EB26E5B8485846B0BC4F46CCA0499C /* RSSFeed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeed.swift; path = Sources/FeedKit/Models/RSS/RSSFeed.swift; sourceTree = ""; }; - 0400242FB0340150DA52F054E326FB4B /* UIImage+MPAverageColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MPAverageColor.h"; path = "Mixpanel/UIImage+MPAverageColor.h"; sourceTree = ""; }; - 04053F17374E06B95DA6FD7C7156D21A /* field_mask.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = field_mask.pb.swift; path = Sources/SwiftProtobuf/field_mask.pb.swift; sourceTree = ""; }; - 0441E07E6BB1BBDF41A2DAAFBBFCA815 /* FIRErrors.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRErrors.m; path = Firebase/Core/FIRErrors.m; sourceTree = ""; }; - 046C0239F9DD6ADAF369A0F01B522CC1 /* mz_strm_pkcrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_pkcrypt.h; path = SSZipArchive/minizip/mz_strm_pkcrypt.h; sourceTree = ""; }; - 048A1AC1FD358013B85C82B98A4909F5 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 04A442509EFBE932FCDDF1E413A021DE /* Google_Protobuf_FieldMask+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_FieldMask+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_FieldMask+Extensions.swift"; sourceTree = ""; }; - 04ABAF66B47CAC98A554AD12A7D99FB9 /* mz_crypt.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_crypt.c; path = SSZipArchive/minizip/mz_crypt.c; sourceTree = ""; }; - 04B2729E21E8136DED182E9CE4B70425 /* DateSpec.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateSpec.swift; path = Sources/FeedKit/Dates/DateSpec.swift; sourceTree = ""; }; - 04FC1C7C9C1CE2691B73A0FF0FA11580 /* YapDatabaseRelationshipTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRelationshipTransaction.m; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.m; sourceTree = ""; }; - 051B644C948743ABACDE31C915B8142C /* GCDWebServer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GCDWebServer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 055B252DC7EC3D798AF50B4406A51D41 /* OWSUploadOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSUploadOperation.m; sourceTree = ""; }; - 056F3B498A2DD85B1485CDE3A2AC47AC /* UIViewController+AutomaticTracks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AutomaticTracks.m"; path = "Mixpanel/UIViewController+AutomaticTracks.m"; sourceTree = ""; }; - 057677C8FBD4470768FBCB39C3EC00E5 /* MPUIControlBinding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPUIControlBinding.m; path = Mixpanel/MPUIControlBinding.m; sourceTree = ""; }; - 05821A7FA940ACE625FD7F88DE7CED8B /* Curve25519Kit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Curve25519Kit-prefix.pch"; sourceTree = ""; }; - 059915BE482448B0437DAEA409708798 /* HKDFKit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "HKDFKit-Unit-Tests-resources.sh"; sourceTree = ""; }; - 05A8C5573B7ECADE4B2199A9A843A3DC /* FIRLibrary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLibrary.h; path = Firebase/Core/Private/FIRLibrary.h; sourceTree = ""; }; - 05BC599DB4C77B477AFA0707AC72D0AB /* TSAttachmentPointer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSAttachmentPointer.h; sourceTree = ""; }; - 05F64FD956C35AC9D8DD3CFD4A3C5DF0 /* SSKWebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SSKWebSocket.swift; sourceTree = ""; }; - 0625C01A435188551CBBC352CD55D5A9 /* FIRComponentContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponentContainer.m; path = Firebase/Core/FIRComponentContainer.m; sourceTree = ""; }; - 063FEEC160187DC6B8DCCB8567F233C8 /* Ed25519.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Ed25519.h; path = Classes/Ed25519.h; sourceTree = ""; }; - 0683D90A1A04D4ECD408B16F91495CB0 /* OWSProvisioningCipherTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSProvisioningCipherTest.m; sourceTree = ""; }; - 06896773E2CCB1F3101F2445BC6DF9BD /* Pods-SignalMessaging-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SignalMessaging-dummy.m"; sourceTree = ""; }; - 06965CCCEC6D051D3E8844AEFB4E3D10 /* RSSFeed + mapAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RSSFeed + mapAttributes.swift"; path = "Sources/FeedKit/Models/RSS/RSSFeed + mapAttributes.swift"; sourceTree = ""; }; - 06A97D97FC2A1D494AFEC038748F947B /* TSIncomingMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSIncomingMessage.m; sourceTree = ""; }; - 06B1E0274E8FB69811120446082C9725 /* OWSMessageSend.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSMessageSend.swift; sourceTree = ""; }; - 06FC124B78768A77769F5EDB905ECBC2 /* struct.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = struct.pb.swift; path = Sources/SwiftProtobuf/struct.pb.swift; sourceTree = ""; }; - 071029F5FFAFE3CC5DDA37C1743FFAE3 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; - 072908055C0B9CBFCF124015320CB1D6 /* YapDatabaseViewPageMetadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewPageMetadata.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewPageMetadata.h; sourceTree = ""; }; - 072EC5C3132F7017C235DA3E6B67D833 /* TextFormatEncodingVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatEncodingVisitor.swift; path = Sources/SwiftProtobuf/TextFormatEncodingVisitor.swift; sourceTree = ""; }; - 073497EB45E1AB195CC073E33FBF5E70 /* GTSR3.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GTSR3.crt; sourceTree = ""; }; - 075C054051364229C7BCE5946E2A8A8E /* Google_Protobuf_Any+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Any+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Any+Extensions.swift"; sourceTree = ""; }; - 079289A25823AFD98CBCDC9BC69FCE91 /* LokiPublicChat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiPublicChat.swift; sourceTree = ""; }; - 0792D62CBE0768B8B61C00BA8EEC3537 /* AxolotlKit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "AxolotlKit-Unit-Tests"; path = "AxolotlKit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 07C44CCE83C848F3C193FA7EA5E5899D /* TSSocketManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSSocketManager.h; sourceTree = ""; }; - 07C70DA485A19D6CE1CC45C5BAB0D736 /* MockSSKEnvironment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MockSSKEnvironment.h; sourceTree = ""; }; - 07E173A654159052E151C18249415345 /* AliceAxolotlParameters.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AliceAxolotlParameters.m; path = AxolotlKit/Classes/Ratchet/AliceAxolotlParameters.m; sourceTree = ""; }; - 0808940D65EDE9ABD93E07C1873FB1B3 /* YDBCKChangeRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKChangeRecord.h; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeRecord.h; sourceTree = ""; }; - 086366D1979E02CDEB4BE58898558746 /* ContentNamespace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContentNamespace.swift; path = Sources/FeedKit/Models/Namespaces/Content/ContentNamespace.swift; sourceTree = ""; }; - 086B66EB1446232C6C359E0A1A3C53B0 /* SQLCipher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SQLCipher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 08788652F17A42C29A954A739DEAD59E /* Randomness.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Randomness.m; path = SignalCoreKit/src/Randomness.m; sourceTree = ""; }; - 0894712D8FA945F42EA67900827AFA3F /* YapDatabaseConnectionConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseConnectionConfig.m; path = YapDatabase/Utilities/YapDatabaseConnectionConfig.m; sourceTree = ""; }; - 08AA83417860F0AB48A29C7CE5812E0E /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; - 0903CEA995E83FBA89D042017BE6D486 /* sc.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = sc.h; path = Sources/ed25519/sc.h; sourceTree = ""; }; - 0937579A0A00DA8DC4F5CAD79D65C306 /* OWSOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOperation.h; sourceTree = ""; }; - 0967C25F4D6231AAA6AA2D8EA9A1EC43 /* DeviceLinkingUtilities.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceLinkingUtilities.swift; sourceTree = ""; }; - 09A2C349314DB2E4AAB424C1F1D39440 /* NoopNotificationsManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NoopNotificationsManager.swift; sourceTree = ""; }; - 09BFCC1BE2242985DC9F60EA6B26C2CB /* YapDirtyDictionary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDirtyDictionary.h; path = YapDatabase/Utilities/YapDirtyDictionary.h; sourceTree = ""; }; - 0A4875E9420A494809B9881BE3663A13 /* MediaContent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaContent.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaContent.swift; sourceTree = ""; }; - 0A4CEFBBF54219944E7D661ECCBBC71A /* YapDatabaseExtensionTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseExtensionTransaction.h; path = YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.h; sourceTree = ""; }; - 0A5332926D306760D62ED2757352A1CB /* AxolotlKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AxolotlKit.modulemap; sourceTree = ""; }; - 0A570B819B2DF67227DEE1FDB6787685 /* OWSDeviceProvisioningCodeService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDeviceProvisioningCodeService.h; sourceTree = ""; }; - 0A86879A143B951C46F6E0D224404A98 /* MPTakeoverNotificationViewController~iphonelandscape.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = "MPTakeoverNotificationViewController~iphonelandscape.xib"; path = "Mixpanel/MPTakeoverNotificationViewController~iphonelandscape.xib"; sourceTree = ""; }; - 0AA207580396C4298542896B75B6EB85 /* MPUITableViewBinding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPUITableViewBinding.m; path = Mixpanel/MPUITableViewBinding.m; sourceTree = ""; }; - 0AA79A4DD9EE160716CBFFD41579C46F /* MPTypeDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPTypeDescription.m; path = Mixpanel/MPTypeDescription.m; sourceTree = ""; }; - 0AB8A17246DB9F35F4E2EBC7B1326CF2 /* HKDFKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HKDFKit.h; path = HKDFKit/HKDFKit/HKDFKit.h; sourceTree = ""; }; - 0AEF6C3EE48478ABEAEA3E43D68D8F07 /* MPABTestDesignerConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerConnection.h; path = Mixpanel/MPABTestDesignerConnection.h; sourceTree = ""; }; - 0B42B9B83BF27B55CD4FC17E1F69391F /* TextFormatDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatDecoder.swift; path = Sources/SwiftProtobuf/TextFormatDecoder.swift; sourceTree = ""; }; - 0B5DFDAABA99CC002003CFB14754CF64 /* YapDatabaseStatement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseStatement.m; path = YapDatabase/Internal/YapDatabaseStatement.m; sourceTree = ""; }; - 0B6276423E8E5BFFBB9A9EC38C4BC41B /* SSZipArchive.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SSZipArchive.xcconfig; sourceTree = ""; }; - 0B6A110446A112F296195DD6DAA40F39 /* TSYapDatabaseObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSYapDatabaseObject.m; sourceTree = ""; }; - 0B9A36CADE911527DFF3A46AE894DC26 /* NSObject+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+OWS.m"; path = "SignalCoreKit/src/NSObject+OWS.m"; sourceTree = ""; }; - 0B9A5FCE1ACAFC6A1EF5EAA04A5D3E89 /* YapDatabaseConnectionConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseConnectionConfig.h; path = YapDatabase/Utilities/YapDatabaseConnectionConfig.h; sourceTree = ""; }; - 0BE693131FB40FE9AB195D369D73F45A /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; - 0BFEAE0D4C62F213BB0707623ACB819B /* EXTRuntimeExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTRuntimeExtensions.h; path = Mantle/extobjc/EXTRuntimeExtensions.h; sourceTree = ""; }; - 0C36D95FDD46BDF95FDB11423C68B8EE /* MPObjectIdentifierProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPObjectIdentifierProvider.h; path = Mixpanel/MPObjectIdentifierProvider.h; sourceTree = ""; }; - 0C516311947693C3C215F9AEF323C6BA /* YapDatabaseAutoView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseAutoView.h; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoView.h; sourceTree = ""; }; - 0C7C7E215767BAF365D71A447FF5905D /* YapDatabaseTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseTransaction.h; path = YapDatabase/YapDatabaseTransaction.h; sourceTree = ""; }; - 0C9D1207DF4D374C7EA8090E928EBD88 /* RFC822DateFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RFC822DateFormatter.swift; path = Sources/FeedKit/Dates/RFC822DateFormatter.swift; sourceTree = ""; }; - 0CA0DFECCA34C70FE854D559F32A1298 /* TSGroupModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSGroupModel.h; sourceTree = ""; }; - 0CB85DCDBE92FB7384EE05EDCCDFCEE2 /* SSKBaseTestObjC.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSKBaseTestObjC.h; path = SignalServiceKit/tests/SSKBaseTestObjC.h; sourceTree = ""; }; - 0CBF32175C351034EB5C6A35F8E144DB /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; - 0CBF4FDF08AF93606F98D923D49AB28F /* MPABTestDesignerSnapshotResponseMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerSnapshotResponseMessage.h; path = Mixpanel/MPABTestDesignerSnapshotResponseMessage.h; sourceTree = ""; }; - 0D2EB00466FCD9098D6E117D16E6C7A4 /* OWSContact+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSContact+Private.h"; sourceTree = ""; }; - 0D85E5241F8A92CC7310811E26834DA8 /* CBCMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBCMAC.swift; path = Sources/CryptoSwift/CBCMAC.swift; sourceTree = ""; }; - 0DBF27AE12C7DBBC496BC92CF1734573 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0DCF320525CD7A1F51E71E112C1038B6 /* Contact.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Contact.h; sourceTree = ""; }; - 0DEE0C6E3CF3C7BA8BE1B30E1169487E /* NBPhoneNumberDesc.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBPhoneNumberDesc.h; path = libPhoneNumber/NBPhoneNumberDesc.h; sourceTree = ""; }; - 0DF1D8D2DDFE843DAC41A513DE027960 /* YapDatabaseFullTextSearchHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearchHandler.h; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchHandler.h; sourceTree = ""; }; - 0DFBB5A917032A9C614AE870E5B0B654 /* OWSFailedAttachmentDownloadsJob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFailedAttachmentDownloadsJob.h; sourceTree = ""; }; - 0E1E5A21B78CFEDCCBEC90C9CB99E20B /* DDASLLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = Classes/DDASLLogger.m; sourceTree = ""; }; - 0E3EAD95A9DE40D2162F8D9282D0BFFD /* HKDFKit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HKDFKit-Unit-Tests-prefix.pch"; sourceTree = ""; }; - 0E68D6F4025A5CD7F7F2111CF939CA95 /* ExtensionMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtensionMap.swift; path = Sources/SwiftProtobuf/ExtensionMap.swift; sourceTree = ""; }; - 0E96F49785317533346C070AFC4D55E0 /* MTLModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLModel.h; path = Mantle/MTLModel.h; sourceTree = ""; }; - 0E99DA4C19CEA9ABF417754AB22E42D6 /* Mixpanel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Mixpanel.h; path = Mixpanel/Mixpanel.h; sourceTree = ""; }; - 0E9BF71F88126CD7B952848035FB8C5B /* YDBCKChangeSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKChangeSet.m; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKChangeSet.m; sourceTree = ""; }; - 0EAFB8AFE018484D7E30B131154D2150 /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; - 0EBE6D81AE0E2B1F81DC355FF71BAC2C /* YapDatabaseSecondaryIndexTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexTransaction.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.h; sourceTree = ""; }; - 0EE48A8884996B8A16EA62AB5DDDCD5A /* MPApplicationStateSerializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPApplicationStateSerializer.h; path = Mixpanel/MPApplicationStateSerializer.h; sourceTree = ""; }; - 0EF71B74EC9F5F795F11974E820C3536 /* FIROptionsInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIROptionsInternal.h; path = Firebase/Core/Private/FIROptionsInternal.h; sourceTree = ""; }; - 0F0FF94C21621788F65678FE8C6FD7F9 /* YapDatabaseCrossProcessNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCrossProcessNotification.h; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotification.h; sourceTree = ""; }; - 0F139649D184AB822990EDBBC8F433BB /* LKEphemeralMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKEphemeralMessage.h; sourceTree = ""; }; - 0F3AA7A84A0844A4D3F154097210561F /* AxolotlKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AxolotlKit-prefix.pch"; sourceTree = ""; }; - 0F40522AEBD0B81FEE6204CE52AA628F /* WebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = Sources/Starscream/WebSocket.swift; sourceTree = ""; }; - 0F7B3522365E3CCE98D529FA02C6195A /* YapDatabaseSecondaryIndexPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexPrivate.h; path = YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexPrivate.h; sourceTree = ""; }; - 0FBF987105DC19B9D24D4F4726392A4D /* MPEventBinding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPEventBinding.h; path = Mixpanel/MPEventBinding.h; sourceTree = ""; }; - 0FC1DE27DE8D7ABD3AEC3144D4D98FEF /* mz_strm_mem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_mem.h; path = SSZipArchive/minizip/mz_strm_mem.h; sourceTree = ""; }; - 0FD4DE03B700D2F9FD0E635CB2B68A45 /* Varint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Varint.swift; path = Sources/SwiftProtobuf/Varint.swift; sourceTree = ""; }; - 0FEC124816C228DF2330A50B6E7182CE /* Mantle-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mantle-umbrella.h"; sourceTree = ""; }; - 1009D2CB92B73357388FC7528D1CD719 /* FIRAnalyticsConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRAnalyticsConfiguration.m; path = Firebase/Core/FIRAnalyticsConfiguration.m; sourceTree = ""; }; - 101533852C02544F1092DF7ABC0F8C4A /* OWSOutgoingReceiptManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOutgoingReceiptManager.h; sourceTree = ""; }; - 1017F831D1CFD7B9202836374FB7E943 /* OWSSignalService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSSignalService.m; sourceTree = ""; }; - 1027B2D6BE35A0793C125B384383E715 /* NSDictionary+MTLJSONKeyPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLJSONKeyPath.m"; path = "Mantle/NSDictionary+MTLJSONKeyPath.m"; sourceTree = ""; }; - 1030EB135E30DF7DC4C1A522992872B6 /* pow225521.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = pow225521.h; path = Sources/ed25519/pow225521.h; sourceTree = ""; }; - 105A6FEFC45DE9C8B89ED32FE6A7C501 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; - 10678AA44871B0DFF6411C2C98C7B65A /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; - 1078481DE59A6AEB8A74F7B71D45D4BF /* YapDatabaseAutoViewConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseAutoViewConnection.m; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoViewConnection.m; sourceTree = ""; }; - 10876643B4E65AA4BE50643AA9276A12 /* GCDWebServerErrorResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerErrorResponse.h; path = GCDWebServer/Responses/GCDWebServerErrorResponse.h; sourceTree = ""; }; - 10AAADB6C78CC406B7ABACDC6B10FAD4 /* MPCGSizeToNSDictionaryValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPCGSizeToNSDictionaryValueTransformer.m; path = Mixpanel/MPCGSizeToNSDictionaryValueTransformer.m; sourceTree = ""; }; - 10BD821A48D3E7A4F66B218C2B99D9B3 /* AutomaticEvents.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AutomaticEvents.m; path = Mixpanel/AutomaticEvents.m; sourceTree = ""; }; - 10C3F5CC8848D719E1F83AB54254BAFB /* UIColor+MPColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+MPColor.h"; path = "Mixpanel/UIColor+MPColor.h"; sourceTree = ""; }; - 11037D7D41AFB933972A8A53EAA11934 /* ReceivingChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ReceivingChain.h; path = AxolotlKit/Classes/Ratchet/ReceivingChain.h; sourceTree = ""; }; - 1127D8DCD5B695CCC807A6D3ED1C744F /* Mantle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Mantle.h; path = Mantle/Mantle.h; sourceTree = ""; }; - 11A870BCAAF95CCA4EA2023BB49E6611 /* SignalCoreKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalCoreKit-prefix.pch"; sourceTree = ""; }; - 11B4E91AC3F735BCBF34164F709B5E5C /* NSDate+YapDatabase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+YapDatabase.h"; path = "YapDatabase/Internal/NSDate+YapDatabase.h"; sourceTree = ""; }; - 11D0DE43A95786197F0A6353A66BE841 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; - 1202FEEA39494BCD69E01AC4AEBC82D1 /* YapDatabaseViewMappings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewMappings.h; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewMappings.h; sourceTree = ""; }; - 1242C92C6D89E81FDA79556F6543B7F1 /* FIRComponentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponentType.m; path = Firebase/Core/FIRComponentType.m; sourceTree = ""; }; - 1244A35166A57DA857A3D2F5728AE4C4 /* ProtoUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ProtoUtils.h; sourceTree = ""; }; - 12753154ACCEDB48659D698C1BAAC2F0 /* Google_Protobuf_Timestamp+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Timestamp+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Timestamp+Extensions.swift"; sourceTree = ""; }; - 129007893AD6CA9E63B3C7EAAA7E71AC /* MPObjectSerializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPObjectSerializer.m; path = Mixpanel/MPObjectSerializer.m; sourceTree = ""; }; - 1290DF694FF7ECAC3C40EF459E7AEFD6 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; - 130C2557BF706EB8A6FE54DE644FB107 /* GCDWebServer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GCDWebServer-dummy.m"; sourceTree = ""; }; - 130CAD7ACAAF37ADB662B506D5D7B997 /* ge_msub.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_msub.c; path = Sources/ed25519/ge_msub.c; sourceTree = ""; }; - 134C675923A2D34764105135C1261BA1 /* OutageDetection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OutageDetection.swift; sourceTree = ""; }; - 134DCC4A0B4346DC3A325B41398808CF /* mz_strm_wzaes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_wzaes.h; path = SSZipArchive/minizip/mz_strm_wzaes.h; sourceTree = ""; }; - 137B8DD172E22E8D4020EF555488A51C /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; - 13818820420FA140B1919356F95B7F64 /* TypingIndicatorMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TypingIndicatorMessage.swift; sourceTree = ""; }; - 1384B1ECBC2F955AFF7B3E19DAE45371 /* Mantle-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Mantle-dummy.m"; sourceTree = ""; }; - 13A456130B94DC2D52F639B593F7CC03 /* YYImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImage.h; path = YYImage/YYImage.h; sourceTree = ""; }; - 13AAB127D1DD98D9EF4A6A3F409DF91A /* YYImage.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = YYImage.modulemap; sourceTree = ""; }; - 13D471D0888415EB1E1044DF715AA771 /* SendingChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SendingChain.m; path = AxolotlKit/Classes/Ratchet/SendingChain.m; sourceTree = ""; }; - 1412BC2DDC574D460188761A18E58F62 /* YapDatabaseRTreeIndexSetup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndexSetup.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexSetup.m; sourceTree = ""; }; - 14607472EBD9E11E64BA134F26DDA5D5 /* crypto_uint32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_uint32.h; path = Sources/ed25519/nacl_includes/crypto_uint32.h; sourceTree = ""; }; - 14613E1F2F58F1C1B88E6ED6591B910C /* OWSMessageSender.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageSender.m; sourceTree = ""; }; - 1462F06AC5A7A38F73D6D9C744CDDB4D /* YapDatabaseSearchResultsViewOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSearchResultsViewOptions.m; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewOptions.m; sourceTree = ""; }; - 14B063379115576613070FDC5E314218 /* AutomaticEvents.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AutomaticEvents.h; path = Mixpanel/AutomaticEvents.h; sourceTree = ""; }; - 14FB02E6164B51857009927051D47378 /* YYAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYAnimatedImageView.h; path = YYImage/YYAnimatedImageView.h; sourceTree = ""; }; - 151183CD65D1026EA03F59D6F4E33C17 /* SSKMessageSenderJobRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SSKMessageSenderJobRecord.h; sourceTree = ""; }; - 151530D69883F9287AC7ADE595B3C7D5 /* fe_copy.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_copy.c; path = Sources/ed25519/fe_copy.c; sourceTree = ""; }; - 153CD8CCCC36B4A2E35E2C041A3985CD /* MPTakeoverNotificationViewController~iphoneportrait.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = "MPTakeoverNotificationViewController~iphoneportrait.xib"; path = "Mixpanel/MPTakeoverNotificationViewController~iphoneportrait.xib"; sourceTree = ""; }; - 15968FCCBEB977712793E40B4BDD16B2 /* RootKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RootKey.m; path = AxolotlKit/Classes/Ratchet/RootKey.m; sourceTree = ""; }; - 15AA4AFEF09976CEC436B2CBAA47B058 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+MTLPredefinedTransformerAdditions.h"; path = "Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.h"; sourceTree = ""; }; - 15C7DCC5E70560E1A87B72B59568FD3D /* YDBCKRecordInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKRecordInfo.m; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecordInfo.m; sourceTree = ""; }; - 15D10724D7D4E4EA984AB4641DBF82BE /* FirebaseCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseCore.h; path = Firebase/Core/Public/FirebaseCore.h; sourceTree = ""; }; - 15D2C5214152FB92546BE961523CB6E8 /* OWSBlockingManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSBlockingManager.h; sourceTree = ""; }; - 15E80BE91C2497584D28F42155AAF581 /* TSInvalidIdentityKeyErrorMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSInvalidIdentityKeyErrorMessage.m; sourceTree = ""; }; - 15EB9ED5BECD0376CC482935A57B7F23 /* UIApplication+AutomaticTracks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+AutomaticTracks.h"; path = "Mixpanel/UIApplication+AutomaticTracks.h"; sourceTree = ""; }; - 1604E2CAAEA0B34C19969B1862FF914D /* Array + Equatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array + Equatable.swift"; path = "Sources/FeedKit/Extensions/Array + Equatable.swift"; sourceTree = ""; }; - 160930596227699D8ACD124D7867A865 /* ECCTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ECCTests.m; path = AxolotlKitTests/ECCTests.m; sourceTree = ""; }; - 1619E7AFB3D5987F998D3EE5077C5D90 /* OWSPrimaryStorage+Loki.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "OWSPrimaryStorage+Loki.swift"; sourceTree = ""; }; - 1621CB931F7847DDFD881735025A7EE9 /* NSArray+NBAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+NBAdditions.h"; path = "libPhoneNumber/NSArray+NBAdditions.h"; sourceTree = ""; }; - 1655457028247F2AE789888DD49E1253 /* mz_strm_zlib.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_zlib.c; path = SSZipArchive/minizip/mz_strm_zlib.c; sourceTree = ""; }; - 165AE690B04C9230556F5B6950B23CD1 /* GCDWebServerFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFunctions.m; path = GCDWebServer/Core/GCDWebServerFunctions.m; sourceTree = ""; }; - 165DD48C9211B592FF2AEBBC55583626 /* MPTakeoverNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPTakeoverNotification.m; path = Mixpanel/MPTakeoverNotification.m; sourceTree = ""; }; - 167480F97C496BDA47A3672B937E9048 /* ge.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge.h; path = Sources/ed25519/ge.h; sourceTree = ""; }; - 167D30B6409E12B5ECFD93150B315F8E /* fe_0.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_0.c; path = Sources/ed25519/fe_0.c; sourceTree = ""; }; - 17174150F1824B5CB3A49B30FBCE13BC /* NSArray+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSArray+OWS.m"; sourceTree = ""; }; - 173DD1B7F95D5725755B5C84B502765B /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; }; - 1773A97443C5A2487B6F9C65D2A9D3A0 /* MixpanelType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MixpanelType.m; path = Mixpanel/MixpanelType.m; sourceTree = ""; }; - 177AB8D645A00B2C32978B2CBC8B2CB4 /* RSSFeedItemSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedItemSource.swift; path = Sources/FeedKit/Models/RSS/RSSFeedItemSource.swift; sourceTree = ""; }; - 17B44F143660645457AB425FF5570643 /* ge_sub.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge_sub.h; path = Sources/ed25519/ge_sub.h; sourceTree = ""; }; - 17C68DAC6E54E19A56CFA518CA6A824F /* MTLJSONAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLJSONAdapter.h; path = Mantle/MTLJSONAdapter.h; sourceTree = ""; }; - 1843275422AD29D90A8469D66A8712E0 /* YapDatabaseSearchResultsView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSearchResultsView.m; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsView.m; sourceTree = ""; }; - 1884AE45F6B0E1F71A7AC4484FC006FF /* OWSDisappearingMessagesConfigurationMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesConfigurationMessage.m; sourceTree = ""; }; - 1899DCCD974D0FB7106735EA27BFFBB8 /* YapDatabase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabase.m; path = YapDatabase/YapDatabase.m; sourceTree = ""; }; - 18A4E2EA17A9C16DE5F7F701D48F7324 /* NSNotificationCenter+AutomaticTracks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AutomaticTracks.h"; path = "Mixpanel/NSNotificationCenter+AutomaticTracks.h"; sourceTree = ""; }; - 18F53D4E2D908074330A08C1F39A69BD /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; - 18FE75B619205E672A28A81A04DFE1E5 /* OWSSyncGroupsRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSSyncGroupsRequestMessage.m; sourceTree = ""; }; - 194E648A8F13373CEA3BFA0118DBF82D /* MixpanelPeoplePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MixpanelPeoplePrivate.h; path = Mixpanel/MixpanelPeoplePrivate.h; sourceTree = ""; }; - 19799CB714A23C8CA3783288CA859246 /* YapDatabaseViewRangeOptionsPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewRangeOptionsPrivate.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewRangeOptionsPrivate.h; sourceTree = ""; }; - 1986C91CD031D3D220E3EAC788606980 /* DDOSLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDOSLogger.m; path = Classes/DDOSLogger.m; sourceTree = ""; }; - 19D0B787F34696B242570A94A934306B /* DeviceNames.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceNames.swift; sourceTree = ""; }; - 19DED4270F3A4A991FD70BA53B7B92E0 /* TSOutgoingMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSOutgoingMessage.m; sourceTree = ""; }; - 1A13860A8382559D48DC80C448E55F90 /* NSArray+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+PureLayout.m"; path = "PureLayout/PureLayout/NSArray+PureLayout.m"; sourceTree = ""; }; - 1A3455FD784481A3E8EB8224646C77C3 /* YapDatabaseString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseString.h; path = YapDatabase/Internal/YapDatabaseString.h; sourceTree = ""; }; - 1A3A050502A4FD8E9116374162E1EA09 /* YapDatabaseRTreeIndexHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexHandler.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexHandler.h; sourceTree = ""; }; - 1A4741F22F6E02CCB8CA9F7F7F3B6E1E /* MPUIEdgeInsetsToNSDictionaryValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPUIEdgeInsetsToNSDictionaryValueTransformer.m; path = Mixpanel/MPUIEdgeInsetsToNSDictionaryValueTransformer.m; sourceTree = ""; }; - 1A8A27598DE7CF822770D7E7045193ED /* Message+JSONAdditions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Message+JSONAdditions.swift"; path = "Sources/SwiftProtobuf/Message+JSONAdditions.swift"; sourceTree = ""; }; - 1A98145231184259283BC98403B4431B /* LokiAPI+SwarmAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "LokiAPI+SwarmAPI.swift"; sourceTree = ""; }; - 1AAD033C85C2C66AFC36B213558780C7 /* YapDatabaseViewRangeOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewRangeOptions.h; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewRangeOptions.h; sourceTree = ""; }; - 1B5428DB11A994F8FBE4B205C104490D /* PreKeyBundle+jsonDict.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PreKeyBundle+jsonDict.m"; sourceTree = ""; }; - 1B789076D03430EDF905884E6B0EA378 /* NSDictionary+MTLMappingAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLMappingAdditions.h"; path = "Mantle/NSDictionary+MTLMappingAdditions.h"; sourceTree = ""; }; - 1B9A457A6F21B2C3CB8DFA791F75E61A /* AES-CBC.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AES-CBC.m"; path = "AxolotlKit/Classes/Crypto/AES-CBC.m"; sourceTree = ""; }; - 1BEC36268F5FFA97712E3D79B62B77D1 /* YapDatabaseFullTextSearch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFullTextSearch.m; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.m; sourceTree = ""; }; - 1C9764A733B69C180D08242EEC70BAC9 /* OWSPrimaryStorage+PreKeyStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+PreKeyStore.m"; sourceTree = ""; }; - 1C9E3F8D7ACBBDC9E7CD3ED4EB0D7D87 /* OWSDevice.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDevice.m; sourceTree = ""; }; - 1CA0E28DDF139EFBD2ADB0DFE21AFF84 /* NSDictionary+YapDatabase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+YapDatabase.m"; path = "YapDatabase/Internal/NSDictionary+YapDatabase.m"; sourceTree = ""; }; - 1CA73AB49B75E99B11DD622A4470F816 /* CDSSigningCertificate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CDSSigningCertificate.h; sourceTree = ""; }; - 1CA7DB4D573C975123ABCC82360FB409 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; - 1CA9DCB081FFCA77E7EECC676D24EF95 /* SwiftProtobuf.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftProtobuf.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1D12446754551A6BD4EDC0D4DEE22025 /* HKDFKitTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HKDFKitTests.m; path = HKDFKit/HKDFKitTests/HKDFKitTests.m; sourceTree = ""; }; - 1D4D7406B5279C449FBABFB76755D86F /* PreKeyRefreshOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PreKeyRefreshOperation.swift; sourceTree = ""; }; - 1D4F351BFDC6C7359C248A6349ACC94F /* DeviceLink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceLink.swift; sourceTree = ""; }; - 1D4F984B3985C5184DC80ED5B7621683 /* MPABTestDesignerTweakRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerTweakRequestMessage.m; path = Mixpanel/MPABTestDesignerTweakRequestMessage.m; sourceTree = ""; }; - 1D77E3FFE9CCE93A6E53630E7A14A695 /* YapDatabaseCloudKitOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKitOptions.h; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitOptions.h; sourceTree = ""; }; - 1D84E004B213E9492B07B70F758C4AE9 /* RSSFeedImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedImage.swift; path = Sources/FeedKit/Models/RSS/RSSFeedImage.swift; sourceTree = ""; }; - 1DB94A9B593057F885764996C43732C8 /* CocoaLumberjack-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CocoaLumberjack-umbrella.h"; sourceTree = ""; }; - 1DBB84FB7DDF05C2CFFC0D2DAE29E31E /* OWSOutgoingSentMessageTranscript.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOutgoingSentMessageTranscript.h; sourceTree = ""; }; - 1DCDF4E4F7A5BF7CF5A6D876A5F5946E /* UIView+MPHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+MPHelpers.h"; path = "Mixpanel/UIView+MPHelpers.h"; sourceTree = ""; }; - 1DD17B5ECE25C0A918D4912FACCDCEEE /* RatchetingSessionTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RatchetingSessionTest.m; path = AxolotlKitTests/RatchetingSessionTest.m; sourceTree = ""; }; - 1E2707BC55B8E170117FB4792D857041 /* AxolotlKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AxolotlKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1E3A41FE57DB22CC250C62FF85360CB3 /* Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Internal.swift; path = Sources/SwiftProtobuf/Internal.swift; sourceTree = ""; }; - 1E3FB4A1382C1FFA5148218F20C9CFFD /* YapDatabaseConnectionState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseConnectionState.m; path = YapDatabase/Internal/YapDatabaseConnectionState.m; sourceTree = ""; }; - 1E585504BF3C4FB0261574A536689866 /* BinaryEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryEncoder.swift; path = Sources/SwiftProtobuf/BinaryEncoder.swift; sourceTree = ""; }; - 1E5C88EA887F574B2F28AD43BE4D4E0B /* YapDatabaseCloudCoreConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreConnection.h; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreConnection.h; sourceTree = ""; }; - 1E637B71925C6A62FD471662EB0B5C79 /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; - 1E769584921D49C3BBAF11D4AA22CACF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 1E8C064653798294D43D211BBEA38555 /* BinaryDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDecoder.swift; path = Sources/SwiftProtobuf/BinaryDecoder.swift; sourceTree = ""; }; - 1E9FAB28E05B56D6830C0E750279DD01 /* SSLClientCertificate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLClientCertificate.swift; path = Sources/Starscream/SSLClientCertificate.swift; sourceTree = ""; }; - 1EA1C5787FEFD053469BC9B027A9211F /* RKCK.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RKCK.m; path = AxolotlKit/Classes/Ratchet/RKCK.m; sourceTree = ""; }; - 1EE786D1E443FD302BCED4ED0B06FFA9 /* NBMetadataHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBMetadataHelper.m; path = libPhoneNumber/NBMetadataHelper.m; sourceTree = ""; }; - 1EF54C98DC41ABB6402A6B9903584663 /* RSSFeedTextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedTextInput.swift; path = Sources/FeedKit/Models/RSS/RSSFeedTextInput.swift; sourceTree = ""; }; - 1EF5A9F1AB08EFB9BA5338DBFC10FC34 /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; - 1F024AFC31350DD45E4781EF446ECF7E /* YapDatabaseConnection+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YapDatabaseConnection+OWS.h"; sourceTree = ""; }; - 1F04B1C74A1C086FA6C1C0E879AFFE49 /* NBPhoneNumberUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBPhoneNumberUtil.m; path = libPhoneNumber/NBPhoneNumberUtil.m; sourceTree = ""; }; - 1F1B17C7AEBF18EA9167BCFB41F6789B /* NVActivityIndicatorAnimationCubeTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationCubeTransition.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationCubeTransition.swift; sourceTree = ""; }; - 205805D42726E01B8017721524735D03 /* GCDWebServerHTTPStatusCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerHTTPStatusCodes.h; path = GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h; sourceTree = ""; }; - 205C24276CC6B9FB6D0C1955AD662B1E /* NSUserDefaults+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSUserDefaults+OWS.h"; sourceTree = ""; }; - 20636B4CE8368F21D83E227B3D1089DE /* Starscream-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Starscream-dummy.m"; sourceTree = ""; }; - 207A5E89B774BA85F2CE7215353EA1B8 /* SSKEnvironment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSKEnvironment.h; path = SignalServiceKit/src/SSKEnvironment.h; sourceTree = ""; }; - 207DC2E69DC65C3E7DBF8C725DA0BC67 /* fe_sub.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_sub.c; path = Sources/ed25519/fe_sub.c; sourceTree = ""; }; - 20B74EDF43E008156935F7B0E8CF9CD6 /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; - 20D597AB3C09E2C7A0D75FD0EE31E446 /* OWSCountryMetadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSCountryMetadata.m; sourceTree = ""; }; - 20DD67FB46BD7D4792D217AF377F2E21 /* NSError+MessageSending.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSError+MessageSending.h"; sourceTree = ""; }; - 20F985311D3E29EE374EDF7C93E2316E /* MPFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPFoundation.h; path = Mixpanel/MPFoundation.h; sourceTree = ""; }; - 2188620CAEE4D9EAB27A5058EAB0D537 /* YapDatabaseFullTextSearch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearch.h; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.h; sourceTree = ""; }; - 21BE40E74375E0A59D5A7141B499A45E /* NSString+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+OWS.h"; path = "SignalCoreKit/src/NSString+OWS.h"; sourceTree = ""; }; - 21FBBFF5966E66319781B71D09CB153F /* String+OWS.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+OWS.swift"; path = "SignalCoreKit/src/String+OWS.swift"; sourceTree = ""; }; - 2220D5A9DEEDCD1017683E928663990F /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; - 222B60328C041F116E901BF5D3F54600 /* SignalCoreKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalCoreKit-umbrella.h"; sourceTree = ""; }; - 2248B3DBB78A4CD725A624C46AF325BE /* MPObjectSelector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPObjectSelector.h; path = Mixpanel/MPObjectSelector.h; sourceTree = ""; }; - 2290520DD3FA01A8024A9BE27D4F6E9E /* fe_cmov.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_cmov.c; path = Sources/ed25519/fe_cmov.c; sourceTree = ""; }; - 22AC1331D73AA4F2B25D4A11BBE7967E /* MPObjectSerializerContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPObjectSerializerContext.h; path = Mixpanel/MPObjectSerializerContext.h; sourceTree = ""; }; - 22C39987B5CFCF935A6F14B4130C4439 /* MPClassDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPClassDescription.h; path = Mixpanel/MPClassDescription.h; sourceTree = ""; }; - 22D30159606B759BD24AF772AF7EA63D /* TSPreKeyManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSPreKeyManager.h; sourceTree = ""; }; - 231FA0445BEC36224C98538C68CC984D /* GTSR2.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GTSR2.crt; sourceTree = ""; }; - 239BC4DA11A97D319309931AEA35F8B8 /* DDLoggerNames.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDLoggerNames.m; path = Classes/DDLoggerNames.m; sourceTree = ""; }; - 23A7B82DC7E1224B35F12371FFD32B1B /* NSDate+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+OWS.h"; path = "SignalCoreKit/src/NSDate+OWS.h"; sourceTree = ""; }; - 23B10BBE78DFD83CD88FA08A9B3179E5 /* OWSError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSError.h; sourceTree = ""; }; - 23BDD2DF8DC7C8AA4509CB97B8FE4202 /* YDBCKRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKRecord.h; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecord.h; sourceTree = ""; }; - 23BE798271C6533CDDFFC8030BD58671 /* SessionBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionBuilder.m; path = AxolotlKit/Classes/Sessions/SessionBuilder.m; sourceTree = ""; }; - 241F9EA2DF08CF77476696D3DF7C14F1 /* MPTweakInline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPTweakInline.h; path = Mixpanel/MPTweakInline.h; sourceTree = ""; }; - 2423FD3D23F65E5E00902D5B /* LokiServiceCipher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LokiServiceCipher.swift; sourceTree = ""; }; - 2423FD3F23F9F36000902D5B /* SessionResetProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionResetProtocol.swift; sourceTree = ""; }; - 2423FD4123F9F88700902D5B /* SessionResetStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionResetStatus.swift; sourceTree = ""; }; - 24390EFD555DD124430DFF9724065945 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 243AB39BA8DEB501EB1429C77F309526 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; }; - 2452B4F65545E02738D311EF03EA6BB2 /* TSOutgoingMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSOutgoingMessage.h; sourceTree = ""; }; - 247D825B1837D96A6C97C9E6FA0EE29F /* OWSMediaGalleryFinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMediaGalleryFinder.h; sourceTree = ""; }; - 24AFECA4B88CD4BA4097B7006561DD62 /* AxolotlExceptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AxolotlExceptions.h; path = AxolotlKit/Classes/AxolotlExceptions.h; sourceTree = ""; }; - 24BD2602234D5F040008EB0A /* LokiPublicChatPoller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LokiPublicChatPoller.swift; sourceTree = ""; }; - 24BD2604234D5F590008EB0A /* LokiPublicChatManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LokiPublicChatManager.swift; sourceTree = ""; }; - 24E59A0AB638C2BC4D5B59982C21CDDF /* MPEnumDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPEnumDescription.m; path = Mixpanel/MPEnumDescription.m; sourceTree = ""; }; - 24F7A1AB24FBB019BAEF7F631ED22BE8 /* YapDatabaseAutoViewConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseAutoViewConnection.h; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoViewConnection.h; sourceTree = ""; }; - 250EBB042EECCD16228E98E3BDBB1C20 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 252AAEA028E444A93B5A6579EBA49532 /* YapDatabaseRTreeIndexTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexTransaction.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexTransaction.h; sourceTree = ""; }; - 2576B4213F93DD700E0E118B09CCBADF /* MPPassThroughValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPPassThroughValueTransformer.m; path = Mixpanel/MPPassThroughValueTransformer.m; sourceTree = ""; }; - 2583A5D40AEE86F9507150BC7AFCB1D0 /* YapCollectionKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapCollectionKey.h; path = YapDatabase/Utilities/YapCollectionKey.h; sourceTree = ""; }; - 258A51032744873A6ABFEFBB6C910C4F /* Curve25519Kit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Curve25519Kit.h; path = Classes/Curve25519Kit.h; sourceTree = ""; }; - 2595AACF40A9AB56E49C4AF4590B5531 /* SessionCipher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionCipher.m; path = AxolotlKit/Classes/SessionCipher.m; sourceTree = ""; }; - 259E13E084BFD450CBE05A38413B6976 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; - 25CFA51FA202E2D37C42A566A9D5793F /* iTunesOwner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = iTunesOwner.swift; path = Sources/FeedKit/Models/Namespaces/iTunes/iTunesOwner.swift; sourceTree = ""; }; - 25D179BC2E71D1D66BFE2C3AC51A85FB /* MTLJSONAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLJSONAdapter.m; path = Mantle/MTLJSONAdapter.m; sourceTree = ""; }; - 25E161F1874C26DE8B578DCCCCC95431 /* OWSOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOperation.m; sourceTree = ""; }; - 25E265D9710185BAC420FC2332BDFB6D /* YapDatabaseConnectionPool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseConnectionPool.h; path = YapDatabase/Extensions/ConnectionPool/YapDatabaseConnectionPool.h; sourceTree = ""; }; - 25E619EB976D0904B7B84391597DDFC1 /* YDBCKAttachRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKAttachRequest.m; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKAttachRequest.m; sourceTree = ""; }; - 25FC0921EB2F706ACA0BEB4C178F6545 /* OWSDisappearingMessagesJobTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesJobTest.m; sourceTree = ""; }; - 261D5D9E5EEE3411E6011DCAD943D8C4 /* RSSFeedSkipHour.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedSkipHour.swift; path = Sources/FeedKit/Models/RSS/RSSFeedSkipHour.swift; sourceTree = ""; }; - 261FD7252756ADC481EFF746C3C219D0 /* OWSIncomingMessageFinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSIncomingMessageFinder.m; sourceTree = ""; }; - 26238F22A146C33DCB68E1B152330F22 /* DDMultiFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMultiFormatter.h; path = Classes/Extensions/DDMultiFormatter.h; sourceTree = ""; }; - 26B9008F74BF53CA04543647AA5B1DCF /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; - 26BC71143B85B01C5BCBDF83D5F66FD7 /* compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = compare.h; path = Sources/ed25519/additions/compare.h; sourceTree = ""; }; - 26C9672B15E49D4FF15D95FF302C910D /* NSArray+MTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MTLManipulationAdditions.h"; path = "Mantle/NSArray+MTLManipulationAdditions.h"; sourceTree = ""; }; - 26E53CF04E58D2D15712F166F470D204 /* CDSQuote.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CDSQuote.m; sourceTree = ""; }; - 26F87741E5B6F18221A259A776FAC26E /* YapDatabaseSearchResultsViewTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSearchResultsViewTransaction.m; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewTransaction.m; sourceTree = ""; }; - 2711D1AD5560C23E5419C842DE766D0D /* YapDatabaseFullTextSearchHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFullTextSearchHandler.m; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchHandler.m; sourceTree = ""; }; - 272C0D7FFB36CC03E53244F8CF8CE466 /* ge_p3_tobytes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p3_tobytes.c; path = Sources/ed25519/ge_p3_tobytes.c; sourceTree = ""; }; - 27385AEBCA36967929610622FA424CFB /* MPCheckmark.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = MPCheckmark.png; path = Mixpanel/Images/MPCheckmark.png; sourceTree = ""; }; - 274793CD68CF2E978F703C274D76BFBF /* NSString+SSK.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+SSK.h"; sourceTree = ""; }; - 2759199DA11DB5D729AD9A1A8665889A /* Ed25519.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Ed25519.m; path = Classes/Ed25519.m; sourceTree = ""; }; - 278DC2A69FD599A123CD97F2A0DE1362 /* FIRComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponent.h; path = Firebase/Core/Private/FIRComponent.h; sourceTree = ""; }; - 27B632D75E3203AF8A588E62B62C6792 /* Mixpanel+AutomaticTracks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Mixpanel+AutomaticTracks.m"; path = "Mixpanel/Mixpanel+AutomaticTracks.m"; sourceTree = ""; }; - 27C1AE0B5402B11C62AFC8C2DADB0E85 /* OWSCountryMetadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSCountryMetadata.h; sourceTree = ""; }; - 27E79DDA774CEEBFCE0E540B278A89B2 /* MIMETypeUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MIMETypeUtil.h; sourceTree = ""; }; - 27FDF9C41E45E2FB2B3D11ECEB740D9E /* PhoneNumber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PhoneNumber.m; sourceTree = ""; }; - 281DD71E4F827C6DCFB5EFB0C4B4B97B /* SSZipArchive.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SSZipArchive.modulemap; sourceTree = ""; }; - 283969690CA3D0943474EE4DB5144948 /* YapSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapSet.m; path = YapDatabase/Utilities/YapSet.m; sourceTree = ""; }; - 28587F71F317D1468EBCAAAF805D5996 /* OWSDisappearingMessagesJob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDisappearingMessagesJob.h; sourceTree = ""; }; - 28A639EFFE5674AC0D8CAB18C0C78CC8 /* SignalCoreKit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SignalCoreKit-Unit-Tests-Info.plist"; sourceTree = ""; }; - 28C2CFDE79A3C656A18605233FCF2C89 /* crypto_verify_32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_verify_32.h; path = Sources/ed25519/nacl_includes/crypto_verify_32.h; sourceTree = ""; }; - 28FC3AF44C02D0714FAE77FBFAECC49E /* ge_p3_to_p2.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p3_to_p2.c; path = Sources/ed25519/ge_p3_to_p2.c; sourceTree = ""; }; - 2921917B4D7AF534D55BFAE5EF95CB4F /* DDLog+LOGV.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDLog+LOGV.h"; path = "Classes/DDLog+LOGV.h"; sourceTree = ""; }; - 29369BEA76FE6E8664A895B8F132C1DC /* Reachability.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Reachability.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 29715EA23EDAB97C21E54FB39075CDF6 /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; - 297265683C3D4324FD4A6E1A8C52C03C /* AtomFeed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeed.swift; path = Sources/FeedKit/Models/Atom/AtomFeed.swift; sourceTree = ""; }; - 29E981F0B35779D31664AC4A018B476D /* MessageSenderJobRecordTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MessageSenderJobRecordTest.swift; sourceTree = ""; }; - 2A0096EDF167D6A9055EFF48264BEE21 /* YapDatabaseFilteredView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFilteredView.m; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredView.m; sourceTree = ""; }; - 2A0DD51353BE4AEEA7ED81B8032CDAD3 /* SignalAccount.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SignalAccount.m; sourceTree = ""; }; - 2A6183BB69CE45E2C1A1BC08ECDAED4C /* YYImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YYImage.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2A6673F52A4EBEE444F8C414602E0B29 /* ProofOfWork.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ProofOfWork.swift; sourceTree = ""; }; - 2A72A510D8BEC122D6365BD5F991EFCA /* OWSRequestFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSRequestFactory.h; sourceTree = ""; }; - 2A93E487A839FBB1F1D59C95799CD482 /* UIImage+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+OWS.m"; sourceTree = ""; }; - 2AA8280D8A6FAE70BDA8DB0CBF1FF36C /* GCDWebServerFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFunctions.h; path = GCDWebServer/Core/GCDWebServerFunctions.h; sourceTree = ""; }; - 2AB4D9AEDA8542E68D23BB9CF2F7EF38 /* OWSChunkedOutputStream.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSChunkedOutputStream.m; sourceTree = ""; }; - 2AFD3D47C1786FDF80982E3013F7512C /* MPLogo.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = MPLogo.png; path = Mixpanel/Images/MPLogo.png; sourceTree = ""; }; - 2B16464D9FF3CA817BE7FC886AAB14FF /* Mnemonic.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Mnemonic.swift; sourceTree = ""; }; - 2B2D85078C3406A746B3A0F5EFE36998 /* GoogleUtilities.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GoogleUtilities.modulemap; sourceTree = ""; }; - 2B338243AC6ACC7643044A105F9C616B /* FullTextSearchFinder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FullTextSearchFinder.swift; sourceTree = ""; }; - 2B5C9002765D5BA3DC36A233277B1CD9 /* ContactDiscoveryService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ContactDiscoveryService.h; sourceTree = ""; }; - 2B6B0155A988F00C828C38819516BAF1 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; - 2B6D13ADDEC384B6BA1739C462F81DB5 /* YapDatabaseSecondaryIndexHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexHandler.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexHandler.h; sourceTree = ""; }; - 2B80F999F1FEC9238E0DB400473ACEB9 /* YapMemoryTable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapMemoryTable.m; path = YapDatabase/Internal/YapMemoryTable.m; sourceTree = ""; }; - 2B8CF218B79A05FFDEDD604FB7F2F76E /* YapDatabaseQuery.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseQuery.m; path = YapDatabase/Utilities/YapDatabaseQuery.m; sourceTree = ""; }; - 2BB55F736CA8C8B5DEC2DB0874AC2346 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2BEB4D25F479DA17507CAAA56BF02A25 /* NVActivityIndicatorAnimationSemiCircleSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationSemiCircleSpin.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationSemiCircleSpin.swift; sourceTree = ""; }; - 2BED6BF6C8550F5B37905EAA5CF203DF /* Pods-SignalTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SignalTests-dummy.m"; sourceTree = ""; }; - 2BF77802D06928C2AE02AFCD01F278FD /* JSONEncodingError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONEncodingError.swift; path = Sources/SwiftProtobuf/JSONEncodingError.swift; sourceTree = ""; }; - 2C250F76123AE2A2FC2C935309A52292 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2C3CAAA862D748378E9E6A760AB54570 /* SwiftProtobuf-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftProtobuf-prefix.pch"; sourceTree = ""; }; - 2C61E1FF368935181F2F3A60FE189647 /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; - 2C650F10B17EC65CDD202C2E09A610E3 /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalCoreKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2C8F16A2D7028924AA0FB3724F214624 /* MPUIColorToNSStringValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPUIColorToNSStringValueTransformer.m; path = Mixpanel/MPUIColorToNSStringValueTransformer.m; sourceTree = ""; }; - 2CC6E59462D5E48FAC3A4DC259C71BBA /* DublinCoreNamespace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DublinCoreNamespace.swift; path = "Sources/FeedKit/Models/Namespaces/Dublin Core/DublinCoreNamespace.swift"; sourceTree = ""; }; - 2CDED2B29E6A4F6B2239EC19149318A7 /* MPTweakStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPTweakStore.h; path = Mixpanel/MPTweakStore.h; sourceTree = ""; }; - 2CE4EF549F4DA9C3E7B4A76913C6C6B4 /* OWSPrimaryStorage+Loki.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+Loki.h"; sourceTree = ""; }; - 2CF821C2DA787F51973337E3F555118A /* GoogleUtilities-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GoogleUtilities-umbrella.h"; sourceTree = ""; }; - 2D09C4714B2A8993C608A83B817AE98C /* Google_Protobuf_Value+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Value+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Value+Extensions.swift"; sourceTree = ""; }; - 2D5AFDE85D0D6DA306D0886DA6C15B57 /* YapDatabaseManualViewTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseManualViewTransaction.h; path = YapDatabase/Extensions/ManualView/YapDatabaseManualViewTransaction.h; sourceTree = ""; }; - 2D6D61E2F16376AE5A36EC72C5C99127 /* DDMultiFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMultiFormatter.m; path = Classes/Extensions/DDMultiFormatter.m; sourceTree = ""; }; - 2D9CC07100634A947940D6391CCC4982 /* MTLReflection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLReflection.m; path = Mantle/MTLReflection.m; sourceTree = ""; }; - 2DDABD2D76E37C1429D527F53F2261BE /* fe_frombytes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_frombytes.c; path = Sources/ed25519/fe_frombytes.c; sourceTree = ""; }; - 2E0CEFC59D9C26A1D217CA69E8DE35C5 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; - 2E0FE9C9FBB6DA5628A8EDB59F0E5CC4 /* TSSocketManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSSocketManager.m; sourceTree = ""; }; - 2E5461D0817CA802D5E058031199A8C1 /* PhoneNumberUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PhoneNumberUtil.m; sourceTree = ""; }; - 2E655D1298C69E2F89F61A26675D2BD0 /* NSInvocation+MPHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+MPHelpers.m"; path = "Mixpanel/NSInvocation+MPHelpers.m"; sourceTree = ""; }; - 2E8525709A0114B7139F14AF29AC263E /* String+Trimming.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+Trimming.swift"; sourceTree = ""; }; - 2E8B2664B0166EF0798858C1BE3D80B7 /* YapDatabaseFilteredViewConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFilteredViewConnection.h; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewConnection.h; sourceTree = ""; }; - 2EB46776C096FB8B596234DA0D5F04CC /* MixpanelGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MixpanelGroup.h; path = Mixpanel/MixpanelGroup.h; sourceTree = ""; }; - 2EDBB277E96112EAA743405CB6931B68 /* YapActionItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapActionItem.h; path = YapDatabase/Extensions/ActionManager/YapActionItem.h; sourceTree = ""; }; - 2F4C9B04A67EF8FBBB1A3EB5F652425B /* MPDesignerEventBindingResponseMesssage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPDesignerEventBindingResponseMesssage.m; path = Mixpanel/MPDesignerEventBindingResponseMesssage.m; sourceTree = ""; }; - 2F4EE810973AA3AB39B590B6E0A5C276 /* Data+SMKTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+SMKTests.swift"; path = "SignalMetadataKitTests/src/Data+SMKTests.swift"; sourceTree = ""; }; - 2F813AD4A90C2E6B242B9AE8EAEADC21 /* ChainAndIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ChainAndIndex.m; path = AxolotlKit/Classes/Ratchet/ChainAndIndex.m; sourceTree = ""; }; - 2FA2FC7794692BCA3A9F80584AEB5E59 /* FirebaseCore.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseCore.xcconfig; sourceTree = ""; }; - 2FC9A14D995E077D8FAFD90BCAE98759 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2FD1469F2176D3F02C0AC88B7736504D /* WebSocketResources.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebSocketResources.pb.swift; sourceTree = ""; }; - 303ADF30C949883DA207B1E2A433C3D7 /* MixpanelExceptionHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MixpanelExceptionHandler.m; path = Mixpanel/MixpanelExceptionHandler.m; sourceTree = ""; }; - 3045469D4844D35BA714F162358A2E08 /* Pods-Signal-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Signal-acknowledgements.markdown"; sourceTree = ""; }; - 30685EE39DA8C993AC2D573914109B2B /* SignalMetadataKit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SignalMetadataKit-Unit-Tests-Info.plist"; sourceTree = ""; }; - 3068ECCB29640B1E5F286DA000D044EC /* mz_crypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_crypt.h; path = SSZipArchive/minizip/mz_crypt.h; sourceTree = ""; }; - 3097DE003D80C0F81C1E4592902601CC /* DeviceLinkIndex.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceLinkIndex.swift; sourceTree = ""; }; - 30A0CFC665FE03AA30BA02E63F81D9C3 /* XMLFeedParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XMLFeedParser.swift; path = Sources/FeedKit/Parser/XMLFeedParser.swift; sourceTree = ""; }; - 30AD78F16BFA30E7E23972305B711DEC /* TSDatabaseSecondaryIndexes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSDatabaseSecondaryIndexes.m; sourceTree = ""; }; - 3113BF53104A90B44A020718F60C678C /* NVActivityIndicatorAnimationBallDoubleBounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallDoubleBounce.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallDoubleBounce.swift; sourceTree = ""; }; - 311EEE5A80D2A1962871A5BD42666342 /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; - 312346232AE4302E70F79EAFBD0C935D /* OWSDisappearingMessagesFinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesFinder.m; sourceTree = ""; }; - 31459344F7E9FD43279DD41408F442F4 /* OWSBatchMessageProcessor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSBatchMessageProcessor.h; sourceTree = ""; }; - 314EF9BEED5F381E40FCC6662D62551B /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; - 3182456F0B62C43D821ABE8061EB18EE /* RSSFeedCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedCategory.swift; path = Sources/FeedKit/Models/RSS/RSSFeedCategory.swift; sourceTree = ""; }; - 3182666BD26428150331703CD5F5CC91 /* YapDatabaseFullTextSearchSnippetOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearchSnippetOptions.h; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.h; sourceTree = ""; }; - 31A210D252F971DCC2494BF2AEA3B89D /* spanish.txt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = spanish.txt; sourceTree = ""; }; - 31A23987CBDCB916F6EBBAAEA847F257 /* ReverseDispatchQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ReverseDispatchQueue.swift; sourceTree = ""; }; - 31A72EA968D50CC0BB07EBE127EF81E4 /* MediaRights.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaRights.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaRights.swift; sourceTree = ""; }; - 31CDE33D1F9F0A23F7FF5ADECFAE4332 /* SignalServiceKit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalServiceKit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; - 31D41BE50697F457E1DE22E189D2088C /* YapDatabaseSearchResultsViewTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchResultsViewTransaction.h; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewTransaction.h; sourceTree = ""; }; - 31DDDBD6315049C737EABB82033EE1B1 /* YapDatabaseExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseExtension.m; path = YapDatabase/Extensions/Protocol/YapDatabaseExtension.m; sourceTree = ""; }; - 31E2536F147CB4FDEECB0A150849BCEE /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; - 31EF34DE0D3F982275897C13751E8B97 /* GoogleUtilities.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GoogleUtilities.xcconfig; sourceTree = ""; }; - 323436477D93E81C5087CE531740AB04 /* OWSReadReceiptsForLinkedDevicesMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSReadReceiptsForLinkedDevicesMessage.m; sourceTree = ""; }; - 3255AF0944F19DC87FC74897AA8CB141 /* OWSMessageReceiver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageReceiver.m; sourceTree = ""; }; - 3260704BE6EAD57310DBD1D6675A4A4B /* MediaCopyright.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaCopyright.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaCopyright.swift; sourceTree = ""; }; - 32AAB9F55D1E0C668532AB5547B11E56 /* ProtoUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ProtoUtils.m; sourceTree = ""; }; - 32BA8FE1024D1D1787DF7C94F92BF63C /* PureLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PureLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 32C2B32A9BECEEAB09A2B39AE4775B32 /* NSTimer+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSTimer+OWS.h"; sourceTree = ""; }; - 32E0A1B905791E4B8AF16CE75F5394A7 /* SigningTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SigningTests.m; path = BuildTests/BuildTestsTests/SigningTests.m; sourceTree = ""; }; - 3330DA2C7A233B849AC1219FB97C4B32 /* MPABTestDesignerMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerMessage.h; path = Mixpanel/MPABTestDesignerMessage.h; sourceTree = ""; }; - 3343D540984FDA732DDFAEE3A2248C9F /* Starscream.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Starscream.modulemap; sourceTree = ""; }; - 334CC7FC585C3A44649E4BEFB30C01AF /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; - 334CDC23CF6221375A2436F5C952D28E /* MPCloseButton.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = MPCloseButton.png; path = Mixpanel/Images/MPCloseButton.png; sourceTree = ""; }; - 336A934ADA930B34456BD10A5D7D3AEC /* TSDatabaseView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSDatabaseView.m; sourceTree = ""; }; - 3380360D6D1B1C942E69DD5F25F04F2F /* YapDatabaseHooksTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseHooksTransaction.h; path = YapDatabase/Extensions/Hooks/YapDatabaseHooksTransaction.h; sourceTree = ""; }; - 338696C772A8AD46E59905D7C510B226 /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; - 3395B3A342D6D61858A3C7E3CED6FBF8 /* FirebaseCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FirebaseCore-umbrella.h"; sourceTree = ""; }; - 33D64F9B0221290106B109FE5AC3EBE2 /* YapDatabase.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YapDatabase.xcconfig; sourceTree = ""; }; - 33DA0BFD0C217738710B023DCCFB4322 /* Pods-SignalTests.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalTests.app store release.xcconfig"; sourceTree = ""; }; - 347D55498D7D5CE5C8362AC3147472E2 /* YapDatabase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YapDatabase-prefix.pch"; sourceTree = ""; }; - 34981F5627CC5BD617921A30E2BBBE61 /* YapDatabaseRelationshipOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipOptions.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.h; sourceTree = ""; }; - 349F565BF75CB2FA84D297EF716C8BD2 /* NSUserDefaults+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSUserDefaults+OWS.m"; sourceTree = ""; }; - 34B8E5C4FA96CD2B24C1C683AE32730C /* OWSOutgoingCallMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOutgoingCallMessage.m; sourceTree = ""; }; - 34BCD2EA7690741B4F49743C2B2118F5 /* OWSBackupFragment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSBackupFragment.h; sourceTree = ""; }; - 34C24474FEF08ABD8E3806B721DE54C1 /* JSONDecodingError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONDecodingError.swift; path = Sources/SwiftProtobuf/JSONDecodingError.swift; sourceTree = ""; }; - 34F037F018798DCE71A2B3569C82D42C /* mz_compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_compat.h; path = SSZipArchive/minizip/mz_compat.h; sourceTree = ""; }; - 356894955FAAF58C7308E7A84127EA8D /* OWSIdentityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSIdentityManager.h; sourceTree = ""; }; - 358EB474C92B8F1A9B1DB43EC292F8DB /* Curve25519Kit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Curve25519Kit-dummy.m"; sourceTree = ""; }; - 358FC83C9CA12139F5E540ED0E3DF11D /* Google_Protobuf_Duration+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Duration+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Duration+Extensions.swift"; sourceTree = ""; }; - 35910147F63B8583A48613E0F7300839 /* YapDatabaseActionManagerConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseActionManagerConnection.m; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerConnection.m; sourceTree = ""; }; - 359F720D8AEA1089BCA448A8951FA4BF /* SignalServiceKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalServiceKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 35AE8E24348CE51C89C428D5845EE400 /* Chain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Chain.h; path = AxolotlKit/Classes/Ratchet/Chain.h; sourceTree = ""; }; - 35B07A8D2AF82C7856E565A1BF0958BE /* OWSSyncGroupsMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSSyncGroupsMessage.m; sourceTree = ""; }; - 35D992F96AF54C428A510D5B47EE39F4 /* OWSBlockingManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSBlockingManager.m; sourceTree = ""; }; - 361863AE9BE5AA06092743C5C9847B03 /* MediaTag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaTag.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaTag.swift; sourceTree = ""; }; - 36354B593D4A004C67ADF448C8A66FDF /* YapDatabaseHooksConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseHooksConnection.h; path = YapDatabase/Extensions/Hooks/YapDatabaseHooksConnection.h; sourceTree = ""; }; - 366558CAF41F4A28EE8669D36463C0E2 /* libPhoneNumber-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "libPhoneNumber-iOS-umbrella.h"; sourceTree = ""; }; - 3665C83E2BC951E808844D5D5127A911 /* YapDatabaseAtomic.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseAtomic.h; path = YapDatabase/Internal/YapDatabaseAtomic.h; sourceTree = ""; }; - 36A4AA6C1DCC8804995533D132D96603 /* MPTweakInlineInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPTweakInlineInternal.h; path = Mixpanel/MPTweakInlineInternal.h; sourceTree = ""; }; - 36A62AAC7F296F9BC359CD636DB6F24F /* MPABTestDesignerChangeRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerChangeRequestMessage.h; path = Mixpanel/MPABTestDesignerChangeRequestMessage.h; sourceTree = ""; }; - 36F36AA3356C3685BC291FCBD92EDB70 /* SelectorEvaluator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SelectorEvaluator.h; path = Mixpanel/SelectorEvaluator.h; sourceTree = ""; }; - 3707A41E27D48013BD1DFE8816D2CF18 /* YapProxyObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapProxyObject.m; path = YapDatabase/Utilities/YapProxyObject.m; sourceTree = ""; }; - 378BFF54C647177702DFA1AC059EA7D9 /* ExtensibleMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtensibleMessage.swift; path = Sources/SwiftProtobuf/ExtensibleMessage.swift; sourceTree = ""; }; - 37FDB090722B49D0728C605B50666B7E /* Google_Protobuf_Wrappers+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Wrappers+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Wrappers+Extensions.swift"; sourceTree = ""; }; - 3840ED8D8DF0169E7A122DA6BA44F883 /* OWSFakeMessageSender.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFakeMessageSender.m; sourceTree = ""; }; - 3843F4F9FCDD989A9A60967A6BABEA64 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 384EAACE30ECC8CD105F599D618F6FDA /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Sources/FeedKit/Parser/Result.swift; sourceTree = ""; }; - 385C667126D7E5553E9F7010846A00A7 /* GCDWebServerConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerConnection.m; path = GCDWebServer/Core/GCDWebServerConnection.m; sourceTree = ""; }; - 38C8A1D2E65889F825312B551C5A69A8 /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; - 38D3258760341C2F323FC2DB2615B6A3 /* LokiP2PAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiP2PAPI.swift; sourceTree = ""; }; - 390C2C6A1F5E0B473B1B18C8318A6503 /* fe_pow22523.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_pow22523.c; path = Sources/ed25519/fe_pow22523.c; sourceTree = ""; }; - 39175E320E4B46FD8D7D823F0D5E0B56 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; - 3948497597DCFA9063811677EEDF88F9 /* FIRConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRConfiguration.m; path = Firebase/Core/FIRConfiguration.m; sourceTree = ""; }; - 397F0C4831DD9B0F806A12A94E5A10B0 /* RSSPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSPath.swift; path = Sources/FeedKit/Models/RSS/RSSPath.swift; sourceTree = ""; }; - 398029584AEAAC09651007103AC98C90 /* YapDatabaseFullTextSearchSnippetOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFullTextSearchSnippetOptions.m; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.m; sourceTree = ""; }; - 39BAD3FDA208CD4A50B0E695AFD9935C /* GCDWebServerDataRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataRequest.h; path = GCDWebServer/Requests/GCDWebServerDataRequest.h; sourceTree = ""; }; - 39E6C959B491C89E95D9E3B9417AE17F /* DigiCertSHA2HighAssuranceServerCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = DigiCertSHA2HighAssuranceServerCA.crt; sourceTree = ""; }; - 39F2F5905D5002758E3400F5D54F5181 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; - 3A51302704A16FC923CCF3E02B425214 /* OWSLinkPreviewTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSLinkPreviewTest.swift; sourceTree = ""; }; - 3A9BBB0D2609413A7F79BA505BC1DE8E /* SAMKeychain.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SAMKeychain.bundle; path = Support/SAMKeychain.bundle; sourceTree = ""; }; - 3AAD6AA7C7742C21E8F13B00CCA85538 /* SSLSecurity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLSecurity.swift; path = Sources/Starscream/SSLSecurity.swift; sourceTree = ""; }; - 3AC01B0E733C60428D6E5FD466899EF9 /* NBNumberFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBNumberFormat.h; path = libPhoneNumber/NBNumberFormat.h; sourceTree = ""; }; - 3AD4746722076FAEECFEC2FDC0F7B1CB /* YapDatabaseAutoViewTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseAutoViewTransaction.m; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoViewTransaction.m; sourceTree = ""; }; - 3B7911A5D7D96A0A6DEDAA4B9E1AF242 /* NSData+messagePadding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+messagePadding.m"; path = "SignalMetadataKit/src/NSData+messagePadding.m"; sourceTree = ""; }; - 3B9DD9A1C9D769883B0D5575FD245942 /* YapNull.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapNull.m; path = YapDatabase/Internal/YapNull.m; sourceTree = ""; }; - 3BCFCF7F32FBEAA223E282BD3B5376F3 /* YapDatabaseQuery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseQuery.h; path = YapDatabase/Utilities/YapDatabaseQuery.h; sourceTree = ""; }; - 3C238F9755CBB130713A9B345197D765 /* SessionCipher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionCipher.h; path = AxolotlKit/Classes/SessionCipher.h; sourceTree = ""; }; - 3C7E522DCF8A58A8DCFEB218E34E98C2 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; - 3D03A9149C1A2205B5AE6A7B4012B543 /* YapDatabaseView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseView.m; path = YapDatabase/Extensions/View/YapDatabaseView.m; sourceTree = ""; }; - 3D08194AD12F0A23EDEB22601DB0B593 /* LokiAPITarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiAPITarget.swift; sourceTree = ""; }; - 3D6BF3CAAB281CFE10C957863C23003E /* NSString+SSK.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+SSK.m"; sourceTree = ""; }; - 3D8264CA34ED00776B517F3C7A1EB394 /* AtomFeedEntrySource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntrySource.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntrySource.swift; sourceTree = ""; }; - 3D87EBA53443140FA08AAB98E6909E02 /* YapDatabaseViewTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewTransaction.m; path = YapDatabase/Extensions/View/YapDatabaseViewTransaction.m; sourceTree = ""; }; - 3D933A8EF316F51A57B2AE9710652786 /* NSObject+Casting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSObject+Casting.h"; sourceTree = ""; }; - 3DA1EB2A8B627B2753EC069A98C08782 /* YapDatabaseViewPage.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = YapDatabaseViewPage.mm; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewPage.mm; sourceTree = ""; }; - 3DCC9D98B18F043FEC53E28985AE30FC /* SSKEnvironment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SSKEnvironment.m; path = SignalServiceKit/src/SSKEnvironment.m; sourceTree = ""; }; - 3DFD4C3F90E7B2B98DB974DB0C06588A /* MPABTestDesignerClearRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerClearRequestMessage.h; path = Mixpanel/MPABTestDesignerClearRequestMessage.h; sourceTree = ""; }; - 3E04B0CA6DAFD71AC4B6026C371D4DC7 /* MPEventBinding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPEventBinding.m; path = Mixpanel/MPEventBinding.m; sourceTree = ""; }; - 3E14CC41F29722DB82EAA0CF5E4FDDDE /* FeedKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FeedKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3E2637B7738A729ED9FF2DD1D3097287 /* AtomFeedEntryAuthor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntryAuthor.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntryAuthor.swift; sourceTree = ""; }; - 3E45062EF5EBF9C3185C7B51CC699C4C /* ANSCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ANSCompatibility.h; path = iOS/Crashlytics.framework/Headers/ANSCompatibility.h; sourceTree = ""; }; - 3E4C521CA4F23E6E681258C675CDC569 /* TSPreKeyManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSPreKeyManager.m; sourceTree = ""; }; - 3E4DA8F7E32B5AB0185D26142D4CAA64 /* SMKSenderCertificate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKSenderCertificate.swift; path = SignalMetadataKit/src/SMKSenderCertificate.swift; sourceTree = ""; }; - 3E671BF8A9811CCB9BA6897B4A726E0C /* OWSEndSessionMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSEndSessionMessage.h; sourceTree = ""; }; - 3E82C3917488BD813AD4A052A208B366 /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; - 3E8B5FA29ED293689AED9B7A96F95516 /* Pods-SignalTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SignalTests-acknowledgements.markdown"; sourceTree = ""; }; - 3E8DDFFE8C8092EBAF1BB12B7A8E8C46 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3EA4FEBE32ED56A07C4A1F6F4150972A /* YapDatabaseRTreeIndexSetup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexSetup.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexSetup.h; sourceTree = ""; }; - 3EE49DB0D7927BEA6CB565ABFBA8BAFA /* YapDatabaseSecondaryIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndex.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.m; sourceTree = ""; }; - 3F48D1F1B6112CA6428AF64118B2B014 /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; - 3F717481D90C57205A242121A446F6D0 /* Mantle.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Mantle.modulemap; sourceTree = ""; }; - 3F84D9E5CFB1D75926D72005DD2A77D1 /* YapDatabaseManualView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseManualView.m; path = YapDatabase/Extensions/ManualView/YapDatabaseManualView.m; sourceTree = ""; }; - 3F8BE52C8C2E9B4B63ADB8FDD751F209 /* any.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = any.pb.swift; path = Sources/SwiftProtobuf/any.pb.swift; sourceTree = ""; }; - 3F8CFF3E3FAD9A589537AF367DDDB096 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; - 3FBCC6E42B5D29EB7C1F03C18AFD93F2 /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; - 4091955B2A674FCE6503B6EDD7D3967A /* OWSBlockedPhoneNumbersMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSBlockedPhoneNumbersMessage.m; sourceTree = ""; }; - 40CD21829E5B98C13F86CA78DD055A61 /* Promise+Retrying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Promise+Retrying.swift"; sourceTree = ""; }; - 40E92E379902A07636FE3601CA4C326F /* YapDatabaseCloudCoreOperationPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreOperationPrivate.h; path = YapDatabase/Extensions/CloudCore/Internal/YapDatabaseCloudCoreOperationPrivate.h; sourceTree = ""; }; - 4137D6A0BA111DB444252F2BFE632491 /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; - 4140B5EFB658F836C5F82A547D04B05B /* ge_p3_to_cached.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p3_to_cached.c; path = Sources/ed25519/ge_p3_to_cached.c; sourceTree = ""; }; - 41611FF213CC38A5CCC12237707150A7 /* SSZipArchive.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SSZipArchive.m; path = SSZipArchive/SSZipArchive.m; sourceTree = ""; }; - 41AC75DA2F5740027E3A7D29FDEE0783 /* YDBCKChangeRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKChangeRecord.m; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeRecord.m; sourceTree = ""; }; - 41C75E5F0D1445C254007BDCACE67837 /* SMKUDAccessKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKUDAccessKey.swift; path = SignalMetadataKit/src/SMKUDAccessKey.swift; sourceTree = ""; }; - 41CD49878C0FB85D14C7132762C2204C /* FIRLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLogger.h; path = Firebase/Core/Private/FIRLogger.h; sourceTree = ""; }; - 420E0C86CCE65648AE3D56874FD15FE5 /* MPABTestDesignerDeviceInfoResponseMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerDeviceInfoResponseMessage.h; path = Mixpanel/MPABTestDesignerDeviceInfoResponseMessage.h; sourceTree = ""; }; - 42448362C4A1B1E69E140AAF1FD4061E /* MPObjectIdentityProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPObjectIdentityProvider.m; path = Mixpanel/MPObjectIdentityProvider.m; sourceTree = ""; }; - 424E5D149B2D63C401AE74C0DAF0BDB4 /* OWSMessageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageManager.m; sourceTree = ""; }; - 42542A5A68A83AE6675EA0F29BCCEF2F /* MTLTransformerErrorHandling.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLTransformerErrorHandling.m; path = Mantle/MTLTransformerErrorHandling.m; sourceTree = ""; }; - 42836EA2149E9C6A3CF37108F65EDFF0 /* YapDatabaseRelationship.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationship.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationship.h; sourceTree = ""; }; - 428BE35FC55ACF995F4253FBC137D74E /* FIROptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIROptions.h; path = Firebase/Core/Public/FIROptions.h; sourceTree = ""; }; - 42AC9A3671DCFF2D717F142670C790A0 /* MPWebSocket.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPWebSocket.m; path = Mixpanel/MPWebSocket.m; sourceTree = ""; }; - 42B15E45AC4A145C03C0296266CE60F1 /* AFNetworking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AFNetworking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 42B5403742673EA09E9B8897FD5B81FC /* YapDatabaseActionManagerConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseActionManagerConnection.h; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerConnection.h; sourceTree = ""; }; - 42BE04F6F6FD5C2C9C829CACF1F689ED /* MPABTestDesignerClearRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerClearRequestMessage.m; path = Mixpanel/MPABTestDesignerClearRequestMessage.m; sourceTree = ""; }; - 42D27836F27A95AB7E5DAB139FD7B9CA /* AtomPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomPath.swift; path = Sources/FeedKit/Models/Atom/AtomPath.swift; sourceTree = ""; }; - 4300FBD3AAC0B1C67C6F69A9C765375B /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 431DCEC7D7C9BD4C015DC76E1F34E9C2 /* api.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = api.pb.swift; path = Sources/SwiftProtobuf/api.pb.swift; sourceTree = ""; }; - 43411A6062580E937F791A9E51E66F64 /* Promise+Hashing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Promise+Hashing.swift"; sourceTree = ""; }; - 43737FB603FF7472AA018D77A5ADBED5 /* SAMKeychain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SAMKeychain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 438491E2166635A30C70F09F142EDAE3 /* CDSQuote.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CDSQuote.h; sourceTree = ""; }; - 438B094A2687F028B3147C56E095EB39 /* SignalMetadataKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SignalMetadataKit-dummy.m"; sourceTree = ""; }; - 439D4E53A4C0F9EED2C5C94B5E4E871E /* SignalCoreKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SignalCoreKit-dummy.m"; sourceTree = ""; }; - 43C6CC1471AEB636C83582DF83B9AAD0 /* ge_tobytes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_tobytes.c; path = Sources/ed25519/ge_tobytes.c; sourceTree = ""; }; - 43CB81C94B564AA251A277C9E8C9DBFA /* TSAccountManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSAccountManager.h; sourceTree = ""; }; - 43EFF97FED843732C35760F700F0D7C1 /* MPDesignerEventBindingMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPDesignerEventBindingMessage.h; path = Mixpanel/MPDesignerEventBindingMessage.h; sourceTree = ""; }; - 43FC16D1F6FDE330638283932DD5C107 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; - 446578EB64ADE6AEFC5B4E0CB8506B7E /* FeedParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FeedParser.swift; path = Sources/FeedKit/Parser/FeedParser.swift; sourceTree = ""; }; - 4497B3017A703664EF3CC55893475BEC /* ContentProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ContentProxy.swift; sourceTree = ""; }; - 44E94BAE7335DA9AF02E5EAF3B271D7F /* OWSOutgoingReceiptManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOutgoingReceiptManager.m; sourceTree = ""; }; - 450BEE2029F8CEBC7E43020628138463 /* TextFormatScanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatScanner.swift; path = Sources/SwiftProtobuf/TextFormatScanner.swift; sourceTree = ""; }; - 452D7214F7269A5A4754B07C67C70E8A /* ZipArchive.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZipArchive.h; path = SSZipArchive/ZipArchive.h; sourceTree = ""; }; - 4530D79A74C810BF67095E4D4116870F /* ge_add.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge_add.h; path = Sources/ed25519/ge_add.h; sourceTree = ""; }; - 4543FABB98B4AE1810F069E63F9AE3B8 /* OWSLogs.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OWSLogs.m; path = SignalCoreKit/src/OWSLogs.m; sourceTree = ""; }; - 45551FE74253365FC930D32C2CF5C2E1 /* SSKProtoPrekeyBundleMessage+Loki.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "SSKProtoPrekeyBundleMessage+Loki.swift"; sourceTree = ""; }; - 455B66D0B5B5862E56B319A26993D6C1 /* MediaScene.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaScene.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaScene.swift; sourceTree = ""; }; - 4567D7B46FE7110051299D85C0C3CB21 /* YYImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImageCoder.m; path = YYImage/YYImageCoder.m; sourceTree = ""; }; - 45820D1BD757D360E8A0A5EE9E5053D2 /* TSCall.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSCall.m; sourceTree = ""; }; - 458887ECD425B3DB0EE5F279C5A1B1C5 /* SelectorEvaluator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SelectorEvaluator.m; path = Mixpanel/SelectorEvaluator.m; sourceTree = ""; }; - 458E07751363AF47B3B0947203656A9C /* YapDatabaseViewChangePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewChangePrivate.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewChangePrivate.h; sourceTree = ""; }; - 4596E2B19BD9033C3FED4A6689FDE17C /* MPTweak.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPTweak.h; path = Mixpanel/MPTweak.h; sourceTree = ""; }; - 45AFD503BB841D1B0D84BD56635BC5DE /* HKDFKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HKDFKit-prefix.pch"; sourceTree = ""; }; - 45EA5F7F1FF8B1E94D6C03BA05CCD86A /* SQLCipher-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLCipher-umbrella.h"; sourceTree = ""; }; - 45F4AE0A69B188323592ADF387DCC07C /* YapDatabaseAutoViewTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseAutoViewTransaction.h; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoViewTransaction.h; sourceTree = ""; }; - 4629EE63758C85000D1566B27CDB8FE8 /* MTLModel+NSCoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MTLModel+NSCoding.m"; path = "Mantle/MTLModel+NSCoding.m"; sourceTree = ""; }; - 466D064C79543DA0EADBBF7B5F57E9F8 /* NVActivityIndicatorAnimationLineScaleParty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScaleParty.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScaleParty.swift; sourceTree = ""; }; - 46E3E93F256C17E4DB4570B4C4BD448A /* YapManyToManyCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapManyToManyCache.m; path = YapDatabase/Extensions/CloudCore/Utilities/YapManyToManyCache.m; sourceTree = ""; }; - 46EF5D46CC568818F260EC6859F9B68D /* GCDWebServer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServer.m; path = GCDWebServer/Core/GCDWebServer.m; sourceTree = ""; }; - 46FE43816B1002F4227A73940FC43B9D /* placeholder-image.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "placeholder-image.png"; path = "Mixpanel/Images/placeholder-image.png"; sourceTree = ""; }; - 4768AA9276A5ADAE9C94C57FEA63AB54 /* SQLCipher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SQLCipher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4777C4695CD1C580EE773CA4A67466F0 /* YapDatabaseRTreeIndexOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndexOptions.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexOptions.m; sourceTree = ""; }; - 47D3C38DC9BC0DB219E33026D0A613EB /* YapDatabaseConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseConnection.m; path = YapDatabase/YapDatabaseConnection.m; sourceTree = ""; }; - 47F9408EF983C44BE5BA243E7419A4B6 /* SSZipArchive.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SSZipArchive.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 483752DC029C77C4F1EDE6C68145106C /* AtomFeedEntrySummary.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntrySummary.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntrySummary.swift; sourceTree = ""; }; - 4839D783549810CEBA0A34902D059BD8 /* YapDatabaseExtensionTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseExtensionTypes.h; path = YapDatabase/Extensions/Protocol/YapDatabaseExtensionTypes.h; sourceTree = ""; }; - 488DE69FD9CB297463FDFEB15C9EBE04 /* NSArray+MTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MTLManipulationAdditions.m"; path = "Mantle/NSArray+MTLManipulationAdditions.m"; sourceTree = ""; }; - 48AD0300C14BF0876A5CB5C4F88D6DD3 /* OWSAttachmentDownloads.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAttachmentDownloads.m; sourceTree = ""; }; - 48C41109D889E4AAF74E952A1C4BD569 /* SessionRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionRecord.m; path = AxolotlKit/Classes/Sessions/SessionRecord.m; sourceTree = ""; }; - 48D0EDD30D23912191798E45FA80388D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - 48D5AA40BBC3798C8A3579CDC19710ED /* CLSLogging.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSLogging.h; path = iOS/Crashlytics.framework/Headers/CLSLogging.h; sourceTree = ""; }; - 48DE8548DD70DC217F7418B5BC4BBC30 /* JSONFeed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeed.swift; path = Sources/FeedKit/Models/JSON/JSONFeed.swift; sourceTree = ""; }; - 493CE2C1BE913628456B8AB3C065C681 /* Pods-SignalShareExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalShareExtension.release.xcconfig"; sourceTree = ""; }; - 495FE68F5A8CB9202CC89EC4E9F51C84 /* Curve25519Kit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Curve25519Kit.modulemap; sourceTree = ""; }; - 49754CFA7DA7F1B22A5FFF4D62C6090D /* YapDatabase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YapDatabase-dummy.m"; sourceTree = ""; }; - 49958B6BBFFAFEE35F4F24E5DB1C05B9 /* GCDWebServerDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataResponse.h; path = GCDWebServer/Responses/GCDWebServerDataResponse.h; sourceTree = ""; }; - 49CE8C2F74FAECC5F9D93D84E711D540 /* OWSMessageSenderTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageSenderTest.m; sourceTree = ""; }; - 49F10CBE9F870D72953178276B35F82C /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; - 49F8556E101464EB0C28178841AF6691 /* MPUIControlBinding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPUIControlBinding.h; path = Mixpanel/MPUIControlBinding.h; sourceTree = ""; }; - 4A13F86BAFD0B462E2E56371568ED3E5 /* OWSAnalytics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAnalytics.m; sourceTree = ""; }; - 4A1CDC48E94C3754D9C3617D582DF9BB /* YapDatabaseRTreeIndexOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexOptions.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexOptions.h; sourceTree = ""; }; - 4A27BC73DC1ACA0B79C7EB2D71773C63 /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; - 4A38353FF7F7DC19FDEB407F1B2F8C6A /* AtomFeedSubtitle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedSubtitle.swift; path = Sources/FeedKit/Models/Atom/AtomFeedSubtitle.swift; sourceTree = ""; }; - 4A3E851A409C76C3F14951EA98D9E6ED /* type.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = type.pb.swift; path = Sources/SwiftProtobuf/type.pb.swift; sourceTree = ""; }; - 4A44EE7131D8DA32C06CB8CC428BCC9C /* Reachability-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-prefix.pch"; sourceTree = ""; }; - 4A5654F3EA9A9AAB5F0F29C442198E28 /* AFNetworking.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AFNetworking.modulemap; sourceTree = ""; }; - 4A8E9826369F549FD9C26E75A63B7510 /* JobQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JobQueue.swift; sourceTree = ""; }; - 4AA0A32B7493D52E559F573D0D6358FB /* MPDesignerSessionCollection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPDesignerSessionCollection.h; path = Mixpanel/MPDesignerSessionCollection.h; sourceTree = ""; }; - 4AF701E04D847AB29169040E0B1E1128 /* GCDWebServerConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerConnection.h; path = GCDWebServer/Core/GCDWebServerConnection.h; sourceTree = ""; }; - 4B02C607F064093E832291A99F22A835 /* YapDatabaseViewConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewConnection.h; path = YapDatabase/Extensions/View/YapDatabaseViewConnection.h; sourceTree = ""; }; - 4B06FC04CBB666660C4D253BF4547825 /* TSErrorMessage_privateConstructor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSErrorMessage_privateConstructor.h; sourceTree = ""; }; - 4B16DAF26DBF83FB161392C08BC6E4FD /* ProxiedContentDownloader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ProxiedContentDownloader.swift; sourceTree = ""; }; - 4B241F19FA4B8936CAADFFB8696B7BDC /* YapDatabaseAutoViewPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseAutoViewPrivate.h; path = YapDatabase/Extensions/AutoView/Internal/YapDatabaseAutoViewPrivate.h; sourceTree = ""; }; - 4B4FBEA230E2D880E1078A9C43CE3A6A /* SignalServiceKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalServiceKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4B5065FEB8998FDD64B3BD80B9A7784D /* TSNetworkManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSNetworkManager.h; sourceTree = ""; }; - 4B9E4104B8E407ED4156FA0A289E22E1 /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; - 4BCDF3EB46F8A7991D738BB8C9F2E443 /* String + toDate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String + toDate.swift"; path = "Sources/FeedKit/Extensions/String + toDate.swift"; sourceTree = ""; }; - 4BD901CE1C2E92A4FC1BDFE575E2A820 /* MPCGPointToNSDictionaryValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPCGPointToNSDictionaryValueTransformer.m; path = Mixpanel/MPCGPointToNSDictionaryValueTransformer.m; sourceTree = ""; }; - 4BDF0BEC22DA65D627A350348FF16A91 /* AtomFeed + mapCharacters.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AtomFeed + mapCharacters.swift"; path = "Sources/FeedKit/Models/Atom/AtomFeed + mapCharacters.swift"; sourceTree = ""; }; - 4BE33135B3007829DAA6378CB44590B8 /* YapDatabaseRelationshipEdge.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRelationshipEdge.m; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.m; sourceTree = ""; }; - 4BF44DC334B93B24417F46856EA8F27C /* Mantle.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Mantle.xcconfig; sourceTree = ""; }; - 4BFD0DED0EB195882732493ED625B96E /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Starscream/Compression.swift; sourceTree = ""; }; - 4BFE5B43396A75F173795EE46CE37D68 /* GCDWebServer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-umbrella.h"; sourceTree = ""; }; - 4C59F97D3B831CF5F8ABBF60177C812D /* LokiDotNetAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiDotNetAPI.swift; sourceTree = ""; }; - 4C9A29E60D4928CF567E12CE25B51FA0 /* Pods-Signal.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Signal.debug.xcconfig"; sourceTree = ""; }; - 4CC3F7A8C50C78123EA5AEF31D63AEE3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4D67C064D913627F74DAD370151C3556 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; - 4D698410913D071E465FFD4395C8A376 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/AssetsLibrary.framework; sourceTree = DEVELOPER_DIR; }; - 4D75B5B6238A6FA73FDC71D5A5B0D38B /* AtomFeedEntryContributor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntryContributor.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntryContributor.swift; sourceTree = ""; }; - 4D9A92C834F45FF04010FB2728B1FA18 /* MPSwizzle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPSwizzle.h; path = Mixpanel/MPSwizzle.h; sourceTree = ""; }; - 4DA63EAE3AEE83655675A0E8D6F45F14 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; - 4DDC39E9D96ACEB08BC591B0468B64BC /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; - 4E2C663F3A76F080713B36D4B9B70A23 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4E689BE9DF4866199F55CC0DA16DB971 /* YapCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapCache.h; path = YapDatabase/Utilities/YapCache.h; sourceTree = ""; }; - 4E6A0E0EA249D7492772293FF94ABBE3 /* UnknownStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UnknownStorage.swift; path = Sources/SwiftProtobuf/UnknownStorage.swift; sourceTree = ""; }; - 4EECF2EB1D25AEAA78FE3D6902D06ADD /* SerializationUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SerializationUtilities.h; path = AxolotlKit/Classes/Utility/SerializationUtilities.h; sourceTree = ""; }; - 4F461F5E9907C58FED03519F0212ACAF /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; - 4F4786E7E41AA5497507A0758F893AAA /* OWSMockSyncManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSMockSyncManager.swift; sourceTree = ""; }; - 4F4A0B085C37CA57FFB4F94E123E6E5A /* MPLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPLogger.h; path = Mixpanel/MPLogger.h; sourceTree = ""; }; - 4F6D8A64BDD0A09EA4D030FB78FF6083 /* StreamDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamDecryptor.swift; path = Sources/CryptoSwift/StreamDecryptor.swift; sourceTree = ""; }; - 4F86FB647B876D8DBD1F58F478C9C9D6 /* OWSMessageManagerTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageManagerTest.m; sourceTree = ""; }; - 4FCFB297CA8F3ABE0E2D628DC15AE3EF /* GCDWebServerMultiPartFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerMultiPartFormRequest.h; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h; sourceTree = ""; }; - 4FD6FB48885489E0290561C1490E3528 /* Pods-SignalTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SignalTests-resources.sh"; sourceTree = ""; }; - 4FE2780C3BE91702B8E80A02B2C22878 /* NotificationsProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = NotificationsProtocol.h; sourceTree = ""; }; - 4FE8944E4E9B71270AA450FE6C64EB28 /* OWSSyncGroupsRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSyncGroupsRequestMessage.h; sourceTree = ""; }; - 4FE96513BC8FCDA7213654A36510A339 /* SMKProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKProto.swift; path = SignalMetadataKit/src/Generated/SMKProto.swift; sourceTree = ""; }; - 4FF307BB9993DC79C242C410073DBA43 /* YapDatabaseExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseExtension.h; path = YapDatabase/Extensions/Protocol/YapDatabaseExtension.h; sourceTree = ""; }; - 5006545B36AFFA0FA53A40EFC3DC55B7 /* FIRComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponent.m; path = Firebase/Core/FIRComponent.m; sourceTree = ""; }; - 500CAA54E6D5F07F2B8C1ACB6A8E9567 /* FieldTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FieldTypes.swift; path = Sources/SwiftProtobuf/FieldTypes.swift; sourceTree = ""; }; - 500DF2A0417B036A15978C119ABF1759 /* SwiftProtobuf.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftProtobuf.modulemap; sourceTree = ""; }; - 5013091BE381B4E4AFFA193B7A850F67 /* YYFrameImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYFrameImage.m; path = YYImage/YYFrameImage.m; sourceTree = ""; }; - 5016FD1657089ADD8C4673BF752A9186 /* MPObjectSerializerConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPObjectSerializerConfig.h; path = Mixpanel/MPObjectSerializerConfig.h; sourceTree = ""; }; - 501EF4889B7C7CA18F77DBDAA2E2BC89 /* YapDatabaseViewLocator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewLocator.m; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewLocator.m; sourceTree = ""; }; - 50279392960E7D3D10EED17C5A5E90DE /* NBPhoneNumberDesc.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBPhoneNumberDesc.m; path = libPhoneNumber/NBPhoneNumberDesc.m; sourceTree = ""; }; - 5029B913B1ECDE94877D596A700D7ED8 /* FunctionalUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = FunctionalUtil.h; sourceTree = ""; }; - 5081E88E8EC08C73F3C8DCB48FC4B876 /* OWSMessageServiceParams.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageServiceParams.m; sourceTree = ""; }; - 50838E8EFD7A4D0E28692D9A017E9A0C /* ge_madd.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_madd.c; path = Sources/ed25519/ge_madd.c; sourceTree = ""; }; - 50ABD11AC6FD02C113421A093CD6949A /* NSArray+NBAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+NBAdditions.m"; path = "libPhoneNumber/NSArray+NBAdditions.m"; sourceTree = ""; }; - 50B249DDAE7F70BB73966B4028457CC0 /* YapDatabaseManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseManager.m; path = YapDatabase/Internal/YapDatabaseManager.m; sourceTree = ""; }; - 50B9499912A40AE518288849FB24191C /* MediaStatus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaStatus.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaStatus.swift; sourceTree = ""; }; - 511B483FF333DEAF04A12F54FAA8EEC8 /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; - 513BE3DB6ED99CFFB23751451D49E8B9 /* DoubleFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DoubleFormatter.swift; path = Sources/SwiftProtobuf/DoubleFormatter.swift; sourceTree = ""; }; - 51AA38ADFF28718154F2819DF302F4D1 /* Pods-SignalMessaging-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SignalMessaging-umbrella.h"; sourceTree = ""; }; - 51EFB9CE33968BA82D46896E672623BF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 52376AA505C56B842D6198FA2EB34FF3 /* OWSFailedMessagesJob.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFailedMessagesJob.m; sourceTree = ""; }; - 5246191E1822A11F39A1E31A60CCF0C9 /* RatchetingSession.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RatchetingSession.m; path = AxolotlKit/Classes/Ratchet/RatchetingSession.m; sourceTree = ""; }; - 529A95024C300ED40AF5FE8CBF6E2E8E /* MediaLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaLocation.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaLocation.swift; sourceTree = ""; }; - 52E91493EE83BB728F06ECAEEE61D88D /* ge_madd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge_madd.h; path = Sources/ed25519/ge_madd.h; sourceTree = ""; }; - 52EBC0CF0386E48CC827F294ED694312 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CoreTelephony.framework; sourceTree = DEVELOPER_DIR; }; - 53014F257C08806ACB10A8CA3A41DE21 /* UIImage+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+OWS.h"; sourceTree = ""; }; - 5307E1A9A2FA37262226A224CE80ED77 /* FIRComponentContainerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentContainerInternal.h; path = Firebase/Core/Private/FIRComponentContainerInternal.h; sourceTree = ""; }; - 5316E4F77A19230F93FBE83804382C09 /* MTLTransformerErrorHandling.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLTransformerErrorHandling.h; path = Mantle/MTLTransformerErrorHandling.h; sourceTree = ""; }; - 532E4666E816818BE8C92D136F45F777 /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-umbrella.h"; sourceTree = ""; }; - 5356687DA2514D9D43CE129DAFC62E3E /* TSAttachmentStream.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSAttachmentStream.m; sourceTree = ""; }; - 537052C162AD069D1415E05713C9EF94 /* OWSVerificationStateSyncMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSVerificationStateSyncMessage.h; sourceTree = ""; }; - 537AB5D399F9A4E953F813890627FB28 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; - 537D8F47170D5B8A3172EB0FC80498C1 /* YapTouch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapTouch.m; path = YapDatabase/Internal/YapTouch.m; sourceTree = ""; }; - 539208534B4E56355F6730AE52DFEF69 /* NVActivityIndicatorAnimationPacman.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationPacman.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationPacman.swift; sourceTree = ""; }; - 53A3AE9FC7B6A99365552840C3696B36 /* OWSSignalAddressTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSSignalAddressTest.swift; sourceTree = ""; }; - 53B08F992935F46ABDB1E9F4FFCC1667 /* FeedDataType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FeedDataType.swift; path = Sources/FeedKit/Parser/FeedDataType.swift; sourceTree = ""; }; - 53B494ED11128E3A2A64ED19884C4242 /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; - 53D7828BEE9FBC1414D1D82520E98C2C /* OWSPrimaryStorage+SignedPreKeyStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+SignedPreKeyStore.h"; sourceTree = ""; }; - 53F14EFB1A105436762CAFBB43532367 /* YYImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YYImage-dummy.m"; sourceTree = ""; }; - 540C32545AD9B1EAD2D65380C6E3E4C1 /* NSData+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+OWS.h"; path = "SignalCoreKit/src/NSData+OWS.h"; sourceTree = ""; }; - 5466C59F812A5D3B99E6ACD89D70C7BC /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; - 546A8FCEC06C93AFD7D0476E112A007D /* YapCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapCache.m; path = YapDatabase/Utilities/YapCache.m; sourceTree = ""; }; - 54962F7C194128FAF8931DBEFA08EE49 /* OWSAddToContactsOfferMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSAddToContactsOfferMessage.h; sourceTree = ""; }; - 54BD9FEAA45AC5AE2B796E0BCE06F065 /* TSThread.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSThread.m; sourceTree = ""; }; - 54D7194D1D21E048627A186740338C4D /* PhoneNumber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PhoneNumber.h; sourceTree = ""; }; - 54DF6D4339C9DB064328927499F3DF32 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; - 54E9FC430E9F5E0DC3567A49CDDC905C /* OWSIdentityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSIdentityManager.m; sourceTree = ""; }; - 550B1E79EE1D4C5F8069449BE1931950 /* mz_strm_os_posix.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_os_posix.c; path = SSZipArchive/minizip/mz_strm_os_posix.c; sourceTree = ""; }; - 551BDB42E0D7E53AF38CEDF68702AA32 /* NVActivityIndicatorAnimationBallGridBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallGridBeat.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallGridBeat.swift; sourceTree = ""; }; - 55237BFC1CF64C979A43F7A43EE44EFB /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; - 553B36161F2D03B5945170D698D19C89 /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; - 555D2FBC53FD4303F1305B3338FDF85D /* OWSOutgoingNullMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOutgoingNullMessage.m; sourceTree = ""; }; - 558F4A8A0568BFB9E04ECF4EF3A6105F /* String+SSK.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+SSK.swift"; sourceTree = ""; }; - 55BFE36D337A9CBF89DAB61CFB11C110 /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; - 55D042AE4D9C855084371B5C13BE5D47 /* MPSequenceGenerator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPSequenceGenerator.m; path = Mixpanel/MPSequenceGenerator.m; sourceTree = ""; }; - 55D20278638AA62F3C84C4FB5BDFCB94 /* FIRComponentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentType.h; path = Firebase/Core/Private/FIRComponentType.h; sourceTree = ""; }; - 55D5E2EA12FC9FFD629CC143AFEB7F68 /* SMKObjCTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SMKObjCTest.m; path = SignalMetadataKitTests/src/SMKObjCTest.m; sourceTree = ""; }; - 55D75287F87139BC0691496FD56D34BE /* EXTScope.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTScope.h; path = Mantle/extobjc/EXTScope.h; sourceTree = ""; }; - 55E41DB7D3DA7861E4D655E35C19A034 /* SQLCipher-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLCipher-prefix.pch"; sourceTree = ""; }; - 5605CDAC84A1FE97D798F7C6515D8A32 /* OWSBackgroundTask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSBackgroundTask.m; sourceTree = ""; }; - 5617251C11890B523083C1C4FE57C7D6 /* JSONEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONEncoder.swift; path = Sources/SwiftProtobuf/JSONEncoder.swift; sourceTree = ""; }; - 56619C2C1798FE84F0C0DE5265C5BA21 /* SMKServerCertificate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKServerCertificate.swift; path = SignalMetadataKit/src/SMKServerCertificate.swift; sourceTree = ""; }; - 567B98E11A25F1D7F3054BE463BDF4AE /* FIRBundleUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRBundleUtil.m; path = Firebase/Core/FIRBundleUtil.m; sourceTree = ""; }; - 569095E4B2FB01109764C258F300CAA0 /* OWSProvisioningCipher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSProvisioningCipher.m; sourceTree = ""; }; - 56FE1A27FCEC2ED793901240E1378288 /* MPArrowRight@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "MPArrowRight@2x.png"; path = "Mixpanel/Images/MPArrowRight@2x.png"; sourceTree = ""; }; - 5720A9679B3A7BB714F28B98892B9481 /* GTSR1.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GTSR1.crt; sourceTree = ""; }; - 5747F71F9EA384175889AE8173E85BAE /* YapDatabaseRTreeIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndex.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndex.m; sourceTree = ""; }; - 576B77A3C9663AC5BFC6DD4EB2BFC63B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 576C2D553410C4B962E8D9FB8E932113 /* OWSMessageReceiver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageReceiver.h; sourceTree = ""; }; - 57848CBBB445C66D9494492FB369D73D /* YapDatabasePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabasePrivate.h; path = YapDatabase/Internal/YapDatabasePrivate.h; sourceTree = ""; }; - 579FF5B44E8E7E20CBB9468D07F50366 /* DeviceLinkingSessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceLinkingSessionDelegate.swift; sourceTree = ""; }; - 57C4EE166B61DAD531BC9B13BB8B3B27 /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; - 57E999271B873332C5471C583AC5B393 /* YapDatabaseRelationshipEdgePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipEdgePrivate.h; path = YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipEdgePrivate.h; sourceTree = ""; }; - 5801FC7588195AC40E82CEC1773E035E /* YapProxyObjectPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapProxyObjectPrivate.h; path = YapDatabase/Internal/YapProxyObjectPrivate.h; sourceTree = ""; }; - 5865C0906B247C2C6CAF1CB2AC558306 /* AtomFeedEntry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntry.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntry.swift; sourceTree = ""; }; - 5883071CA951ED9B7BF433AB5C383A50 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; - 58D6B77A917D195877E888CCDF06C9D8 /* YapDatabaseCloudCorePipeline.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCorePipeline.m; path = YapDatabase/Extensions/CloudCore/Utilities/Execution/YapDatabaseCloudCorePipeline.m; sourceTree = ""; }; - 58F0FEAC1B6E7FFB5F2242B8FB3A1A97 /* SSZipArchive-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SSZipArchive-prefix.pch"; sourceTree = ""; }; - 5915279A49A80AB710D83A536A3ABC6D /* YapDatabaseHooks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseHooks.h; path = YapDatabase/Extensions/Hooks/YapDatabaseHooks.h; sourceTree = ""; }; - 593161C4026B72005F531D8B41148D10 /* MPCGAffineTransformToNSDictionaryValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPCGAffineTransformToNSDictionaryValueTransformer.m; path = Mixpanel/MPCGAffineTransformToNSDictionaryValueTransformer.m; sourceTree = ""; }; - 593BDD7F3F2F225C0107E60D9295B180 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; - 5976E63D1A0EF7F1AE66984D553E11A6 /* OWSDisappearingMessagesJob.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesJob.m; sourceTree = ""; }; - 5982702504EFC5BBD50318DFF0325193 /* NSThread+MPHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSThread+MPHelpers.h"; path = "Mixpanel/NSThread+MPHelpers.h"; sourceTree = ""; }; - 59C84C80CF04A0E0CB0AF2FBB1DE318B /* JSONEncodingVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONEncodingVisitor.swift; path = Sources/SwiftProtobuf/JSONEncodingVisitor.swift; sourceTree = ""; }; - 59F62E64BAB7407C5BACA571E910C38B /* NSValueTransformer+MTLInversionAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+MTLInversionAdditions.h"; path = "Mantle/NSValueTransformer+MTLInversionAdditions.h"; sourceTree = ""; }; - 59F8EA02866D0FF20114244F16154635 /* ProtobufAPIVersionCheck.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ProtobufAPIVersionCheck.swift; path = Sources/SwiftProtobuf/ProtobufAPIVersionCheck.swift; sourceTree = ""; }; - 59F95C970ED236A38A4E5C7EEAA58108 /* AtomFeedEntryContent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntryContent.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntryContent.swift; sourceTree = ""; }; - 59FA6A96392F69CE66B89BA5078F2E69 /* Message+JSONArrayAdditions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Message+JSONArrayAdditions.swift"; path = "Sources/SwiftProtobuf/Message+JSONArrayAdditions.swift"; sourceTree = ""; }; - 5A25C0D8DBAFF442BD4484DF5BF6F237 /* AxolotlKit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AxolotlKit.unit.xcconfig; sourceTree = ""; }; - 5A8DB7CA07DD11326BA537E50E52A195 /* FIRAppInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAppInternal.h; path = Firebase/Core/Private/FIRAppInternal.h; sourceTree = ""; }; - 5A92568A5001DDAA682F81A239B01A11 /* YDBCKMergeInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKMergeInfo.m; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKMergeInfo.m; sourceTree = ""; }; - 5A9FBBBE6FA1A067905371BE007E939C /* api.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = api.h; path = Sources/ed25519/api.h; sourceTree = ""; }; - 5AB85C832AC58465413629780AA8C568 /* OWSMath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMath.h; sourceTree = ""; }; - 5AD2139A80553F7DB56C8D6EC2FCB781 /* Reachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = ""; }; - 5B1D14A0E741872D78747ECB2AC036FD /* OWSError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSError.m; sourceTree = ""; }; - 5B29B67D3449F4A9F2AD28E693439223 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5B2A8E71F4A76FC3C084CCDB1965E97A /* CreatePreKeysOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CreatePreKeysOperation.swift; sourceTree = ""; }; - 5B2CB19A9737B5F2BC8C8DCCC59F556B /* OWSFingerprintTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFingerprintTest.m; sourceTree = ""; }; - 5B4DDECCF9E4EAC8DAE253CC27316A95 /* NVActivityIndicatorAnimationBallRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallRotate.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallRotate.swift; sourceTree = ""; }; - 5B623CE6EDCDF2F4A55FF1DBDCE24C84 /* TSRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSRequest.m; sourceTree = ""; }; - 5B9BA5F142584566FE324351DC8EBAFE /* OWSReadReceiptManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSReadReceiptManager.m; sourceTree = ""; }; - 5BA616EA96B4574E110507368CDACD38 /* YapDatabaseFilteredViewConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFilteredViewConnection.m; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewConnection.m; sourceTree = ""; }; - 5BB1BF2421B01D31E08871F19F604055 /* GCDWebServerResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerResponse.h; path = GCDWebServer/Core/GCDWebServerResponse.h; sourceTree = ""; }; - 5BBF6956EFB8A5FAD0299EC9A2B1B6D6 /* OWSProfileKeyMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSProfileKeyMessage.h; sourceTree = ""; }; - 5BC551874C50108931F313D9B41E564C /* MPABTestDesignerSnapshotRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerSnapshotRequestMessage.m; path = Mixpanel/MPABTestDesignerSnapshotRequestMessage.m; sourceTree = ""; }; - 5BD6BD55B2337CDC3EDD695D43DED44A /* SPKMockProtocolStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPKMockProtocolStore.m; path = AxolotlKit/Classes/TestUtils/SPKMockProtocolStore.m; sourceTree = ""; }; - 5C164576EA16C6A8461820A6D84F054F /* MPNSAttributedStringToNSDictionaryValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPNSAttributedStringToNSDictionaryValueTransformer.m; path = Mixpanel/MPNSAttributedStringToNSDictionaryValueTransformer.m; sourceTree = ""; }; - 5C18A796F9B2FCD0BD574AD2BAE8CDC2 /* OWSFakeNetworkManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFakeNetworkManager.m; sourceTree = ""; }; - 5C2AAE08AC0472347EBB91C85F1A588E /* YapBidirectionalCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapBidirectionalCache.m; path = YapDatabase/Utilities/YapBidirectionalCache.m; sourceTree = ""; }; - 5C44C1AD95850D4E9BED3293E287D1ED /* ChainKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ChainKey.h; path = AxolotlKit/Classes/Ratchet/ChainKey.h; sourceTree = ""; }; - 5C5142E5BCE104F7F5D0EBB45D4B4F7E /* NVActivityIndicatorAnimationBallGridPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallGridPulse.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallGridPulse.swift; sourceTree = ""; }; - 5C5C16E03C8C25E0CD5C6E791C416C1B /* crypto_sign.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_sign.h; path = Sources/ed25519/nacl_includes/crypto_sign.h; sourceTree = ""; }; - 5C5FB8AB74741B510B896C57D66C7A5B /* FIRBundleUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRBundleUtil.h; path = Firebase/Core/Private/FIRBundleUtil.h; sourceTree = ""; }; - 5C68C807B7C93F49DE414C7D9F2CE805 /* NSDictionary+MTLMappingAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLMappingAdditions.m"; path = "Mantle/NSDictionary+MTLMappingAdditions.m"; sourceTree = ""; }; - 5C8F3817E0399D205891958928A0543A /* RDFPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RDFPath.swift; path = Sources/FeedKit/Models/RSS/RDFPath.swift; sourceTree = ""; }; - 5CA4B0DA4215F4A223FE7EEBED8B1FCE /* YapSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapSet.h; path = YapDatabase/Utilities/YapSet.h; sourceTree = ""; }; - 5CAEAC7A859E29F8057B7688A88C8404 /* JSONFeedHub.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeedHub.swift; path = Sources/FeedKit/Models/JSON/JSONFeedHub.swift; sourceTree = ""; }; - 5D0A040B954399C4C7679956C9122764 /* PureLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PureLayout-dummy.m"; sourceTree = ""; }; - 5D0A4D9A00904D1B88D00E5B1E63B17E /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; - 5D0FB85202B537C4763B614B17314E47 /* MixpanelPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MixpanelPrivate.h; path = Mixpanel/MixpanelPrivate.h; sourceTree = ""; }; - 5D2A5C44FCBCDBC5E5953FAAAB2238F3 /* AtomFeedCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedCategory.swift; path = Sources/FeedKit/Models/Atom/AtomFeedCategory.swift; sourceTree = ""; }; - 5D2B0857FA8291B44803404E7ECBAC94 /* Fabric.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Fabric.framework; path = iOS/Fabric.framework; sourceTree = ""; }; - 5D9C8440E921E0B764F8C84AE990165E /* YapDatabaseHooksTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseHooksTransaction.m; path = YapDatabase/Extensions/Hooks/YapDatabaseHooksTransaction.m; sourceTree = ""; }; - 5DDC65E58063EEF41F78902955C84EAE /* TSInfoMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSInfoMessage.h; sourceTree = ""; }; - 5DFA04F0A881B782DE180FF816FA90BB /* YapDatabaseCloudCoreOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCoreOperation.m; path = YapDatabase/Extensions/CloudCore/Utilities/Operations/YapDatabaseCloudCoreOperation.m; sourceTree = ""; }; - 5E0135B65900659671AB09FFA6B30B9C /* HKDFKit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "HKDFKit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; - 5E156A4E995EECB8C6FDE4DED5489A69 /* NSDictionary+MTLJSONKeyPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLJSONKeyPath.h"; path = "Mantle/NSDictionary+MTLJSONKeyPath.h"; sourceTree = ""; }; - 5E888ACB3BB36D84D92EFEDB7C47ED0D /* PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-prefix.pch"; sourceTree = ""; }; - 5E8A5F4C3C51B8799F20A9C00C7C2499 /* YapDatabase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabase.h; path = YapDatabase/YapDatabase.h; sourceTree = ""; }; - 5EAC49787FD657DC4231479C9B77F19A /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; - 5EC6021A5DC659D5D97C8CF0B6206722 /* YapDatabaseRTreeIndexConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndexConnection.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexConnection.m; sourceTree = ""; }; - 5EDE8D54285E37C8969DCE3C6BC97DFD /* SignalCoreKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SignalCoreKit.modulemap; sourceTree = ""; }; - 5F07CBBBFB32198DD4BF11B2D7B35D75 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; - 5F2F7BBF9E4538777345AA488DAD479D /* timestamp.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = timestamp.pb.swift; path = Sources/SwiftProtobuf/timestamp.pb.swift; sourceTree = ""; }; - 5F38605080B1DCD8447A367A443F7248 /* ge_p2_0.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p2_0.c; path = Sources/ed25519/ge_p2_0.c; sourceTree = ""; }; - 5F3D334BE721A45F4849E6137200A992 /* NSTimer+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSTimer+OWS.m"; sourceTree = ""; }; - 5F7993D01DE96F7753A686B12C1C44FF /* Curve25519Kit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Curve25519Kit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5F8D9125BBA4098BED5D80E3B9D5A261 /* SessionState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionState.m; path = AxolotlKit/Classes/Sessions/SessionState.m; sourceTree = ""; }; - 5F9A01019CAEDECD9088DADD75205672 /* OWSFakeProfileManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFakeProfileManager.h; sourceTree = ""; }; - 5FF29C49C252992D173EF5234DB0E5BE /* NBPhoneNumber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBPhoneNumber.m; path = libPhoneNumber/NBPhoneNumber.m; sourceTree = ""; }; - 6033CAA245835775574B109BA4D4D0ED /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; - 6034C56C7200F3DD520417A2AF4D8D2D /* sc_muladd.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = sc_muladd.c; path = Sources/ed25519/sc_muladd.c; sourceTree = ""; }; - 605B1572B1612EF0E02CF1274E6056A8 /* PreKeyRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PreKeyRecord.h; path = AxolotlKit/Classes/Prekeys/PreKeyRecord.h; sourceTree = ""; }; - 6067415775F26C65AE6B30E9868FD31A /* Mixpanel-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mixpanel-prefix.pch"; sourceTree = ""; }; - 60BE82FEEB864B8D68E586024D6D6A48 /* ChainKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ChainKey.m; path = AxolotlKit/Classes/Ratchet/ChainKey.m; sourceTree = ""; }; - 60F64F750321842497154F9A465D20E1 /* SAMKeychain-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SAMKeychain-umbrella.h"; sourceTree = ""; }; - 61214D7BD7A2728C9A19F7427D59F0F1 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 61350B58F41768CB92723FDCAC80050A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; - 6172F73380F326C8D618D31F15361F89 /* RFC3339DateFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RFC3339DateFormatter.swift; path = Sources/FeedKit/Dates/RFC3339DateFormatter.swift; sourceTree = ""; }; - 619527122231B3D5BADFD2E45C342AFB /* NVActivityIndicatorAnimationBallScaleRipple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleRipple.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleRipple.swift; sourceTree = ""; }; - 619F6A353F53C797D847FC2BB05B0026 /* mz_compat.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_compat.c; path = SSZipArchive/minizip/mz_compat.c; sourceTree = ""; }; - 61BE9AA63DC4AD444C55CC93C72759E2 /* YapDatabaseCryptoUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCryptoUtils.m; path = YapDatabase/Utilities/YapDatabaseCryptoUtils.m; sourceTree = ""; }; - 6211D7850271F487429C404128AC4F82 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; - 6222FB99A6CAC88847834A45642C831C /* TSRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSRequest.h; sourceTree = ""; }; - 622546A463E77E1A6A21E3117BFCA052 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; - 62503BF8EDEFFE2C3835681A22357AB6 /* CLSReport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSReport.h; path = iOS/Crashlytics.framework/Headers/CLSReport.h; sourceTree = ""; }; - 625B87011CB0A711EF62C3B906747055 /* TSInvalidIdentityKeyReceivingErrorMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSInvalidIdentityKeyReceivingErrorMessage.m; sourceTree = ""; }; - 626696245C54DFFEF11B45F3EB43C705 /* mz_os.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_os.c; path = SSZipArchive/minizip/mz_os.c; sourceTree = ""; }; - 62C907D7FA38DD40614F51BF5C65C59F /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; - 62E2263BE59BF01A2793DC6E7850E925 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; - 62F1A01ADBAEB102BE660E8D2D0AC4CA /* YapDatabaseFilteredView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFilteredView.h; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredView.h; sourceTree = ""; }; - 632D5B487B20C218E210E0DD4228A5AB /* TextFormatEncodingOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatEncodingOptions.swift; path = Sources/SwiftProtobuf/TextFormatEncodingOptions.swift; sourceTree = ""; }; - 635A52BB194C6B947EF3B7F923E07DD3 /* YapDatabaseManualView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseManualView.h; path = YapDatabase/Extensions/ManualView/YapDatabaseManualView.h; sourceTree = ""; }; - 6371A608035D70BAC8C7C09ECCD3DD78 /* MTLValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLValueTransformer.m; path = Mantle/MTLValueTransformer.m; sourceTree = ""; }; - 6393D5EA0920C701AFA810A51A09F545 /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; - 63F4B0FA72E8C4193365A9BC6BC67FFA /* OWSPrimaryStorage+SignedPreKeyStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+SignedPreKeyStore.m"; sourceTree = ""; }; - 642F99E78D03718CF68C09109496BE6A /* ReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ReachabilityManager.swift; sourceTree = ""; }; - 64379CA087552E1F00514F4E431E67E0 /* PreKeyBundle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PreKeyBundle.m; path = AxolotlKit/Classes/Prekeys/PreKeyBundle.m; sourceTree = ""; }; - 646D842E3AAFFACFFD9121CCA9645A36 /* OWSMediaGalleryFinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMediaGalleryFinder.m; sourceTree = ""; }; - 64A4AF96274630F8F28C6AF2BAF53FE2 /* YDBCKChangeQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKChangeQueue.h; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeQueue.h; sourceTree = ""; }; - 64A69D1B5F9FFEC85701F8D5887E0447 /* GCDWebServerFileRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileRequest.h; path = GCDWebServer/Requests/GCDWebServerFileRequest.h; sourceTree = ""; }; - 64E0354D13C120F464B096D4A89C136C /* MediaStatistics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaStatistics.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaStatistics.swift; sourceTree = ""; }; - 65251D44152FBF514FC8EF738A09600D /* OWSMessageUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageUtils.m; sourceTree = ""; }; - 65261F288552596C104F18908693F611 /* CocoaLumberjack-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CocoaLumberjack-dummy.m"; sourceTree = ""; }; - 653DE7D38C2ACD0D2289865C7B1D1D18 /* crypto_sign_edwards25519sha512batch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_sign_edwards25519sha512batch.h; path = Sources/ed25519/nacl_includes/crypto_sign_edwards25519sha512batch.h; sourceTree = ""; }; - 65436838D6F466EE6F4A58AD595267FD /* RSSFeedSkipDay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedSkipDay.swift; path = Sources/FeedKit/Models/RSS/RSSFeedSkipDay.swift; sourceTree = ""; }; - 65508B82682C0559B97564BC5B5E4A98 /* GoogleUtilities.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GoogleUtilities.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6594F345DB1210E6BC951547A3E7C8CE /* Data+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extensions.swift"; path = "Sources/SwiftProtobuf/Data+Extensions.swift"; sourceTree = ""; }; - 6595D73E4A325559B1A725306B115376 /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; - 65C76288E7A2D0E40E2DE44CAE8B1A31 /* GCDWebServerFileRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileRequest.m; path = GCDWebServer/Requests/GCDWebServerFileRequest.m; sourceTree = ""; }; - 65CF1D3B156E8233B50D94C1B6F0A2EE /* MPABTestDesignerSnapshotResponseMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerSnapshotResponseMessage.m; path = Mixpanel/MPABTestDesignerSnapshotResponseMessage.m; sourceTree = ""; }; - 65DAF715C2F6DEC176C55836821B64C4 /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; - 65DFEF6AB118206C23629A1A07EB42AB /* UIImage+MPImageEffects.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MPImageEffects.h"; path = "Mixpanel/UIImage+MPImageEffects.h"; sourceTree = ""; }; - 65ECBEFC5A8B05440DD13175BB9A17CC /* UIImage+MPAverageColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MPAverageColor.m"; path = "Mixpanel/UIImage+MPAverageColor.m"; sourceTree = ""; }; - 65F13B6D7C7F8D95333E656388A5376F /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; - 663321A34D9A5AF19A297977B77E1C69 /* YDBCKChangeQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKChangeQueue.m; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeQueue.m; sourceTree = ""; }; - 6663C5ED7AD1985A9ADD42273E172ED5 /* crypto_int32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_int32.h; path = Sources/ed25519/nacl_includes/crypto_int32.h; sourceTree = ""; }; - 666778DDCF44FBECCF2F3D292BC0B7B6 /* DDLegacyMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLegacyMacros.h; path = Classes/DDLegacyMacros.h; sourceTree = ""; }; - 667BF65D20BA07407A834F6CBDECDADA /* TSAttachmentStream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSAttachmentStream.h; sourceTree = ""; }; - 66894E2D58BBBCC25579FCFFD4F2A505 /* AppVersion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = AppVersion.m; sourceTree = ""; }; - 66A6F8B54DEC39584D71B2E841A32846 /* AFNetworking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AFNetworking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 66D5E0980AED5FE6CB0FD6F445B9573F /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; - 66F0FCCA0BE62D42D6FEA2676E1C9FF6 /* OWSLinkPreview.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSLinkPreview.swift; sourceTree = ""; }; - 671EB461059756B1C2B62BD4B1B4243A /* BinaryEncodingError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryEncodingError.swift; path = Sources/SwiftProtobuf/BinaryEncodingError.swift; sourceTree = ""; }; - 6721F5992E54CF42657ACE255A6ACDB9 /* RootKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RootKey.h; path = AxolotlKit/Classes/Ratchet/RootKey.h; sourceTree = ""; }; - 672AA22084045B9835A0D46F4EE5C080 /* OWSReceiptsForSenderMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSReceiptsForSenderMessage.m; sourceTree = ""; }; - 6746313C3F3B3E7C63B1BCC5EC9ADB62 /* OWSProvisioningMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSProvisioningMessage.m; sourceTree = ""; }; - 679CF6AA9E0D207AC0E2134C7C7B95B2 /* YapDatabaseCrossProcessNotificationPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCrossProcessNotificationPrivate.h; path = YapDatabase/Extensions/CrossProcessNotification/Internal/YapDatabaseCrossProcessNotificationPrivate.h; sourceTree = ""; }; - 67A0401896CDD9EB00DEDAE88491C093 /* TSAttachmentPointer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSAttachmentPointer.m; sourceTree = ""; }; - 67B34FA51A79103A772986F869817CB6 /* IdentityKeyStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IdentityKeyStore.h; path = AxolotlKit/Classes/State/IdentityKeyStore.h; sourceTree = ""; }; - 67F4DE139A91E441845B8DDC77FE0DD4 /* String + toBool.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String + toBool.swift"; path = "Sources/FeedKit/Extensions/String + toBool.swift"; sourceTree = ""; }; - 6803905BA551C903924143D136535B1C /* OWSMessageServiceParams.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageServiceParams.h; sourceTree = ""; }; - 6826753A7A83576B67BF8FDAB9516A80 /* YapDatabaseCrossProcessNotificationConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCrossProcessNotificationConnection.h; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationConnection.h; sourceTree = ""; }; - 6836D74D12F43CA8C68BC492B322D44D /* YapNull.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapNull.h; path = YapDatabase/Internal/YapNull.h; sourceTree = ""; }; - 68491FB661DC3FDE75075D6C4E7F6A7E /* OWSStorage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSStorage.h; sourceTree = ""; }; - 6874544BF2BCEF41E9B9C38EF27194E1 /* YapDatabaseCloudCoreOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreOperation.h; path = YapDatabase/Extensions/CloudCore/Utilities/Operations/YapDatabaseCloudCoreOperation.h; sourceTree = ""; }; - 68828932CFF1787DEE1181C5C4504EDE /* NSError+MessageSending.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSError+MessageSending.m"; sourceTree = ""; }; - 68C96B265A5A7541BDEC3C8884D42D07 /* MPAbstractABTestDesignerMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPAbstractABTestDesignerMessage.h; path = Mixpanel/MPAbstractABTestDesignerMessage.h; sourceTree = ""; }; - 68DEDE9B65DE340F6F6E486CE08C0017 /* YapDatabaseViewMappings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewMappings.m; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewMappings.m; sourceTree = ""; }; - 6906E512F936F654DB89621F90928B41 /* WeakTimer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WeakTimer.swift; sourceTree = ""; }; - 6907BC3F042ABA26375606693F9CAC22 /* FIRAppAssociationRegistration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRAppAssociationRegistration.m; path = Firebase/Core/FIRAppAssociationRegistration.m; sourceTree = ""; }; - 691A38BB328AD0ABEA95300182E354DF /* OWSDeviceProvisioner.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceProvisioner.m; sourceTree = ""; }; - 69768F95B28C0B30A85F7866C0337AE9 /* Starscream-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-prefix.pch"; sourceTree = ""; }; - 6979E6883A7C2BA3584A6149ED1CE76F /* Mantle-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mantle-prefix.pch"; sourceTree = ""; }; - 697A6909A39491E968BA0F04F337D925 /* MPCATransform3DToNSDictionaryValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPCATransform3DToNSDictionaryValueTransformer.m; path = Mixpanel/MPCATransform3DToNSDictionaryValueTransformer.m; sourceTree = ""; }; - 698C8D781B29922D2E7935D527CB3EA9 /* YapDatabaseActionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseActionManager.m; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManager.m; sourceTree = ""; }; - 6994CA8B3ABA5DF0C86BE842D5659554 /* YapDatabaseViewConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewConnection.m; path = YapDatabase/Extensions/View/YapDatabaseViewConnection.m; sourceTree = ""; }; - 69AAA796BB93BB0C945489A714B90501 /* LokiPublicChatAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiPublicChatAPI.swift; sourceTree = ""; }; - 69E984A4C42480CAAA0E6ADE5A639707 /* FIROptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIROptions.m; path = Firebase/Core/FIROptions.m; sourceTree = ""; }; - 69EAE0F0336196EBF27A6850A48EBDF0 /* Pods-SignalShareExtension-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SignalShareExtension-acknowledgements.markdown"; sourceTree = ""; }; - 6A23EC8E756954BD37915003B8EE6FE5 /* YapDatabaseSecondaryIndexOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexOptions.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexOptions.h; sourceTree = ""; }; - 6A2CA8657E84B799EE520270B21EDF15 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScalePulseOutRapid.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScalePulseOutRapid.swift; sourceTree = ""; }; - 6A4C74A4E92B39C3FCC7AB5567F5C68F /* OWSAddToProfileWhitelistOfferMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAddToProfileWhitelistOfferMessage.m; sourceTree = ""; }; - 6AB73BA4E70A77B601088750E5CD40B6 /* Google_Protobuf_Any+Registry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Any+Registry.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Any+Registry.swift"; sourceTree = ""; }; - 6AD52109073109ECC905339A481A826B /* GCDWebServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServer.h; path = GCDWebServer/Core/GCDWebServer.h; sourceTree = ""; }; - 6AE4CD9C9867B10A3FD30B7546BD353C /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; - 6B1ABEFFC427FE088EC178F5AED45A9A /* ECKeyPair+ECKeyPairTesting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ECKeyPair+ECKeyPairTesting.h"; path = "AxolotlKitTests/Util/ECKeyPair+ECKeyPairTesting.h"; sourceTree = ""; }; - 6B27BB235DA5AECC554338FB2C37443A /* LKFriendRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKFriendRequestMessage.h; sourceTree = ""; }; - 6B3F067B58B94EDF00CE42ED8492E215 /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; - 6B45310E748556DFCECF27D33603E686 /* SMKUnidentifiedSenderMessageContent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKUnidentifiedSenderMessageContent.swift; path = SignalMetadataKit/src/SMKUnidentifiedSenderMessageContent.swift; sourceTree = ""; }; - 6B65E32AD2F9F7FB3C7770B584D2CBA5 /* OWS2FAManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWS2FAManager.h; sourceTree = ""; }; - 6B97FA1B5E5B4E5473F2DE076DB1593B /* FIRAnalyticsConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAnalyticsConfiguration.h; path = Firebase/Core/Private/FIRAnalyticsConfiguration.h; sourceTree = ""; }; - 6BB358B99280C24D299FCE09BF464E80 /* NSDate+OWS.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = "NSDate+OWS.mm"; path = "SignalCoreKit/src/NSDate+OWS.mm"; sourceTree = ""; }; - 6BBEBED6502FD349FE1D53B791D60E3F /* HKDFKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = HKDFKit.modulemap; sourceTree = ""; }; - 6BF8F143A8B66ED0BD9AE55C479E6F84 /* YapDatabaseSearchQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSearchQueue.m; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchQueue.m; sourceTree = ""; }; - 6BF9A5DA2282651AA8EAB8E6C658F73B /* NVActivityIndicatorAnimationBallPulseSync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulseSync.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulseSync.swift; sourceTree = ""; }; - 6C023C3A5FEEF2A22EC5F1A8BDFCEA04 /* YapDatabaseSecondaryIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndex.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.h; sourceTree = ""; }; - 6C3E333845DE3289BAF4AC0321A5690C /* OWSMessageSender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageSender.h; sourceTree = ""; }; - 6C52B1D13C964ADC6E75D4400E74B148 /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = Sources/CryptoSwift/Scrypt.swift; sourceTree = ""; }; - 6CBA6AC9BF46488BF20B568D3E847EA5 /* compare.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = compare.c; path = Sources/ed25519/additions/compare.c; sourceTree = ""; }; - 6CC5E41B142D6BB650906A6E3A6020C9 /* Mixpanel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Mixpanel.m; path = Mixpanel/Mixpanel.m; sourceTree = ""; }; - 6CC941CB1941CDF0E45562CD59408948 /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineSpinFadeLoader.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineSpinFadeLoader.swift; sourceTree = ""; }; - 6CD052C585BAEA27E588C0A9ACF4150B /* YapDatabaseManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseManager.h; path = YapDatabase/Internal/YapDatabaseManager.h; sourceTree = ""; }; - 6CE4166573E532BDFEA71BF289F25D45 /* SSKBaseTestSwift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSKBaseTestSwift.swift; path = SignalServiceKit/tests/SSKBaseTestSwift.swift; sourceTree = ""; }; - 6CEE839E5919495D53931D82DD74F832 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6CF8960926B45E28F86663E2ED9FFB04 /* NBPhoneNumberUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBPhoneNumberUtil.h; path = libPhoneNumber/NBPhoneNumberUtil.h; sourceTree = ""; }; - 6D207B11FC33B5AD02F5DFA06BC1775E /* YapDatabaseRTreeIndexConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexConnection.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexConnection.h; sourceTree = ""; }; - 6D523F3B48976F94B331638C65FA50FF /* YapDatabaseViewOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewOptions.h; path = YapDatabase/Extensions/View/YapDatabaseViewOptions.h; sourceTree = ""; }; - 6D7C254CD080AD9AAB9F689B1A674669 /* OWSWebSocket.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSWebSocket.m; sourceTree = ""; }; - 6D98A2C67BCB5FB04D7B0476BB46FA0B /* Message+TextFormatAdditions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Message+TextFormatAdditions.swift"; path = "Sources/SwiftProtobuf/Message+TextFormatAdditions.swift"; sourceTree = ""; }; - 6D9B98CE363AFAEE2F6682837D5F602F /* wrappers.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = wrappers.pb.swift; path = Sources/SwiftProtobuf/wrappers.pb.swift; sourceTree = ""; }; - 6D9C64AEBB2ED1AC3F9D3936C00DDC86 /* Fabric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Fabric.h; path = iOS/Fabric.framework/Headers/Fabric.h; sourceTree = ""; }; - 6DA9238EA149B49177007EB4063E49CC /* YapDatabaseCloudCoreGraph.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCoreGraph.m; path = YapDatabase/Extensions/CloudCore/Utilities/Execution/YapDatabaseCloudCoreGraph.m; sourceTree = ""; }; - 6DE9A40AC81F5F170252EEC14C5DFAAF /* YapDatabaseFullTextSearchTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFullTextSearchTransaction.m; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.m; sourceTree = ""; }; - 6E03D7C5F4C2285BA58CAED5A5CB80AC /* AtomFeedEntryLink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntryLink.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntryLink.swift; sourceTree = ""; }; - 6E0CFA4F2A3B03D40EFB7A63C889E001 /* PreKeyRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PreKeyRecord.m; path = AxolotlKit/Classes/Prekeys/PreKeyRecord.m; sourceTree = ""; }; - 6E42CA4977EDA8C796B04127CFE4D9B6 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; - 6E4D8884497652ED0F3A6608B3A67FAE /* Reachability.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Reachability.xcconfig; sourceTree = ""; }; - 6E56D9237EAE4184DE90D3D6FF2509A3 /* Message.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Message.swift; path = Sources/SwiftProtobuf/Message.swift; sourceTree = ""; }; - 6E7067D34A454B3ABD4DC0ED22E5332F /* DataSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DataSource.m; sourceTree = ""; }; - 6EADF5F9A78C312284C62C648F12580C /* curve_sigs.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = curve_sigs.c; path = Sources/ed25519/additions/curve_sigs.c; sourceTree = ""; }; - 6EDCA059CD69F5EED5B076D24B613DB7 /* OWSContactsOutputStream.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSContactsOutputStream.m; sourceTree = ""; }; - 6EE18AD8D5DFC777B54922F68D5F9E92 /* TSThreadTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSThreadTest.m; sourceTree = ""; }; - 6F47D26ACF68517B622CD007F2C2CCF3 /* MPArrowLeft@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "MPArrowLeft@2x.png"; path = "Mixpanel/Images/MPArrowLeft@2x.png"; sourceTree = ""; }; - 6F60CC8278BBC0190F373F60DE95DE18 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6F8ED8164FFB8D62C1AEBD5CB68090E5 /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; - 6FA222AE8C1F8A744B195426A560084A /* OWSPrimaryStorage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSPrimaryStorage.m; sourceTree = ""; }; - 6FA5305AE80EC015BD691C479DE3E813 /* Curve25519.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Curve25519.h; path = Classes/Curve25519.h; sourceTree = ""; }; - 6FF3F59C65F7117F4797B2E8986A9E7F /* YapDatabaseViewPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewPrivate.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewPrivate.h; sourceTree = ""; }; - 700B7CA1E35802178B7139E4A4377B39 /* FeedKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FeedKit.xcconfig; sourceTree = ""; }; - 701ECF735510D282FE37DDA41A23ED66 /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; - 703115A1C67D7D567C354D99C21A0B42 /* HKDFKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HKDFKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 705E2B7EBC82BB5FBF14AB6FB3FB61F5 /* MPConnectIntegrations.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPConnectIntegrations.h; path = Mixpanel/MPConnectIntegrations.h; sourceTree = ""; }; - 707105D05E319E79E94A3360E3A9C0D7 /* YapMutationStack.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapMutationStack.h; path = YapDatabase/Utilities/YapMutationStack.h; sourceTree = ""; }; - 7084A42B39FE1F3630D2D0B211207D37 /* NVActivityIndicatorAnimationBallScaleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleMultiple.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleMultiple.swift; sourceTree = ""; }; - 7088781848DA6696EC9AC2D03882036C /* SignalCoreKit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalCoreKit-Unit-Tests-prefix.pch"; sourceTree = ""; }; - 70DD5410AE50086E2F33C74CF474156D /* AxolotlKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AxolotlKit-umbrella.h"; sourceTree = ""; }; - 70E8E89B2216AB2E6DE5FA07EBC376EC /* MPABTestDesignerDisconnectMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerDisconnectMessage.h; path = Mixpanel/MPABTestDesignerDisconnectMessage.h; sourceTree = ""; }; - 70F90ED168D95F782FAEC04558EB26A2 /* YapDatabaseCloudCoreTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreTransaction.h; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreTransaction.h; sourceTree = ""; }; - 7104E548D8FDCCC5C80BBD4A50753937 /* OWSUploadOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSUploadOperation.h; sourceTree = ""; }; - 711B53A07E7B5E69D3B133EDF6CA0266 /* MPDisplayTrigger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPDisplayTrigger.h; path = Mixpanel/MPDisplayTrigger.h; sourceTree = ""; }; - 71376FA8120A7825524978D54D384354 /* d.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = d.h; path = Sources/ed25519/d.h; sourceTree = ""; }; - 7142D4C2290E1E1826A9C4D6D102303F /* SessionMetadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionMetadata.m; path = Mixpanel/SessionMetadata.m; sourceTree = ""; }; - 7166B92B9C166FDF75635F25C15D3E3F /* DeviceNamesTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceNamesTest.swift; sourceTree = ""; }; - 71797739CD18C077C3032970B0E12418 /* PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PureLayout.xcconfig; sourceTree = ""; }; - 7184C4D8C369DA17BA07BB012540AA8B /* TSAccountManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSAccountManager.m; sourceTree = ""; }; - 71D500C35B4EDDF1999AEEC71032CC76 /* NSDictionary+MTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLManipulationAdditions.m"; path = "Mantle/NSDictionary+MTLManipulationAdditions.m"; sourceTree = ""; }; - 71DE18FB42C8065C176662C44FBB74E2 /* SwiftProtobuf.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftProtobuf.xcconfig; sourceTree = ""; }; - 72074DC389462E33BDCC6B1237869DFE /* TSInteraction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSInteraction.h; sourceTree = ""; }; - 720B889C52F6E9B62DB5AF37249CA87F /* Ed25519.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Ed25519.swift; path = Classes/Ed25519.swift; sourceTree = ""; }; - 72174990EDC07CF015EDCEE4355BAD9E /* NSData+messagePadding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+messagePadding.h"; path = "SignalMetadataKit/src/NSData+messagePadding.h"; sourceTree = ""; }; - 721C0592B3829450B100F4D5F92C5CF5 /* NSNotificationCenter+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OWS.h"; sourceTree = ""; }; - 7240FBD0CC08757D9BB1159774252BF4 /* NSURLSessionDataTask+StatusCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSURLSessionDataTask+StatusCode.h"; sourceTree = ""; }; - 72840D2106BCF4F51C8DC907BF50FEBC /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; - 728C3263439E9EA23CF4C8C68CDE29B3 /* MPABTestDesignerTweakResponseMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerTweakResponseMessage.m; path = Mixpanel/MPABTestDesignerTweakResponseMessage.m; sourceTree = ""; }; - 72A35030DE9F2993AC685BCC0F6D75C8 /* MPNotificationViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPNotificationViewController.h; path = Mixpanel/MPNotificationViewController.h; sourceTree = ""; }; - 72D4DB9E026E3AD89F9E5E4CAE71AC7F /* OWSMessageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageManager.h; sourceTree = ""; }; - 72ED563DE1D78B4EEB88F84C0C88F651 /* Fingerprint.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Fingerprint.pb.swift; sourceTree = ""; }; - 72F1B6434AD63E59A1DFB8A38D29BC15 /* GCDWebServerRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerRequest.m; path = GCDWebServer/Core/GCDWebServerRequest.m; sourceTree = ""; }; - 72F884CCE346A2B8B8DC5249A5094019 /* NBPhoneNumber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBPhoneNumber.h; path = libPhoneNumber/NBPhoneNumber.h; sourceTree = ""; }; - 730A99F3E470CB3C8EA9DD56DA23DCDB /* AppVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = AppVersion.h; sourceTree = ""; }; - 73227657C6F86DAC0EAF88C8F5316F09 /* fe_1.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_1.c; path = Sources/ed25519/fe_1.c; sourceTree = ""; }; - 735EF2ACC18C57607A72BADC2004FF56 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 73AB41ACF9DAE245F4BFBCB611FF8A4F /* OWSReadReceiptManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSReadReceiptManager.h; sourceTree = ""; }; - 73E0513980676F3CA67BBEC8C4D54243 /* AppReadiness.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = AppReadiness.m; sourceTree = ""; }; - 73F7CD9032820E80A49909704E2AC0E0 /* PhoneNumberUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PhoneNumberUtil.h; sourceTree = ""; }; - 73FC75A0B803F785F2F845CB0BB92E79 /* Contact.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Contact.m; sourceTree = ""; }; - 74157F31BA77650E20A77CB229FB6956 /* SignalCoreKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalCoreKit.xcconfig; sourceTree = ""; }; - 74301BF813B91BC6AB9BD320C1FEF1D1 /* OWSReceiptsForSenderMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSReceiptsForSenderMessage.h; sourceTree = ""; }; - 743F9BDB2D15AE4F4ED5EA1C7390ABEB /* LokiFileServerAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiFileServerAPI.swift; sourceTree = ""; }; - 744AAE9C4C334809BCC46C43CEFAACF0 /* CDSSigningCertificate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CDSSigningCertificate.m; sourceTree = ""; }; - 7477F6D2E94DF650D64DC1263AD3FBD9 /* FIRErrorCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRErrorCode.h; path = Firebase/Core/Private/FIRErrorCode.h; sourceTree = ""; }; - 7493EEF707CDF39A5B4177266B483A5A /* YapDatabaseHooksPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseHooksPrivate.h; path = YapDatabase/Extensions/Hooks/Internal/YapDatabaseHooksPrivate.h; sourceTree = ""; }; - 75256CD8F6DFACA3D031FB27B6196932 /* MixpanelType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MixpanelType.h; path = Mixpanel/MixpanelType.h; sourceTree = ""; }; - 753A1A19DC2140C9F69190090A369C3F /* MessageExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MessageExtension.swift; path = Sources/SwiftProtobuf/MessageExtension.swift; sourceTree = ""; }; - 754E40D7BFF74C2551C3FF4F757BDD9D /* NVActivityIndicatorAnimationDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationDelegate.swift; path = Source/NVActivityIndicatorView/NVActivityIndicatorAnimationDelegate.swift; sourceTree = ""; }; - 7589DFA279A5C6D39B05C07C37D100F3 /* FirebaseCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FirebaseCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 758D6E8BDCF12C9C35DB1643ADDCD040 /* AppReadiness.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = AppReadiness.h; sourceTree = ""; }; - 75ABB359C23CF329F3B96B8B898A994F /* LKAddressMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKAddressMessage.h; sourceTree = ""; }; - 75B8E061266778D191BEC86848086304 /* HKDFKit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = HKDFKit.unit.xcconfig; sourceTree = ""; }; - 75F5B222BF477865B14F3272EE08C422 /* YapDatabaseViewPageMetadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewPageMetadata.m; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewPageMetadata.m; sourceTree = ""; }; - 76258C6D6605EC7280D910A44B0080B1 /* JSONMapEncodingVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONMapEncodingVisitor.swift; path = Sources/SwiftProtobuf/JSONMapEncodingVisitor.swift; sourceTree = ""; }; - 769E1AB970EC96DE14CC7A2F01533163 /* DDTTYLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = Classes/DDTTYLogger.m; sourceTree = ""; }; - 76DD5C062D0F5C50A512E69F94D5F079 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationTriangleSkewSpin.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationTriangleSkewSpin.swift; sourceTree = ""; }; - 7720ED347A0107A159445C3DF4EB46C2 /* OWSRequestBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSRequestBuilder.h; sourceTree = ""; }; - 773FD0F306D421613F65D5486F39E462 /* YapDatabaseCloudKitPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKitPrivate.h; path = YapDatabase/Extensions/CloudKit/Internal/YapDatabaseCloudKitPrivate.h; sourceTree = ""; }; - 7758D8B852CE639CA8C74737289BAC2C /* WebSocketProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebSocketProto.swift; sourceTree = ""; }; - 775B4AC32FC2EEF15F034D8EDB8BB6E1 /* NSObject+MTLComparisonAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MTLComparisonAdditions.m"; path = "Mantle/NSObject+MTLComparisonAdditions.m"; sourceTree = ""; }; - 77750FA582ABA84BC1356FABC26B95D7 /* DataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DataSource.h; sourceTree = ""; }; - 7780130E03AA3877B6BD1D8C12E5FBDE /* SMKTestUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKTestUtils.swift; path = SignalMetadataKitTests/src/SMKTestUtils.swift; sourceTree = ""; }; - 7780D82C996A534B6ACA0D30F60B4CE0 /* Curve25519Kit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "Curve25519Kit-Unit-Tests"; path = "Curve25519Kit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 77B053D1EBDE119A6F3C5974AF254F0A /* fe_neg.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_neg.c; path = Sources/ed25519/fe_neg.c; sourceTree = ""; }; - 782672E8ECFCA66871950962C5A17A53 /* OWSFakeContactsUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFakeContactsUpdater.m; sourceTree = ""; }; - 7868BBA5B4693F87960F92562D1946EB /* mz_strm.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm.h; path = SSZipArchive/minizip/mz_strm.h; sourceTree = ""; }; - 7886C6D47D9CEF4DB466EE180E863FE2 /* MediaDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaDescription.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaDescription.swift; sourceTree = ""; }; - 78916D20E7993A2769B309B63D53FD8C /* SignalServiceKit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SignalServiceKit-Unit-Tests-Info.plist"; sourceTree = ""; }; - 78A37538CC7E1A401665CE46A28FC511 /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; - 78EEBB60F1D37AD0EA30622D4CF70601 /* MPObjectSelector.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPObjectSelector.m; path = Mixpanel/MPObjectSelector.m; sourceTree = ""; }; - 78FDDFF63CE39DD7DCC4C7BB61CBF2A8 /* MPApplicationStateSerializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPApplicationStateSerializer.m; path = Mixpanel/MPApplicationStateSerializer.m; sourceTree = ""; }; - 790FA1FC83A24DCF5EE7633E580E2DBB /* WhisperTextProtocol.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WhisperTextProtocol.pb.swift; path = AxolotlKit/Classes/Protos/WhisperTextProtocol.pb.swift; sourceTree = ""; }; - 791216839C1A221B858C6AEBBCB20EC6 /* LokiLongPoller.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiLongPoller.swift; sourceTree = ""; }; - 7929DDC1131D4CB9B41A0157903FD9C5 /* SignalServiceKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SignalServiceKit-dummy.m"; sourceTree = ""; }; - 79C38A0DE6A638AFB2CD80EA8AA95827 /* Threading.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Threading.h; path = SignalCoreKit/src/Threading.h; sourceTree = ""; }; - 79F36B88C3DAE8F29460CF5361F635FF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 79FDE64917989520973FEEC7B32737F4 /* JSONScanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONScanner.swift; path = Sources/SwiftProtobuf/JSONScanner.swift; sourceTree = ""; }; - 7A27B1568489A5FCE23213157DF89CC5 /* ge_double_scalarmult.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_double_scalarmult.c; path = Sources/ed25519/ge_double_scalarmult.c; sourceTree = ""; }; - 7A49B2C6D1554C1A58CEFEBB7841A6F8 /* YYImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YYImage.xcconfig; sourceTree = ""; }; - 7A8C64F19462BFDCC02B31A83C21F158 /* TSErrorMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSErrorMessage.m; sourceTree = ""; }; - 7A965F3DC5D5C85FDB27CADDCFB66ED6 /* Reachability-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Reachability-dummy.m"; sourceTree = ""; }; - 7ADE78913CC1F331ADC0E7DB4B4B9338 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; - 7B0A102943A30D06E3377CAB91307AAF /* MessageSendJobQueueTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MessageSendJobQueueTest.swift; sourceTree = ""; }; - 7B20B7C0287C2FA957B9B0535DA4CA98 /* MTLModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLModel.m; path = Mantle/MTLModel.m; sourceTree = ""; }; - 7B31F3D790A14DC1DC41AFFC64D96D95 /* FeedKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FeedKit-dummy.m"; sourceTree = ""; }; - 7B4B00DD709EA0959550C4D1BB45738E /* OWSDeviceProvisioner.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDeviceProvisioner.h; sourceTree = ""; }; - 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjack.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7B5D729334D37225EFDF079AB7448A31 /* SSKIncrementingIdFinder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SSKIncrementingIdFinder.swift; sourceTree = ""; }; - 7B78468425550A60EE166E6B8AEE0B11 /* YapDatabaseViewChange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewChange.h; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewChange.h; sourceTree = ""; }; - 7B8E856EC2F9A34AFABA6856E8478B19 /* NVActivityIndicatorAnimationBallRotateChase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallRotateChase.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallRotateChase.swift; sourceTree = ""; }; - 7BC2D0573F3D2FFBF57D032AB589649D /* SyndicationNamespace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SyndicationNamespace.swift; path = Sources/FeedKit/Models/Namespaces/Syndication/SyndicationNamespace.swift; sourceTree = ""; }; - 7BD4836D23E0FECA0007F1BA /* LKSessionRequestMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LKSessionRequestMessage.m; sourceTree = ""; }; - 7BD4836E23E0FECA0007F1BA /* LKSessionRequestMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LKSessionRequestMessage.h; sourceTree = ""; }; - 7BD4838623E2A1740007F1BA /* FallbackSessionCipher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FallbackSessionCipher.swift; sourceTree = ""; }; - 7BD4838723E2A1740007F1BA /* DiffieHellman.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DiffieHellman.swift; sourceTree = ""; }; - 7BD4838E23E3B39D0007F1BA /* LokiFriendRequestMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LokiFriendRequestMessage.h; path = AxolotlKit/Classes/CipherMessage/LokiFriendRequestMessage.h; sourceTree = ""; }; - 7BD4838F23E3B39D0007F1BA /* LokiFriendRequestMessage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LokiFriendRequestMessage.m; path = AxolotlKit/Classes/CipherMessage/LokiFriendRequestMessage.m; sourceTree = ""; }; - 7BDC536E8C3A0398A5B80E40B44D7D60 /* OWSAttachmentDownloads.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSAttachmentDownloads.h; sourceTree = ""; }; - 7BE55430C152C3ADF41767DA9AB14673 /* Pods-Signal.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Signal.app store release.xcconfig"; sourceTree = ""; }; - 7BF03B4D763F3B38B29ABE708B92F9CE /* crypto_int64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_int64.h; path = Sources/ed25519/nacl_includes/crypto_int64.h; sourceTree = ""; }; - 7BF095A368B3C52D81CC0EEDF7EA0145 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDContextFilterLogFormatter.h; path = Classes/Extensions/DDContextFilterLogFormatter.h; sourceTree = ""; }; - 7BF59EF7E659611F248B2F7AD73C30AC /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; - 7C2B481A4818B01F4C1FAB84B6007C12 /* LokiMessageWrapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiMessageWrapper.swift; sourceTree = ""; }; - 7C2CC56A67FD148E2258AB05F3FF8250 /* SignalRecipientTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SignalRecipientTest.m; sourceTree = ""; }; - 7C5957CEE9F1BCBF43C86A4C2D4A7E30 /* MPNetwork.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPNetwork.h; path = Mixpanel/MPNetwork.h; sourceTree = ""; }; - 7C652E007135335E6FB3E18002502C96 /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; - 7C74A3E0900614F965ABCD1576E00D3C /* JSONFeedParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeedParser.swift; path = Sources/FeedKit/Parser/JSONFeedParser.swift; sourceTree = ""; }; - 7C959AA0A75ABAC08AF6171CA054BD6F /* YapDatabaseCloudKitTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKitTransaction.h; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTransaction.h; sourceTree = ""; }; - 7C997569CE0B19029D9D87AC771E65F3 /* SignalServiceKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SignalServiceKit.modulemap; sourceTree = ""; }; - 7CBF27F5BAD1456ADFE984CFC2C0CF77 /* TSStorageHeaders.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSStorageHeaders.h; sourceTree = ""; }; - 7CC832585DAABE886BBD481A72B81552 /* YapDirtyDictionary.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDirtyDictionary.m; path = YapDatabase/Utilities/YapDirtyDictionary.m; sourceTree = ""; }; - 7CD2ACBA07F533D868BD6980B159E9F4 /* MPTweakInline.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPTweakInline.m; path = Mixpanel/MPTweakInline.m; sourceTree = ""; }; - 7D1FEA4505091CA001FD2992C7A14CE4 /* sign.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = sign.c; path = Sources/ed25519/sign.c; sourceTree = ""; }; - 7D24F9B5177B7BF144D1E1E197287DE4 /* YYImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImage.m; path = YYImage/YYImage.m; sourceTree = ""; }; - 7D54D10BD1473F8DFF5AC39BF8871D0C /* JSONFeedAuthor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeedAuthor.swift; path = Sources/FeedKit/Models/JSON/JSONFeedAuthor.swift; sourceTree = ""; }; - 7D6CC16DEFC6F6C72E69ACF6078E8FF0 /* OWSUDManagerTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSUDManagerTest.swift; sourceTree = ""; }; - 7DBA35158E1C915E70FAA15824702DD8 /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; - 7DCE2915B9BAC7FA81725D0254B62303 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; - 7DF74795470B9FE4E728913AC0AF15DE /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; - 7E1873A3D327612140629D80445AA3D9 /* AxolotlKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AxolotlKit.xcconfig; sourceTree = ""; }; - 7E562697986C446613F29A258571ABBD /* SignalMetadataKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SignalMetadataKit.modulemap; sourceTree = ""; }; - 7E719C4EF42D5D665B482B56E3AF7E38 /* TestAppContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TestAppContext.m; sourceTree = ""; }; - 7E83DD387A63FC46C567FDE1EC776295 /* AtomFeedEntryCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntryCategory.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntryCategory.swift; sourceTree = ""; }; - 7EB0BC5357413C5E6EABBD0039FB2768 /* CocoaLumberjack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjack.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7EB532FFB444782A98194DDADE8E9D43 /* fe.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fe.h; path = Sources/ed25519/fe.h; sourceTree = ""; }; - 7EC0618809333DA51F7CB755F9FF5CFE /* SMKUDAccessKeyTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKUDAccessKeyTest.swift; path = SignalMetadataKitTests/src/SMKUDAccessKeyTest.swift; sourceTree = ""; }; - 7EFA09E63F660B9CEA117B6DE85145F1 /* FIRConfigurationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRConfigurationInternal.h; path = Firebase/Core/Private/FIRConfigurationInternal.h; sourceTree = ""; }; - 7F29B50144BC9556D1D9D48F3B0FBB56 /* WhisperMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WhisperMessage.h; path = AxolotlKit/Classes/CipherMessage/WhisperMessage.h; sourceTree = ""; }; - 7F3A48424421CFB9F4002ACD3FDB10E6 /* mz_zip.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_zip.h; path = SSZipArchive/minizip/mz_zip.h; sourceTree = ""; }; - 7F76E8738FB85544DA1920F5FD23A6F6 /* Pods-SignalMessaging.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalMessaging.release.xcconfig"; sourceTree = ""; }; - 7FA6B70A580669549ED3285647C1710C /* EXTScope.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXTScope.m; path = Mantle/extobjc/EXTScope.m; sourceTree = ""; }; - 7FDE645D2177ADE96782B7EDC597388C /* SendingChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SendingChain.h; path = AxolotlKit/Classes/Ratchet/SendingChain.h; sourceTree = ""; }; - 809E26BD177EE9EACD3212B9C6A12D2F /* OWSUDManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSUDManager.swift; sourceTree = ""; }; - 80A81E44501AC2362620EAB28837DC54 /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; - 80A8985C4FA9F083814A9FB6338BC856 /* OWSDisappearingConfigurationUpdateInfoMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDisappearingConfigurationUpdateInfoMessage.h; sourceTree = ""; }; - 80B2B15E60142E2C6CEB342793F59E6C /* OWSRecipientIdentity.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSRecipientIdentity.m; sourceTree = ""; }; - 811083E74CF6B3759C094310BF3B3882 /* NVActivityIndicatorAnimationSquareSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationSquareSpin.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationSquareSpin.swift; sourceTree = ""; }; - 8122BB8D8B39A1B6DC4D2FA7D5D54D85 /* TSDatabaseSecondaryIndexes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSDatabaseSecondaryIndexes.h; sourceTree = ""; }; - 81271C24D7651B1483E41C13989FD3DE /* SSKSwiftTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSKSwiftTests.swift; path = SignalServiceKit/tests/SSKSwiftTests.swift; sourceTree = ""; }; - 815423BA41C765ADC77D4F2CAFF95D6B /* MPArrowRight.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = MPArrowRight.png; path = Mixpanel/Images/MPArrowRight.png; sourceTree = ""; }; - 8162434D679FF30EF83528748567B8D5 /* Message+AnyAdditions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Message+AnyAdditions.swift"; path = "Sources/SwiftProtobuf/Message+AnyAdditions.swift"; sourceTree = ""; }; - 82724E9A55D10EFDC411FDCF6D0AE75C /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Crashlytics.framework; path = iOS/Crashlytics.framework; sourceTree = ""; }; - 8293E2A743D63A5D00D0BAE1B309720D /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; - 82C68E7FF62E53EAE619753197DB9DE6 /* zeroize.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = zeroize.h; path = Sources/ed25519/additions/zeroize.h; sourceTree = ""; }; - 82CA516C6D50548651F8CEA4635D7438 /* MPObjectSerializerConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPObjectSerializerConfig.m; path = Mixpanel/MPObjectSerializerConfig.m; sourceTree = ""; }; - 82CB437331B4F6A4F638F6549165D21C /* SignalServiceProfile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalServiceProfile.swift; sourceTree = ""; }; - 82E1CF4762C0FCE85DBB32E53CB1E0F6 /* NSArray+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+PureLayout.h"; path = "PureLayout/PureLayout/NSArray+PureLayout.h"; sourceTree = ""; }; - 8336128C3FA83B0D07019BE27529841F /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; - 83490240E3369FFAB4451EE971C77D49 /* TSInvalidIdentityKeySendingErrorMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSInvalidIdentityKeySendingErrorMessage.h; sourceTree = ""; }; - 836F2F7B9044F96347AC30A228325F33 /* NSDictionary+YapDatabase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+YapDatabase.h"; path = "YapDatabase/Internal/NSDictionary+YapDatabase.h"; sourceTree = ""; }; - 837460F5BE2024DF59F94275B38B63BE /* GULLoggerLevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULLoggerLevel.h; path = GoogleUtilities/Logger/Public/GULLoggerLevel.h; sourceTree = ""; }; - 8387E64BA8981A8E1F64B86BD8C871B3 /* YapRowidSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapRowidSet.h; path = YapDatabase/Internal/YapRowidSet.h; sourceTree = ""; }; - 839B024AE0629F6C686DD67FC13837F3 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; - 83DD8425C42FD896D3309206ACE3E6D9 /* NVActivityIndicatorAnimationLineScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScale.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScale.swift; sourceTree = ""; }; - 83E3EA4FF195800D50B5D20C7AAF31AB /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; - 83EEB7ADA8AE57E0C5BC66A44D733B61 /* OWSPrimaryStorage+Loki.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+Loki.m"; sourceTree = ""; }; - 83FD097AEB7085F6667ED50D486DE3B2 /* iTunesSubCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = iTunesSubCategory.swift; path = Sources/FeedKit/Models/Namespaces/iTunes/iTunesSubCategory.swift; sourceTree = ""; }; - 841721DD1452C467F4A65DADED65AD29 /* AxolotlKitSwiftTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AxolotlKitSwiftTests.swift; path = AxolotlKitTests/AxolotlKitSwiftTests.swift; sourceTree = ""; }; - 8459BF8036CC4E5F9CCC5149B88E279B /* YapWhitelistBlacklist.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapWhitelistBlacklist.m; path = YapDatabase/Utilities/YapWhitelistBlacklist.m; sourceTree = ""; }; - 84A11E57646029A88666DB52351150B3 /* Pods-SignalShareExtension-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SignalShareExtension-dummy.m"; sourceTree = ""; }; - 84FC3C6188310F0A9E47C09F6A7CA252 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDDispatchQueueLogFormatter.m; path = Classes/Extensions/DDDispatchQueueLogFormatter.m; sourceTree = ""; }; - 851804EC0075E5F57200C7A10E5783F3 /* OWSRecordTranscriptJob.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSRecordTranscriptJob.m; sourceTree = ""; }; - 8528A63B4E7409048FE1901945B40DD2 /* Enum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enum.swift; path = Sources/SwiftProtobuf/Enum.swift; sourceTree = ""; }; - 852DF02E684864C411221A5AA9B85F20 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; - 854FAFEAA173FD89FD816EDD4B82760A /* YapDatabaseFilteredViewPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFilteredViewPrivate.h; path = YapDatabase/Extensions/FilteredView/Internal/YapDatabaseFilteredViewPrivate.h; sourceTree = ""; }; - 855F84CD063FA3E041430BCB887205B6 /* fe_isnegative.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_isnegative.c; path = Sources/ed25519/fe_isnegative.c; sourceTree = ""; }; - 8567BCB45892B758F662A9B9A6113EE5 /* FIRDependency.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRDependency.h; path = Firebase/Core/Private/FIRDependency.h; sourceTree = ""; }; - 85729F4F35B966FDEF9344C1C2EBDBF5 /* OWSFingerprintBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFingerprintBuilder.h; sourceTree = ""; }; - 85787A1764F254298B4FD33875034603 /* MediaRestriction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaRestriction.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaRestriction.swift; sourceTree = ""; }; - 859AF72A77C6A61F33AFFD67DC84E01B /* SAMKeychain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SAMKeychain.m; path = Sources/SAMKeychain.m; sourceTree = ""; }; - 85A084BB5B7918E183171397E030FEC6 /* NVActivityIndicatorPresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorPresenter.swift; path = Source/NVActivityIndicatorView/Presenter/NVActivityIndicatorPresenter.swift; sourceTree = ""; }; - 85A485467DA49D6C866D02D84C98106E /* YapBidirectionalCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapBidirectionalCache.h; path = YapDatabase/Utilities/YapBidirectionalCache.h; sourceTree = ""; }; - 85EA67C88AA10C6A5042825A31EFE046 /* AccountServiceClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AccountServiceClient.swift; sourceTree = ""; }; - 85EC3435C861717279A6142988132FD3 /* FriendRequestExpirationMessageFinder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FriendRequestExpirationMessageFinder.swift; sourceTree = ""; }; - 860900D5B988390994DF2CECD7F5E862 /* Pods_SignalShareExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SignalShareExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 86178AA39F3584C065BDA03462A0A67A /* GULAppEnvironmentUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULAppEnvironmentUtil.m; path = GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.m; sourceTree = ""; }; - 861827EFD2FEB9680AF93D18862FC7DC /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; - 863FB1F8B6B9127EC3BC80D78517EE83 /* LKFriendRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKFriendRequestMessage.m; sourceTree = ""; }; - 86AD29CD30DB35C0576C70BA364EFE36 /* CCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CCM.swift; path = Sources/CryptoSwift/BlockMode/CCM.swift; sourceTree = ""; }; - 86E25CA49CC18C94EFCA62986D604B5F /* SessionRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionRecord.h; path = AxolotlKit/Classes/Sessions/SessionRecord.h; sourceTree = ""; }; - 870F09801A308B1355253D1BCAFE56F9 /* MPObjectSerializerContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPObjectSerializerContext.m; path = Mixpanel/MPObjectSerializerContext.m; sourceTree = ""; }; - 8757A020F3671DB84519FE9AD101DF1A /* NSNotificationCenter+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSNotificationCenter+OWS.m"; sourceTree = ""; }; - 87762C446F5EF566994FD451F1C34CE9 /* YapDatabaseTransaction+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YapDatabaseTransaction+OWS.m"; sourceTree = ""; }; - 8785EF1F534FDE34B7F5EF31C440F9E8 /* OWSPrimaryStorage+Calling.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+Calling.h"; sourceTree = ""; }; - 879356C9C3F811347E1A4B779EC58559 /* TSStorageKeys.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSStorageKeys.h; sourceTree = ""; }; - 8797E305F98441E016BF965561A07CF2 /* GCDWebServerStreamedResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerStreamedResponse.h; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.h; sourceTree = ""; }; - 87CA02B6CC66385E136075BFD5921F0A /* NSArray+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSArray+OWS.h"; sourceTree = ""; }; - 87CE49C05EC4887EF3368F1C116EBF3E /* HKDFKitSwiftTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDFKitSwiftTests.swift; path = HKDFKit/HKDFKitTests/HKDFKitSwiftTests.swift; sourceTree = ""; }; - 87E31875A05AD8931CFDC905526CBB34 /* OWSMessageDecrypter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageDecrypter.h; sourceTree = ""; }; - 87E5DC6233E4EAB44B0FD3618028CDDB /* MPNotificationButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPNotificationButton.h; path = Mixpanel/MPNotificationButton.h; sourceTree = ""; }; - 87EDBD01858DECB144599EA60BA19642 /* YapActionItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapActionItem.m; path = YapDatabase/Extensions/ActionManager/YapActionItem.m; sourceTree = ""; }; - 884F4DD4F090F7F0D9E08A8D1E56DD7F /* YDBCKRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKRecord.m; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecord.m; sourceTree = ""; }; - 884F5E11998C0CA95D710328D41D8156 /* MPTypeDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPTypeDescription.h; path = Mixpanel/MPTypeDescription.h; sourceTree = ""; }; - 88A6A1E9B4F182DA34A92D8D4CA399B1 /* NBPhoneMetaData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBPhoneMetaData.h; path = libPhoneNumber/NBPhoneMetaData.h; sourceTree = ""; }; - 89018605A123FB95D923A8766CB70015 /* Pods-SignalTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SignalTests.modulemap"; sourceTree = ""; }; - 891109DCCE8C56C8B2B5ADF998632C94 /* Logger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logger.swift; path = SignalCoreKit/src/Logger.swift; sourceTree = ""; }; - 89431B7AC65D91AAEAAA55DDAAE83E49 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; - 8949F9C6ECFEC333290EC51E5307B295 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; - 8953851E8CBFBBBED4BDB92F59260BB9 /* CLIColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CLIColor.m; path = Classes/CLI/CLIColor.m; sourceTree = ""; }; - 89762EAF9CED4502EB272351C17C53FF /* GCDWebServerFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileResponse.m; path = GCDWebServer/Responses/GCDWebServerFileResponse.m; sourceTree = ""; }; - 8992754FAF77B3095DF369590223E2F4 /* SignalCoreKit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SignalCoreKit-Unit-Tests"; path = "SignalCoreKit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 8994A4C39390E5F779BD010A2FC99773 /* OWSProvisioningCipher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSProvisioningCipher.h; sourceTree = ""; }; - 8994B9473CDE9B016BEA34D760FAFE71 /* OWSIncomingSentMessageTranscript.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSIncomingSentMessageTranscript.m; sourceTree = ""; }; - 899D372CB69CEEF199B0AC93F0A4EE7D /* YapDatabaseViewTypes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewTypes.m; path = YapDatabase/Extensions/AutoView/YapDatabaseViewTypes.m; sourceTree = ""; }; - 89AAF2ECF7A2A2274D7663384642E023 /* OWSDisappearingMessagesConfigurationMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDisappearingMessagesConfigurationMessage.h; sourceTree = ""; }; - 89C4FA8D327468D47BF5768639718236 /* YapDatabaseCloudCorePipeline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCorePipeline.h; path = YapDatabase/Extensions/CloudCore/Utilities/Execution/YapDatabaseCloudCorePipeline.h; sourceTree = ""; }; - 89D9466CCEEDFD632CB34FD20D6F19CC /* Mixpanel+AutomaticTracks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Mixpanel+AutomaticTracks.h"; path = "Mixpanel/Mixpanel+AutomaticTracks.h"; sourceTree = ""; }; - 89E20484BD52042B3D945E7E08F5CC28 /* NSValueTransformer+MTLInversionAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+MTLInversionAdditions.m"; path = "Mantle/NSValueTransformer+MTLInversionAdditions.m"; sourceTree = ""; }; - 8A156313EA307E881878651CC9BA95C0 /* YapMurmurHash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapMurmurHash.h; path = YapDatabase/Utilities/YapMurmurHash.h; sourceTree = ""; }; - 8A18F020F11A32F297FB284BAEC5D643 /* Google_Protobuf_ListValue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_ListValue+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_ListValue+Extensions.swift"; sourceTree = ""; }; - 8A1CDD01787F83C1F6B834A16D0324E4 /* YapMurmurHash.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapMurmurHash.m; path = YapDatabase/Utilities/YapMurmurHash.m; sourceTree = ""; }; - 8A386F6D3B4B439F42311ECF2AB1A342 /* YapDatabase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YapDatabase-umbrella.h"; sourceTree = ""; }; - 8A4080F3B31ABE5C771F4CF700373C21 /* SAMKeychainQuery.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SAMKeychainQuery.m; path = Sources/SAMKeychainQuery.m; sourceTree = ""; }; - 8A5A34DE07C4555F4BB1ABDBA939FD05 /* YapDatabase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YapDatabase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8A78F6FD83FDFBF003BF016AD46D39AD /* Curve25519Kit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Curve25519Kit-Unit-Tests-resources.sh"; sourceTree = ""; }; - 8A87B989657BF344031280E8B9295F3C /* SignedPrekeyRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SignedPrekeyRecord.h; path = AxolotlKit/Classes/Prekeys/SignedPrekeyRecord.h; sourceTree = ""; }; - 8ACC8836574D5190F220E4FF68C4D003 /* StringUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringUtils.swift; path = Sources/SwiftProtobuf/StringUtils.swift; sourceTree = ""; }; - 8AF5CB8E51BB8E410610CE0EAC5460BB /* NVActivityIndicatorAnimationBallClipRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotate.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotate.swift; sourceTree = ""; }; - 8AFFF1C991DFBAB9B3A9DBDB9C05FB2A /* YapDatabaseActionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseActionManager.h; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManager.h; sourceTree = ""; }; - 8B30733613A44897EC15E463EC258FBA /* MediaLicence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaLicence.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaLicence.swift; sourceTree = ""; }; - 8B6E25497F068D0F1A3ACA0DD1D183EE /* yap_vfs_shim.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = yap_vfs_shim.h; path = YapDatabase/Internal/yap_vfs_shim.h; sourceTree = ""; }; - 8B8181C4AD215A6D442494EDC9B841BC /* MPCGColorRefToNSStringValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPCGColorRefToNSStringValueTransformer.m; path = Mixpanel/MPCGColorRefToNSStringValueTransformer.m; sourceTree = ""; }; - 8B884A71488790E0B619D1F5DFD0D1D5 /* MPBOOLToNSNumberValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPBOOLToNSNumberValueTransformer.m; path = Mixpanel/MPBOOLToNSNumberValueTransformer.m; sourceTree = ""; }; - 8BA83F4B42D69076AD160656EE6ACACC /* SignalServiceKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalServiceKit-prefix.pch"; sourceTree = ""; }; - 8C291D34E0195FA5512AA0DA59398900 /* NSData+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+OWS.m"; path = "SignalCoreKit/src/NSData+OWS.m"; sourceTree = ""; }; - 8C33E8E78C97BD5E2C0EEE3352AC12F9 /* mz_crypt_apple.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_crypt_apple.c; path = SSZipArchive/minizip/mz_crypt_apple.c; sourceTree = ""; }; - 8C4B150B9AEA3057AC812AC627ADA8BD /* MixpanelGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MixpanelGroup.m; path = Mixpanel/MixpanelGroup.m; sourceTree = ""; }; - 8C58CA521EE4BEA66628FD4B978A2F56 /* OWSOutgoingSentMessageTranscript.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOutgoingSentMessageTranscript.m; sourceTree = ""; }; - 8C7730BE3A578A02CC5480B35EF84C1C /* OWSStorage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSStorage.m; sourceTree = ""; }; - 8C8CB261D1DB14E5A42FF9F64E750E0C /* OWSCensorshipConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSCensorshipConfiguration.m; sourceTree = ""; }; - 8C8D47704A8555589886603480AB25E9 /* SCKExceptionWrapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SCKExceptionWrapper.h; path = SignalCoreKit/src/SCKExceptionWrapper.h; sourceTree = ""; }; - 8C9232C5E279CEE26429CFDF123B2E3A /* MPNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPNotification.h; path = Mixpanel/MPNotification.h; sourceTree = ""; }; - 8CA640606A8A7EA4F8DBC9FEBF8FBF34 /* SignalServiceKit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalServiceKit-Unit-Tests-prefix.pch"; sourceTree = ""; }; - 8CA91D14EFA1C207841D6EE98C2C4FD7 /* blocks.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = blocks.c; path = Sources/ed25519/nacl_sha512/blocks.c; sourceTree = ""; }; - 8CB2946DD7A74E635FDD56BF9B8CD833 /* SMKSenderCertificateTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKSenderCertificateTest.swift; path = SignalMetadataKitTests/src/SMKSenderCertificateTest.swift; sourceTree = ""; }; - 8CD7D1BB2F5102B87274FAC5B2D2C424 /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; - 8CDF81AA73917DCCA102A61DB4AD96E2 /* FeedKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FeedKit-prefix.pch"; sourceTree = ""; }; - 8CF1A8932CB3AD2D5629542CAFCF9F11 /* TSAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSAttachment.h; sourceTree = ""; }; - 8D0386A437339352391897DCF1966D18 /* YapActionItemPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapActionItemPrivate.h; path = YapDatabase/Extensions/ActionManager/Internal/YapActionItemPrivate.h; sourceTree = ""; }; - 8D094427D91142E3CB3A83C53CDCB299 /* SMKMiscTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKMiscTest.swift; path = SignalMetadataKitTests/src/SMKMiscTest.swift; sourceTree = ""; }; - 8D10AB795B7D3DCFAE96799C2239D399 /* YapDatabaseFilteredViewTypes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFilteredViewTypes.m; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewTypes.m; sourceTree = ""; }; - 8D1DC1C03378E4B31C58F16A86E3A459 /* NBNumberFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBNumberFormat.m; path = libPhoneNumber/NBNumberFormat.m; sourceTree = ""; }; - 8D6A0641F240B136C48C0B10456A24CC /* NVActivityIndicatorViewable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorViewable.swift; path = Source/NVActivityIndicatorView/Presenter/NVActivityIndicatorViewable.swift; sourceTree = ""; }; - 8D899395C3BE9B87A57465F3BFA72C0C /* PureLayout+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PureLayout+Internal.h"; path = "PureLayout/PureLayout/PureLayout+Internal.h"; sourceTree = ""; }; - 8D94CBEC5821939C0FB73F7E90B94FAE /* NVActivityIndicatorView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NVActivityIndicatorView.xcconfig; sourceTree = ""; }; - 8D9BCAF8A6AE70873E602EC505A70B7E /* OWSDisappearingConfigurationUpdateInfoMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingConfigurationUpdateInfoMessage.m; sourceTree = ""; }; - 8DE749EE9C74394AC2FCFAAF5D9AE2E6 /* Visitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Visitor.swift; path = Sources/SwiftProtobuf/Visitor.swift; sourceTree = ""; }; - 8E21257D7E72345D72E6FB6214DE3D6E /* MediaThumbnail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaThumbnail.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaThumbnail.swift; sourceTree = ""; }; - 8E28E5E873C23E711947C102CA67BA2B /* MPABTestDesignerDeviceInfoRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerDeviceInfoRequestMessage.h; path = Mixpanel/MPABTestDesignerDeviceInfoRequestMessage.h; sourceTree = ""; }; - 8E7568D3C6422033944E32ED03252063 /* MediaStarRating.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaStarRating.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaStarRating.swift; sourceTree = ""; }; - 8E7D47289F93F299AB1CB1C6903D8FBD /* OWSFingerprint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFingerprint.h; sourceTree = ""; }; - 8EDD3C62D98C61AB2CF00E0CE6BE4630 /* CocoaLumberjack-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CocoaLumberjack-prefix.pch"; sourceTree = ""; }; - 8EEA55178DE1C2B5420F35813B5B143A /* NVActivityIndicatorView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NVActivityIndicatorView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8F6580B8944477F05BF4E6C3B0A6F12E /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; - 8F90B49D33EBE4BAF94B5184F8766892 /* YapDatabaseRelationshipConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRelationshipConnection.m; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.m; sourceTree = ""; }; - 8FB7B2F40313226A6BB509CEDA98043C /* Answers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Answers.h; path = iOS/Crashlytics.framework/Headers/Answers.h; sourceTree = ""; }; - 8FB9F30182DC4D942B2CA2B6E35EDD37 /* MPDesignerEventBindingRequestMesssage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPDesignerEventBindingRequestMesssage.m; path = Mixpanel/MPDesignerEventBindingRequestMesssage.m; sourceTree = ""; }; - 8FBA10AF2B6E0098ED55D1138DF94AC6 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8FBA4E58057C9DE41F3A5410347A5F5F /* CLSAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSAttributes.h; path = iOS/Crashlytics.framework/Headers/CLSAttributes.h; sourceTree = ""; }; - 8FC8F03D5C83B65C59F33D6AF22B79D9 /* Pods_SignalMessaging.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SignalMessaging.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9018D4DEFFDDD1E7D8363F2DFED7EA05 /* YapDatabaseViewChange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewChange.m; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewChange.m; sourceTree = ""; }; - 9074A93112FACA0358774D53A6B49030 /* MixpanelPeople.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MixpanelPeople.m; path = Mixpanel/MixpanelPeople.m; sourceTree = ""; }; - 909E86550FD958133D8CC622FC8AA8BE /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; - 90A36B551DAF2FC8F3A12767E83FA3AF /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; - 90BEEC1F2D72352DB249FC38535CB29C /* Pods-SignalMessaging-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SignalMessaging-resources.sh"; sourceTree = ""; }; - 9113553455F8AAEB26F0399130813085 /* SignalServiceKit-Unit-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SignalServiceKit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 91574B5B0CD0AF89B4C01C27633DA0E6 /* SCKSwiftTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SCKSwiftTests.swift; path = SignalCoreKitTests/src/SCKSwiftTests.swift; sourceTree = ""; }; - 9160F575F1959D09B48815657E008362 /* YDBCKChangeSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKChangeSet.h; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKChangeSet.h; sourceTree = ""; }; - 918169CBE0878917BC81780A849257D1 /* YapDatabaseManualViewConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseManualViewConnection.m; path = YapDatabase/Extensions/ManualView/YapDatabaseManualViewConnection.m; sourceTree = ""; }; - 9182C549B38444FEA44E7E002C04A2BD /* SignalCoreKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalCoreKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 91869B512553835463C73508989180AD /* libPhoneNumber-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "libPhoneNumber-iOS-dummy.m"; sourceTree = ""; }; - 91BDF7B91C7F6C3298951E02CEA5D2D5 /* NVActivityIndicatorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorView.swift; path = Source/NVActivityIndicatorView/NVActivityIndicatorView.swift; sourceTree = ""; }; - 91E049A9661A9C93E8DB198918D6EA73 /* libPhoneNumber-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "libPhoneNumber-iOS.xcconfig"; sourceTree = ""; }; - 9249E751DBB3F74BBCB03B10759A75E2 /* OWSHTTPSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSHTTPSecurityPolicy.h; sourceTree = ""; }; - 9258E09F3744B5E764E7AABCA648356A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 927037EB8AF12624CD4FCA002198050D /* CocoaLumberjack.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CocoaLumberjack.h; path = Classes/CocoaLumberjack.h; sourceTree = ""; }; - 9271EB6E5CA1212F30059C6F15B7095A /* FakeContactsManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FakeContactsManager.swift; sourceTree = ""; }; - 92C2FD669B37F29F0CDE93FFEA02F24D /* OWSAnalytics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSAnalytics.h; sourceTree = ""; }; - 92CFA4692F9D94511734B0FE082BE659 /* YapDatabaseViewPage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewPage.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewPage.h; sourceTree = ""; }; - 92E04068EF8D77BF3027C745971ADC5C /* UIView+MPHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+MPHelpers.m"; path = "Mixpanel/UIView+MPHelpers.m"; sourceTree = ""; }; - 9308EDE34A2555210A3212A6E0A30F5E /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; - 9315531F674C1A111DED6DB0FB471F90 /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; - 9317C39D8FF8A2AA491EE4906D818569 /* NVActivityIndicatorShape.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorShape.swift; path = Source/NVActivityIndicatorView/NVActivityIndicatorShape.swift; sourceTree = ""; }; - 9374DDBCED59354E1A819C3B90779209 /* YapDatabaseRTreeIndexTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndexTransaction.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexTransaction.m; sourceTree = ""; }; - 93AD5CF756571C975F2C5FE4B94F64CC /* YapDatabaseCloudKitConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudKitConnection.m; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitConnection.m; sourceTree = ""; }; - 93AE128FDE68E6E434CB0959D18CD0C0 /* UIImage+MPImageEffects.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MPImageEffects.m"; path = "Mixpanel/UIImage+MPImageEffects.m"; sourceTree = ""; }; - 93B21D5C2F67E0CBED4A40FCD6199310 /* DDASLLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = Classes/DDASLLogger.h; sourceTree = ""; }; - 93EC963F1C0FFBF14B5FE86518994CAD /* CryptographyTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CryptographyTests.m; path = SignalCoreKitTests/src/CryptographyTests.m; sourceTree = ""; }; - 93EE7EBEC1CBC17F8582BFC13FDD776D /* SMKSecretSessionCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKSecretSessionCipher.swift; path = SignalMetadataKit/src/SMKSecretSessionCipher.swift; sourceTree = ""; }; - 94045CD92B6AD28B0FADBCF77F6638EF /* MPClassDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPClassDescription.m; path = Mixpanel/MPClassDescription.m; sourceTree = ""; }; - 9454421401DF75093055831C3411037E /* TSThread.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSThread.h; sourceTree = ""; }; - 94BF78CC142FE785240A7BB510BB71C9 /* Pods-SignalShareExtension-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SignalShareExtension-umbrella.h"; sourceTree = ""; }; - 94C2937821F1B561D414A1AC8829F463 /* YapDatabaseCloudCore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCore.m; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCore.m; sourceTree = ""; }; - 94C9D1CD0D7C1B148358CFA80711C34F /* Google_Protobuf_Struct+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Struct+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Struct+Extensions.swift"; sourceTree = ""; }; - 94C9F673DA4C8665021294FE291258B1 /* Pods-SignalMessaging-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SignalMessaging-acknowledgements.markdown"; sourceTree = ""; }; - 94F68A7708459395BF371639B261BAB3 /* MPObjectIdentityProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPObjectIdentityProvider.h; path = Mixpanel/MPObjectIdentityProvider.h; sourceTree = ""; }; - 95342B2FCCBD8EF1BEBDF18C2BFE917B /* HKDFKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HKDFKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 95366E2A772E1393C9D7748CC9CDDB78 /* AES-CBC.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AES-CBC.h"; path = "AxolotlKit/Classes/Crypto/AES-CBC.h"; sourceTree = ""; }; - 954D1A914F143ED794C048D60FCEB263 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; - 9564AD3E5416FC8DBB8ACDEF58DFA721 /* YapDatabaseCloudCorePipelinePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCorePipelinePrivate.h; path = YapDatabase/Extensions/CloudCore/Internal/YapDatabaseCloudCorePipelinePrivate.h; sourceTree = ""; }; - 957D01562AAAAA4EE5A13F7553012910 /* YapDatabase+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "YapDatabase+Promise.swift"; sourceTree = ""; }; - 9588F598A5379E577CF54E2898B25E11 /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; - 958C9FF596BF2C25F0AE35ADBC44F41A /* PreKeyBundleTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PreKeyBundleTests.m; path = AxolotlKitTests/PreKeyBundleTests.m; sourceTree = ""; }; - 9597617128700DB1DD54E3E0147976D4 /* SimpleExtensionMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SimpleExtensionMap.swift; path = Sources/SwiftProtobuf/SimpleExtensionMap.swift; sourceTree = ""; }; - 959E6274C89FCBDEB1B15638D2DA214A /* MPTweakStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPTweakStore.m; path = Mixpanel/MPTweakStore.m; sourceTree = ""; }; - 95B0E130D1A1785ACB637C577E8E9EBA /* SignedPrekeyRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SignedPrekeyRecord.m; path = AxolotlKit/Classes/Prekeys/SignedPrekeyRecord.m; sourceTree = ""; }; - 966A33C977967803C6756D4F46D51CB5 /* YapDatabaseFilteredViewTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFilteredViewTransaction.m; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewTransaction.m; sourceTree = ""; }; - 967A4D9C7E2BA24BEFF4B77814EED9A9 /* ALView+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ALView+PureLayout.m"; path = "PureLayout/PureLayout/ALView+PureLayout.m"; sourceTree = ""; }; - 969E86A16B4B097A0F5788DF7A2E1425 /* openssl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = openssl.framework; path = "OpenSSL-iOS/bin/openssl.framework"; sourceTree = ""; }; - 9723F88DBD0A06C6F601B998AADD9113 /* Cryptography.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cryptography.h; path = SignalCoreKit/src/Cryptography.h; sourceTree = ""; }; - 9759C51DB3F7732DF508F9AC8822E80D /* Curve25519.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Curve25519.m; path = Classes/Curve25519.m; sourceTree = ""; }; - 97CE6A91A0944AA05FCEDEF9172685B4 /* MessageSender+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "MessageSender+Promise.swift"; sourceTree = ""; }; - 97E333907F6A0399737DFF8EC4ECD6C4 /* MPUITableViewBinding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPUITableViewBinding.h; path = Mixpanel/MPUITableViewBinding.h; sourceTree = ""; }; - 97E57B2BF9B3F4D08A12C3BB89C2A42E /* YapDatabase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YapDatabase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 982FA3AA0FB7A55C5113288AC4C669BE /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallSpinFadeLoader.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallSpinFadeLoader.swift; sourceTree = ""; }; - 987AB252A165B539C0757CE19BDF9C86 /* sign_modified.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = sign_modified.c; path = Sources/ed25519/additions/sign_modified.c; sourceTree = ""; }; - 9887FCC46B6179E30DD0F80CD591E106 /* OWSReadReceiptsForLinkedDevicesMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSReadReceiptsForLinkedDevicesMessage.h; sourceTree = ""; }; - 98EF8E9833D96FC9204D3AB733E006B5 /* NSNotificationCenter+AutomaticTracks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AutomaticTracks.m"; path = "Mixpanel/NSNotificationCenter+AutomaticTracks.m"; sourceTree = ""; }; - 98FB4581B82CAFB4F7603F06F0CCFB78 /* YDBCKRecordTableInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKRecordTableInfo.m; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKRecordTableInfo.m; sourceTree = ""; }; - 9919E2DF5CC9332E4759B2E356CD826D /* GSR4.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GSR4.crt; sourceTree = ""; }; - 991C292F5ACA20C5726C63CD775017C7 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; - 99219436FB01CF8BCB67C2D018748935 /* SessionStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionStore.h; path = AxolotlKit/Classes/State/SessionStore.h; sourceTree = ""; }; - 996101C4C6B7CC14918D3D6B6E3C3BBF /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotatePulse.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotatePulse.swift; sourceTree = ""; }; - 996ED08D21EC2D2C827DE397BD66DC4C /* Curve25519Kit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Curve25519Kit.unit.xcconfig; sourceTree = ""; }; - 99BC78B551179B1A94CBA426EB11AF10 /* YapDatabaseView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseView.h; path = YapDatabase/Extensions/View/YapDatabaseView.h; sourceTree = ""; }; - 99DB1C29EE7028E0C858F0A98C7673CD /* DDAssertMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDAssertMacros.h; path = Classes/DDAssertMacros.h; sourceTree = ""; }; - 99F1011A9263D9B9A24363FA55A8FF73 /* SMKError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKError.swift; path = SignalMetadataKit/src/SMKError.swift; sourceTree = ""; }; - 9A388A3C374A7943356BAB1B9BD34935 /* OWSLogs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OWSLogs.h; path = SignalCoreKit/src/OWSLogs.h; sourceTree = ""; }; - 9A90CF0E33F7005E4018B5D407E34F67 /* YapDatabaseSecondaryIndexConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndexConnection.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.m; sourceTree = ""; }; - 9A9B3B4D06A980DE08CA1C4DC7E393CB /* Pods-Signal-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Signal-resources.sh"; sourceTree = ""; }; - 9AB864B4969F0404B8312E189AC76FDE /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; - 9ABBB916C75DFB77B2C395AFCC927992 /* PureLayout-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-umbrella.h"; sourceTree = ""; }; - 9AD9C005ACD9293F8C41256E55870CD6 /* YapDatabaseRelationshipConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipConnection.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.h; sourceTree = ""; }; - 9B2853E91616973B0C1D025CBE963388 /* NSObject+MTLComparisonAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MTLComparisonAdditions.h"; path = "Mantle/NSObject+MTLComparisonAdditions.h"; sourceTree = ""; }; - 9B34C1E6FFEA77EB80A4923BA271C3B3 /* MPVariant.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPVariant.h; path = Mixpanel/MPVariant.h; sourceTree = ""; }; - 9B3EC8426279736894226D2C87C0AE1C /* OWSContact.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSContact.h; sourceTree = ""; }; - 9B4727AC842DCF9983D38A8169020A52 /* YapDatabaseExtensionTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseExtensionTransaction.m; path = YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.m; sourceTree = ""; }; - 9B63EDD31EA4B96212B3A77DCF8ABAF8 /* Pods-SignalShareExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalShareExtension.debug.xcconfig"; sourceTree = ""; }; - 9B663C00AA4DB0E415A5EBFFFFD4E19B /* YapDatabaseRTreeIndexPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexPrivate.h; path = YapDatabase/Extensions/RTreeIndex/Internal/YapDatabaseRTreeIndexPrivate.h; sourceTree = ""; }; - 9B7EC6CAFD9C5E539F889ACE5185B2BB /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; - 9BBC5A021FE1984494133AABED204559 /* NBPhoneNumberDefines.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBPhoneNumberDefines.m; path = libPhoneNumber/NBPhoneNumberDefines.m; sourceTree = ""; }; - 9BDE51E2BFF3CEE9B54A7CC90A5933FC /* CocoaLumberjack.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CocoaLumberjack.modulemap; sourceTree = ""; }; - 9C01BC40DEA8FCAD4C521043139F227D /* mz_zip_rw.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_zip_rw.h; path = SSZipArchive/minizip/mz_zip_rw.h; sourceTree = ""; }; - 9C62F73A0CC58C5D81D3336A495ED56B /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; - 9C65D337333C6C93A2EAD81D32B43D87 /* TSConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TSConstants.h; path = SignalServiceKit/src/TSConstants.h; sourceTree = ""; }; - 9CF9834332481B22C7A878459764C34E /* NVActivityIndicatorAnimationCircleStrokeSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationCircleStrokeSpin.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationCircleStrokeSpin.swift; sourceTree = ""; }; - 9D10A9CC3BB210539C60E1FF7BA77C2C /* YapDatabaseCloudCoreOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCoreOptions.m; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreOptions.m; sourceTree = ""; }; - 9D3ABF178EF4E3B6AF01A2809AED5213 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D895993AA330C6C537FC65267B4EBF6 /* SSKJobRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SSKJobRecord.m; sourceTree = ""; }; - 9DAEE252B0B6E4CE29879A4FB5CD772D /* MPResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPResources.h; path = Mixpanel/MPResources.h; sourceTree = ""; }; - 9DBC5F6D63D57C6A1ECF3EFE10118FE7 /* HKDFKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HKDFKit-umbrella.h"; sourceTree = ""; }; - 9E08683E66C41EA725FA9514A343476F /* sqrtm1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = sqrtm1.h; path = Sources/ed25519/sqrtm1.h; sourceTree = ""; }; - 9E39D121D057ADE54A028CFA9F17C102 /* SMKServerCertificateTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKServerCertificateTest.swift; path = SignalMetadataKitTests/src/SMKServerCertificateTest.swift; sourceTree = ""; }; - 9E3A0DB467A0B5EDE6273CFB1AC10930 /* PhoneNumberUtilTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PhoneNumberUtilTest.m; sourceTree = ""; }; - 9E51BA505BFD3EC5F4DBF656853893D0 /* CLIColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLIColor.h; path = Classes/CLI/CLIColor.h; sourceTree = ""; }; - 9E5973C83C637D98672A867DBEC26322 /* iTunesNamespace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = iTunesNamespace.swift; path = Sources/FeedKit/Models/Namespaces/iTunes/iTunesNamespace.swift; sourceTree = ""; }; - 9E7A11863A0B8B87D2F5C6AFA965C8C9 /* TextFormatEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatEncoder.swift; path = Sources/SwiftProtobuf/TextFormatEncoder.swift; sourceTree = ""; }; - 9EB7F16069CD7CEB5503DC9A6206FBC6 /* fe_isnonzero.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_isnonzero.c; path = Sources/ed25519/fe_isnonzero.c; sourceTree = ""; }; - 9EDA869E2ED2BD224EE985EA1C1739AC /* mz_strm_wzaes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_wzaes.c; path = SSZipArchive/minizip/mz_strm_wzaes.c; sourceTree = ""; }; - 9EF1285BC8465EF0E5C81AC644467128 /* NSThread+MPHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSThread+MPHelpers.m"; path = "Mixpanel/NSThread+MPHelpers.m"; sourceTree = ""; }; - 9EF4C73A7A34D890C24283FB2FAC483E /* SignalMetadataKit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalMetadataKit.unit.xcconfig; sourceTree = ""; }; - 9F1522A166F80FA00EBCC4B618004CC6 /* MPDesignerTrackMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPDesignerTrackMessage.m; path = Mixpanel/MPDesignerTrackMessage.m; sourceTree = ""; }; - 9F1F8DB6E3BCA46B27EFA0FBBFA4C667 /* OWSIncomingMessageFinderTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSIncomingMessageFinderTest.m; sourceTree = ""; }; - 9F5903C61564B32D705EF64FC9D179AE /* AxolotlKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AxolotlKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9F5D913AC04A1F666FB8592E766149E7 /* YapDatabaseConnectionProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseConnectionProxy.m; path = YapDatabase/Extensions/ConnectionProxy/YapDatabaseConnectionProxy.m; sourceTree = ""; }; - 9F6B8FBF9F22442843977BCDD277CE93 /* fe_sq2.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_sq2.c; path = Sources/ed25519/fe_sq2.c; sourceTree = ""; }; - 9FB2F1F727ACC6CA517A7CB819FAB4FC /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; - 9FD5F070103F916B59ABD68B487F03AF /* YapDatabaseCloudKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKit.h; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKit.h; sourceTree = ""; }; - A00127B55BA922F0B60A9AEA9CDAA95D /* DDASLLogCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDASLLogCapture.h; path = Classes/DDASLLogCapture.h; sourceTree = ""; }; - A02FAB20AB4F372599BE8326DB4727B9 /* BobAxolotlParameters.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BobAxolotlParameters.m; path = AxolotlKit/Classes/Ratchet/BobAxolotlParameters.m; sourceTree = ""; }; - A04AD6697BE26C082652F66CCAB70BC5 /* DDTTYLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = Classes/DDTTYLogger.h; sourceTree = ""; }; - A085848BDE1DD0B96707D70C018C5F8A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A0980E04DFA3284FB576532D939D08FF /* Mixpanel-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mixpanel-umbrella.h"; sourceTree = ""; }; - A0C131142BEC1754F4EC4A195B0AF381 /* Pods-Signal-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Signal-dummy.m"; sourceTree = ""; }; - A103DF8DC215021C1D250525DFD7D80C /* curve_sigs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = curve_sigs.h; path = Sources/ed25519/additions/curve_sigs.h; sourceTree = ""; }; - A1238574CFFE40B8E61A8AA1B927B242 /* GCDWebServerStreamedResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerStreamedResponse.m; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.m; sourceTree = ""; }; - A1A8B581698FDB1AE0BE1D6748225EE4 /* NVActivityIndicatorAnimationOrbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationOrbit.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationOrbit.swift; sourceTree = ""; }; - A211DA5E3A035266672220211FF717E5 /* FingerprintProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FingerprintProto.swift; sourceTree = ""; }; - A2144FBF7339F60F36F203D016A4F2D5 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; - A26657F471767E597037292AA728BD77 /* Curve25519Kit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Curve25519Kit-Unit-Tests-Info.plist"; sourceTree = ""; }; - A26D0A331F1A8B706834F8802D1493E2 /* YapDatabaseSearchResultsViewPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchResultsViewPrivate.h; path = YapDatabase/Extensions/SearchResultsView/Internal/YapDatabaseSearchResultsViewPrivate.h; sourceTree = ""; }; - A288452B4E66186199AD507AB8DF0188 /* libPhoneNumber_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libPhoneNumber_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A2A806B6F98D29D05FD9BBFADD974A1C /* ByteParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ByteParser.h; sourceTree = ""; }; - A2AFF153A21BE3EE0B6E9C19BE33F081 /* SwiftSingletons.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SwiftSingletons.swift; sourceTree = ""; }; - A2B839486B8FFC190EDB97D84B0A4714 /* YapDatabaseViewOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewOptions.m; path = YapDatabase/Extensions/View/YapDatabaseViewOptions.m; sourceTree = ""; }; - A2D5695927407AF2EE68069CA6BC8458 /* TextFormatDecodingError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatDecodingError.swift; path = Sources/SwiftProtobuf/TextFormatDecodingError.swift; sourceTree = ""; }; - A2E45E0EA2B57E3842B32FC7FB06447D /* SAMKeychain.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SAMKeychain.modulemap; sourceTree = ""; }; - A2F211573FE8E45838D78EA851F97894 /* MPSwizzle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPSwizzle.m; path = Mixpanel/MPSwizzle.m; sourceTree = ""; }; - A2FAE98EC821A7EA5E58A3F82CB19D93 /* AutomaticTracksConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AutomaticTracksConstants.h; path = Mixpanel/AutomaticTracksConstants.h; sourceTree = ""; }; - A2FD0BBFF090BE97BC696FD16D1DCFA5 /* BinaryDecodingError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDecodingError.swift; path = Sources/SwiftProtobuf/BinaryDecodingError.swift; sourceTree = ""; }; - A3195AC9376BA117C1D14EF68223BCA7 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/MobileCoreServices.framework; sourceTree = DEVELOPER_DIR; }; - A32261D843A3F010DFF1AA32FABBF047 /* base.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = base.h; path = Sources/ed25519/base.h; sourceTree = ""; }; - A33CC7FA4FF3CE20741B522F759A7B78 /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; - A38E1A66B0B8BD78610FCC34BE076586 /* Pods-SignalShareExtension.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalShareExtension.app store release.xcconfig"; sourceTree = ""; }; - A3A2F8385D423448B94A04F54CDFF6C7 /* YapDatabaseActionManagerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseActionManagerPrivate.h; path = YapDatabase/Extensions/ActionManager/Internal/YapDatabaseActionManagerPrivate.h; sourceTree = ""; }; - A3AFC90CDE60BD0FAACBE6A0E5CE4617 /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; - A3C3C87CCE1133918B55AE3C9F3FEB57 /* SQLCipher-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SQLCipher-dummy.m"; sourceTree = ""; }; - A3F661097290F4EE3E8206BB84B50CCA /* OWSSyncContactsMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSyncContactsMessage.h; sourceTree = ""; }; - A3F9065A384100D08A261F2808E2DA1F /* TSDerivedSecrets.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = TSDerivedSecrets.m; path = AxolotlKit/Classes/Ratchet/TSDerivedSecrets.m; sourceTree = ""; }; - A4069934027E6EC9EAEC48E056CDC6F9 /* NBMetadataHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBMetadataHelper.h; path = libPhoneNumber/NBMetadataHelper.h; sourceTree = ""; }; - A47A563C19FC34B021E85514A53EB162 /* SSKKeychainStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SSKKeychainStorage.swift; sourceTree = ""; }; - A497072DED602879E6D5D5B9BC9C35A0 /* AppContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = AppContext.m; sourceTree = ""; }; - A49B266D072F37C43C94D0EE40EB9BE2 /* YapDatabaseViewState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewState.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewState.h; sourceTree = ""; }; - A49BF5644E47ADAD39FAA1A589113F87 /* OWSDeviceProvisioningCodeService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceProvisioningCodeService.m; sourceTree = ""; }; - A52F73C0A3F96834C47FDAB46DF3EBCA /* FIRAppAssociationRegistration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAppAssociationRegistration.h; path = Firebase/Core/Private/FIRAppAssociationRegistration.h; sourceTree = ""; }; - A537C55916DFBCB918F04A5DA2102397 /* libPhoneNumber-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "libPhoneNumber-iOS.modulemap"; sourceTree = ""; }; - A5573C0E05A46C32538531E414071126 /* AppContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = AppContext.h; sourceTree = ""; }; - A55CF9AB22784A0BF4CB3E12BE844F02 /* DigiCertGlobalRootG2.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = DigiCertGlobalRootG2.crt; sourceTree = ""; }; - A56DC80504E6A2AE02D6B0E808208764 /* OWSOutgoingNullMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOutgoingNullMessage.h; sourceTree = ""; }; - A5DB8B6CCB6FE86EB367E8C5771D233D /* NetworkManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; }; - A60347E123B94DEF8BF4D5679239B570 /* SSZipArchive-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SSZipArchive-dummy.m"; sourceTree = ""; }; - A620AFF518E24B158206700B4EE8553E /* ECKeyPair+ECKeyPairTesting.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ECKeyPair+ECKeyPairTesting.m"; path = "AxolotlKitTests/Util/ECKeyPair+ECKeyPairTesting.m"; sourceTree = ""; }; - A625ECFAEC44790D96356613F1426EF2 /* OWSFingerprintBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFingerprintBuilder.m; sourceTree = ""; }; - A626D02A5EE784035EA6A53115CD5FA1 /* MPABTestDesignerClearResponseMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerClearResponseMessage.m; path = Mixpanel/MPABTestDesignerClearResponseMessage.m; sourceTree = ""; }; - A65E239E58A2765559303A4F00484002 /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; - A65E7FA1BE52BCADED77AC93D7756415 /* iOSVersions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = iOSVersions.h; path = SignalCoreKit/src/iOSVersions.h; sourceTree = ""; }; - A6AF89C01AC5CC23B87A14763A741EC2 /* MPValueTransformers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPValueTransformers.h; path = Mixpanel/MPValueTransformers.h; sourceTree = ""; }; - A6D192EC94A4E5CF04DD72D134375756 /* FeedKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FeedKit.modulemap; sourceTree = ""; }; - A6D7A02C1E50A5855316C74B4E3DFEEC /* MPNetworkPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPNetworkPrivate.h; path = Mixpanel/MPNetworkPrivate.h; sourceTree = ""; }; - A6E66E2FA2CA221549CBBCFD9A15B0ED /* URL + replacingScheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL + replacingScheme.swift"; path = "Sources/FeedKit/Extensions/URL + replacingScheme.swift"; sourceTree = ""; }; - A70A4A84220B0C33D24B5E9820475DFB /* MPTakeoverNotificationViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = "MPTakeoverNotificationViewController~ipad.xib"; path = "Mixpanel/MPTakeoverNotificationViewController~ipad.xib"; sourceTree = ""; }; - A71228731AA2B136ABC27800B8C8C1AF /* YapDatabaseConnectionPool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseConnectionPool.m; path = YapDatabase/Extensions/ConnectionPool/YapDatabaseConnectionPool.m; sourceTree = ""; }; - A74F7AF4999888176070F3ADBCC55388 /* HKDFKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "HKDFKit-dummy.m"; sourceTree = ""; }; - A75F93F26853363419965BE173C24385 /* YapDatabaseConnection+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YapDatabaseConnection+OWS.m"; sourceTree = ""; }; - A77C362EC9DB96928A5E8A851DC2DECA /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/StoreKit.framework; sourceTree = DEVELOPER_DIR; }; - A784D27EDCF76881732C9D22B6B968C3 /* TSInteraction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSInteraction.m; sourceTree = ""; }; - A78EFA381C7FB3A016A9C9D2A31C8734 /* Mixpanel-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Mixpanel-dummy.m"; sourceTree = ""; }; - A79A12897E7D1EF97DF9B8B038A63929 /* ge_p2_dbl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge_p2_dbl.h; path = Sources/ed25519/ge_p2_dbl.h; sourceTree = ""; }; - A7C311BD86DA95AA1DC388E2544D1743 /* fe_sq.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_sq.c; path = Sources/ed25519/fe_sq.c; sourceTree = ""; }; - A7D5001794BA62B4EB4EA68A4C5A16A8 /* MessageSenderJobQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MessageSenderJobQueue.swift; sourceTree = ""; }; - A7D6CEF77FB04EE9021B1D08F701EF16 /* SPK-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SPK-Bridging-Header.h"; path = "AxolotlKit/Classes/SPK-Bridging-Header.h"; sourceTree = ""; }; - A80A4B1FAE3573E0BA830DD7FA68C751 /* SignalServiceKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalServiceKit.xcconfig; sourceTree = ""; }; - A86160D9EBEB9BD0D8EF1142C3E6D7FA /* NSData+Image.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSData+Image.m"; sourceTree = ""; }; - A8769D2968E6D38F6ED26AA2013DA16A /* MTLModel+NSCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MTLModel+NSCoding.h"; path = "Mantle/MTLModel+NSCoding.h"; sourceTree = ""; }; - A90C7AA40DFD3075281D07C3C32EF3F0 /* WhisperMessageSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WhisperMessageSerialization.m; path = AxolotlKitTests/WhisperMessageSerialization.m; sourceTree = ""; }; - A916483E40FE713997488475AAE2CB9E /* TSGroupThread.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSGroupThread.h; sourceTree = ""; }; - A92E22CEEF0CF8649258DF778298902F /* YapDatabaseRelationshipNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipNode.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipNode.h; sourceTree = ""; }; - A9494E164E8B6EA6A8A15815BFA12909 /* sc_reduce.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = sc_reduce.c; path = Sources/ed25519/sc_reduce.c; sourceTree = ""; }; - A952019A532D2E2BBD535991171545F2 /* OWSDispatch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDispatch.h; sourceTree = ""; }; - A957678EB63778045A631B1D06987B3A /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; - A96929E4E2DA0167E77496EDFE563F53 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; - A96DA1947836467E17FDEFE6266ECAEC /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; - A9710C3B119EA8852448C8CBE6C3B33E /* MPArrowLeft.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = MPArrowLeft.png; path = Mixpanel/Images/MPArrowLeft.png; sourceTree = ""; }; - A980464815695B983F9B954A3040757C /* OWSDeviceProvisioningService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDeviceProvisioningService.h; sourceTree = ""; }; - A980B3D5A958D10F616E422D0574D866 /* SQLCipher.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SQLCipher.modulemap; sourceTree = ""; }; - A98A44DB56EBC9FFD6B4334D5444C826 /* OWSContactDiscoveryOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSContactDiscoveryOperation.swift; sourceTree = ""; }; - A9A85B36FDA348C5A6EF145A512850A5 /* SessionState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionState.h; path = AxolotlKit/Classes/Sessions/SessionState.h; sourceTree = ""; }; - A9BCACE531D08EDE880C3C0101F59DBC /* YapDatabaseViewMappingsPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewMappingsPrivate.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewMappingsPrivate.h; sourceTree = ""; }; - A9CE4E9B644C02D916883CF37C63CD06 /* DeviceLinkingSession.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceLinkingSession.swift; sourceTree = ""; }; - A9D6DC86E320DF9FAAFAE21B2657D5B8 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; - A9F17D18B7F2026A48EF4E8D309698B0 /* ge_precomp_0.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_precomp_0.c; path = Sources/ed25519/ge_precomp_0.c; sourceTree = ""; }; - AA376EAEA5C17AD03826E971855EC3F2 /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; - AA3B69181FADA38972E5464FD67308A9 /* YapReachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapReachability.h; path = YapDatabase/Extensions/ActionManager/Utilities/YapReachability.h; sourceTree = ""; }; - AA3D9AFFC3DEC9436F445C4DEF563F68 /* Pods-SignalMessaging-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SignalMessaging-acknowledgements.plist"; sourceTree = ""; }; - AA5598BD9356C7B272E90C8E2340C4DB /* YapDatabaseViewTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewTransaction.h; path = YapDatabase/Extensions/View/YapDatabaseViewTransaction.h; sourceTree = ""; }; - AA6331D91A831C8B05796F54372C468C /* SAMKeychain-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SAMKeychain-prefix.pch"; sourceTree = ""; }; - AA7B34F768852F827ED6CBD799E7C8CB /* OWSAddToProfileWhitelistOfferMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSAddToProfileWhitelistOfferMessage.h; sourceTree = ""; }; - AA7BD6E45521F5B31FF69A8D83FB1FDB /* Pods_SignalTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SignalTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - AA87AED48BDA315C57A0A350A5A26EC6 /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; - AA8813AA710C4AA699516A470B174EFA /* MPConnectIntegrations.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPConnectIntegrations.m; path = Mixpanel/MPConnectIntegrations.m; sourceTree = ""; }; - AAA1C3A8F6C414BC617C4C28EA1E3244 /* AnyMessageStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyMessageStorage.swift; path = Sources/SwiftProtobuf/AnyMessageStorage.swift; sourceTree = ""; }; - AB1A3499FFE283F1385D36DCEE22E8F8 /* GoogleUtilities-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GoogleUtilities-prefix.pch"; sourceTree = ""; }; - AB1F7A92067DB667EF588846AAD61703 /* MPDismissKeyboard@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "MPDismissKeyboard@2x.png"; path = "Mixpanel/Images/MPDismissKeyboard@2x.png"; sourceTree = ""; }; - AB571F0ADD670246865E1E80B4DA0F8A /* Pods-SignalTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SignalTests-frameworks.sh"; sourceTree = ""; }; - AB614DC0631AFDEEBB786026406B114E /* SwiftProtobuf.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftProtobuf.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - AB74CF993FF7500407F4A0BBB086D94B /* OWSDisappearingMessagesConfigurationTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesConfigurationTest.m; sourceTree = ""; }; - AB8D24A3D2153A628743C5E8A64D8024 /* OWSMessageHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageHandler.h; sourceTree = ""; }; - AB8E3613D72E1C9E81D57B1F42B2420C /* OWSAsserts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OWSAsserts.h; path = SignalCoreKit/src/OWSAsserts.h; sourceTree = ""; }; - AB8FDE6F6E16102428DDBC6CF7BBEA76 /* YapDatabaseCloudCorePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCorePrivate.h; path = YapDatabase/Extensions/CloudCore/Internal/YapDatabaseCloudCorePrivate.h; sourceTree = ""; }; - AB919F90965FCF54CFCE5C059C9E5240 /* OWSOutgoingCallMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOutgoingCallMessage.h; sourceTree = ""; }; - ABA50657842562CFD26124FECECFB777 /* RSSFeed + mapCharacters.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RSSFeed + mapCharacters.swift"; path = "Sources/FeedKit/Models/RSS/RSSFeed + mapCharacters.swift"; sourceTree = ""; }; - ABAC20049EA59640859856E460E13820 /* MPSwizzler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPSwizzler.m; path = Mixpanel/MPSwizzler.m; sourceTree = ""; }; - ABB21DDE0C82129EC66AFD89656C05ED /* JSONEncodingOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONEncodingOptions.swift; path = Sources/SwiftProtobuf/JSONEncodingOptions.swift; sourceTree = ""; }; - ABCB395A33593A85BD927A5C110D1693 /* SessionMetadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionMetadata.h; path = Mixpanel/SessionMetadata.h; sourceTree = ""; }; - ABD260331ADA9DC23594D7B327EB127B /* iTunesImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = iTunesImage.swift; path = Sources/FeedKit/Models/Namespaces/iTunes/iTunesImage.swift; sourceTree = ""; }; - ABE0B149FD3D90CD81F12CFF08D2987D /* NBPhoneMetaData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBPhoneMetaData.m; path = libPhoneNumber/NBPhoneMetaData.m; sourceTree = ""; }; - ABEEC0DBB30E34AD1F8C8987C12C540B /* YapDatabaseManualViewPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseManualViewPrivate.h; path = YapDatabase/Extensions/ManualView/Internal/YapDatabaseManualViewPrivate.h; sourceTree = ""; }; - AC4E24B5A4F640D4520DAE413206459F /* MPSequenceGenerator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPSequenceGenerator.h; path = Mixpanel/MPSequenceGenerator.h; sourceTree = ""; }; - AC7282D8C49392BA3AD10F85E0E05771 /* DDFileLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = Classes/DDFileLogger.h; sourceTree = ""; }; - ACB13A1D1A9B801ACF000A61F297B3BA /* mz_strm_split.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_split.c; path = SSZipArchive/minizip/mz_strm_split.c; sourceTree = ""; }; - ACC18DB31017DAD9DF9A7F81FCA0AA6E /* SignalCoreKit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalCoreKit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; - ACEB44EEF74725A265C9DFA82DE71B6B /* YapDatabaseHooksConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseHooksConnection.m; path = YapDatabase/Extensions/Hooks/YapDatabaseHooksConnection.m; sourceTree = ""; }; - AD0B44C7D43C87DC0C732A63ED410E1C /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; - AD6E34DB135D8976D7C0DE4FB6388DC9 /* Pods-SignalMessaging.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalMessaging.debug.xcconfig"; sourceTree = ""; }; - AD813A09BC99A9495464774E9E2E992F /* ZigZag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZigZag.swift; path = Sources/SwiftProtobuf/ZigZag.swift; sourceTree = ""; }; - AD84DE461283D91FFA712126BDF6F3FE /* YapWhitelistBlacklist.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapWhitelistBlacklist.h; path = YapDatabase/Utilities/YapWhitelistBlacklist.h; sourceTree = ""; }; - ADB5DAC71BFD22977C0326608DA53F7E /* FIRLoggerLevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLoggerLevel.h; path = Firebase/Core/Public/FIRLoggerLevel.h; sourceTree = ""; }; - ADBED8679955132653E898BA4FADCE75 /* Reachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = ""; }; - ADD09A68908A00753CA620D1D9D337A4 /* MessageKeys.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MessageKeys.h; path = AxolotlKit/Classes/Ratchet/MessageKeys.h; sourceTree = ""; }; - AE0E21277E27786155A274ABAF10AB99 /* YDBCKRecordInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKRecordInfo.h; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecordInfo.h; sourceTree = ""; }; - AE8A1BE8035D9DAC40B30425C261D61C /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; - AE8A9A60CA210F718BA6C41F624D4863 /* fe_invert.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_invert.c; path = Sources/ed25519/fe_invert.c; sourceTree = ""; }; - AED2357E181C18EEFF7ED78892A65C40 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; - AEF0C01D3188CBE674F04D33CAE09FD7 /* MPABTestDesignerDeviceInfoResponseMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerDeviceInfoResponseMessage.m; path = Mixpanel/MPABTestDesignerDeviceInfoResponseMessage.m; sourceTree = ""; }; - AEFF17D76365DA34659BE6557BFA7378 /* ProtobuffsTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ProtobuffsTests.m; path = AxolotlKitTests/ProtobuffsTests.m; sourceTree = ""; }; - AF1607CC45D77A07BF0E125C9F9022FD /* WireFormat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WireFormat.swift; path = Sources/SwiftProtobuf/WireFormat.swift; sourceTree = ""; }; - AF18900FC5D10267E059D8CE5C10A308 /* FIRApp.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRApp.m; path = Firebase/Core/FIRApp.m; sourceTree = ""; }; - AF1C4734E88EF282E01261E789F9B9F0 /* MPTweak.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPTweak.m; path = Mixpanel/MPTweak.m; sourceTree = ""; }; - AF1DC313A80DC2E4A1E099627B61C52B /* curve25519-donna.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = "curve25519-donna.c"; path = "Sources/Curve25519/curve25519-donna.c"; sourceTree = ""; }; - AF4665C5252293733CB4BA4D0D8FCAA1 /* MediaPlayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaPlayer.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaPlayer.swift; sourceTree = ""; }; - AF721033622212C4346E454E98D68CFE /* OWSContact.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSContact.m; sourceTree = ""; }; - AF7905CA4C6B86E76B2E2011CB17E4C3 /* SMK-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SMK-Bridging-Header.h"; path = "SignalMetadataKit/src/SMK-Bridging-Header.h"; sourceTree = ""; }; - AFBABB7C64B63C3378277EF1A4D154BE /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; - AFCAEB8BC9F1B10BCE9F12B41E1CF2F4 /* YYImage-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYImage-umbrella.h"; sourceTree = ""; }; - B074F5F3DA2E44D708131BE42B17447E /* YDBCKMappingTableInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKMappingTableInfo.m; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKMappingTableInfo.m; sourceTree = ""; }; - B07DBD68D37A545C7D37ED789664BC15 /* SignalServiceClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalServiceClient.swift; sourceTree = ""; }; - B08B827F80ABEBBA911EFB5D8D516BD4 /* YapDatabaseCrossProcessNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCrossProcessNotification.m; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotification.m; sourceTree = ""; }; - B0A1DD63C9FA1CEE8385B3313ACCB833 /* MPNotificationButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPNotificationButton.m; path = Mixpanel/MPNotificationButton.m; sourceTree = ""; }; - B0DC9F0C417EDF312E68E1447CCF3F2C /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = Classes/DDAbstractDatabaseLogger.h; sourceTree = ""; }; - B0F9CC10CA564535FE9AFBE66B3B7F0E /* SignalCoreKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SignalCoreKit.h; path = SignalCoreKit/src/SignalCoreKit.h; sourceTree = ""; }; - B131A102A6190F68CEDCFDA7E82AD0C0 /* MixpanelGroupPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MixpanelGroupPrivate.h; path = Mixpanel/MixpanelGroupPrivate.h; sourceTree = ""; }; - B159399185B18CB528C2FDA2AE8C3E99 /* OWSDynamicOutgoingMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDynamicOutgoingMessage.m; sourceTree = ""; }; - B16D734FD5984FE0F9FF0CC53805B0FB /* BobAxolotlParameters.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BobAxolotlParameters.h; path = AxolotlKit/Classes/Ratchet/BobAxolotlParameters.h; sourceTree = ""; }; - B17EEAEDA83C0F8F0E2102612AC47F70 /* OWSChunkedOutputStream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSChunkedOutputStream.h; sourceTree = ""; }; - B184469BBB445866EDDDB5C3C6FFE37B /* DDLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = Classes/DDLog.m; sourceTree = ""; }; - B1926EB07CE2F9AAE32787A0DB2D0B9C /* SerializationUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SerializationUtilities.m; path = AxolotlKit/Classes/Utility/SerializationUtilities.m; sourceTree = ""; }; - B1D9CBEB06C9973EE3737BCB466BA69F /* MathUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MathUtils.swift; path = Sources/SwiftProtobuf/MathUtils.swift; sourceTree = ""; }; - B1FE40EBB497027F8F4539685439DCCE /* ias-root.cer */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = "ias-root.cer"; sourceTree = ""; }; - B21E91FCD3DD5A17805C75A2346439AD /* SignalRecipient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SignalRecipient.m; sourceTree = ""; }; - B22AF4882BF29A57D2189560E05FDF16 /* ExtensionFields.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtensionFields.swift; path = Sources/SwiftProtobuf/ExtensionFields.swift; sourceTree = ""; }; - B23C35894858352029B2BB2D8E218C4B /* english.txt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = english.txt; sourceTree = ""; }; - B25A2C6660F49D86A79755DD90F3CFCD /* Decoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Decoder.swift; path = Sources/SwiftProtobuf/Decoder.swift; sourceTree = ""; }; - B25E5C13888EC2B733351D2756B1EBE0 /* GCDWebServerRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerRequest.h; path = GCDWebServer/Core/GCDWebServerRequest.h; sourceTree = ""; }; - B273985EE1118B55015BF2DC0E9B1975 /* OWS2FAManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWS2FAManager.m; sourceTree = ""; }; - B28CC36DCB29CCCB318A276AA6633A22 /* TSDerivedSecrets.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TSDerivedSecrets.h; path = AxolotlKit/Classes/Ratchet/TSDerivedSecrets.h; sourceTree = ""; }; - B293C04A6B6FF07C61C819C02B2C06FB /* JobQueueTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JobQueueTest.swift; sourceTree = ""; }; - B29419C990FF078104E2F651FADDE2C6 /* MPABTestDesignerClearResponseMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerClearResponseMessage.h; path = Mixpanel/MPABTestDesignerClearResponseMessage.h; sourceTree = ""; }; - B2F01F33837430EE4A736692743A136B /* MediaNamespace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaNamespace.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaNamespace.swift; sourceTree = ""; }; - B2F233A6E0FFE197D4370DD0CD584C66 /* MIMETypeUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MIMETypeUtil.m; sourceTree = ""; }; - B3064C3639239244B59421B33505A66A /* YapDatabaseExtensionConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseExtensionConnection.h; path = YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.h; sourceTree = ""; }; - B32880718FF42BA3CE5C9922B7CBBFE8 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; }; - B37255AA1A935FD2E14A47A4A4AC16AD /* OWSIncompleteCallsJob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSIncompleteCallsJob.h; sourceTree = ""; }; - B3A6378C298CF895AF24714F330CB8DE /* mz_strm_buf.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_buf.c; path = SSZipArchive/minizip/mz_strm_buf.c; sourceTree = ""; }; - B3B68C2F45C542AE3ED8F6DEA2D94916 /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; - B3B7C9EB2F1578E1487401A528E63150 /* SignalMetadataKit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalMetadataKit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; - B3F38296176616E6B43C5178B984D93C /* OWSDispatch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDispatch.m; sourceTree = ""; }; - B3F76974BAF05195E6C2F8F7A44988DE /* ByteParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ByteParser.m; sourceTree = ""; }; - B3FA4B07C1D395630B5B88FB22E9482E /* Reachability.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Reachability.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B433DF7CEDCC1965316A09EF9CE6D728 /* SignalMetadataKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalMetadataKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B4613EB6B91E6D103234B55EB64C21D0 /* Curve25519Kit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Curve25519Kit.xcconfig; sourceTree = ""; }; - B4620905B58FBDDBDE0F5904696607BC /* YapDatabaseLogging.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseLogging.m; path = YapDatabase/Internal/YapDatabaseLogging.m; sourceTree = ""; }; - B48EF25277FF61E5D5213A98462C7E5E /* YapDatabaseSecondaryIndexConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexConnection.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.h; sourceTree = ""; }; - B5627A2CC476C9014D58BE7EFA20BCCE /* SessionCipherTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionCipherTest.m; path = AxolotlKitTests/SessionCipherTest.m; sourceTree = ""; }; - B56CB2AB3E164EFF52758E0A5DC73B3C /* NVActivityIndicatorAnimationBallBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallBeat.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallBeat.swift; sourceTree = ""; }; - B5769D7719CFEDBA528690606CB8C5FD /* OWSSyncGroupsMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSyncGroupsMessage.h; sourceTree = ""; }; - B58CE60D4CC07BAEEC2BA43C9CBC68E9 /* MediaParam.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaParam.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaParam.swift; sourceTree = ""; }; - B5A5F6054F72EBB42CE9FD6FBAD6D844 /* YapDatabaseCloudCoreTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCoreTransaction.m; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreTransaction.m; sourceTree = ""; }; - B5AAB86E0A47EDB2D4FCF931C8242BD9 /* SignedPreKeyDeletionTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SignedPreKeyDeletionTests.m; sourceTree = ""; }; - B5B13667C0FF4A91A035E4C452DA6929 /* SAMKeychain-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SAMKeychain-dummy.m"; sourceTree = ""; }; - B5E30EB3A506B6E6B8C0895C78A79AA8 /* SSKJobRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SSKJobRecord.h; sourceTree = ""; }; - B6038111CA43BD97B39BAC290BCB4686 /* sqlite3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = sqlite3.h; sourceTree = ""; }; - B6867750FE939219C58B02E869E33C74 /* Starscream.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.xcconfig; sourceTree = ""; }; - B687746DD850D53663846FDFF0737B06 /* MPCheckmark@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "MPCheckmark@2x.png"; path = "Mixpanel/Images/MPCheckmark@2x.png"; sourceTree = ""; }; - B68DF522EF403D8485F7014004E2E285 /* FieldTag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FieldTag.swift; path = Sources/SwiftProtobuf/FieldTag.swift; sourceTree = ""; }; - B6A291D035550116231449F81C6155AD /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; - B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - B6AB68D3124EB80CBC265859EE6D90A7 /* NVActivityIndicatorView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = NVActivityIndicatorView.modulemap; sourceTree = ""; }; - B6C4949C4669C1A3735224E994B5AC69 /* OWSBlockedPhoneNumbersMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSBlockedPhoneNumbersMessage.h; sourceTree = ""; }; - B6E3FF73BB217BBFC415271DEDFD45DF /* OWSBackupFragment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSBackupFragment.m; sourceTree = ""; }; - B74903D4BB664E40F75C5C3F5C5C3860 /* TSQuotedMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSQuotedMessage.h; sourceTree = ""; }; - B74CDCCCB0DB5C94AFAB2B11550D4DF6 /* TSMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSMessage.h; sourceTree = ""; }; - B758844D2C00B61377511CD6A94B795C /* OWSMessageHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageHandler.m; sourceTree = ""; }; - B75D7BD820A85ECA758EDDD257A7F336 /* OWSFileSystem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFileSystem.h; sourceTree = ""; }; - B760EECB69D2ABE09E1601E36BE0E625 /* Crashlytics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Crashlytics.h; path = iOS/Crashlytics.framework/Headers/Crashlytics.h; sourceTree = ""; }; - B789DBE75A1E3C180186183BBEE35CD7 /* MPNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPNotification.m; path = Mixpanel/MPNotification.m; sourceTree = ""; }; - B7B8051B090015C6EA162F1C909966AE /* YapDatabaseHooks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseHooks.m; path = YapDatabase/Extensions/Hooks/YapDatabaseHooks.m; sourceTree = ""; }; - B7CDE370E6369E02629CAD329D738C51 /* Promise+retainUntilComplete.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Promise+retainUntilComplete.swift"; sourceTree = ""; }; - B80CA42423FA378600F28211 /* LokiSessionResetImplementation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LokiSessionResetImplementation.swift; sourceTree = ""; }; - B80CA43023FCFBBB00F28211 /* LKUserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LKUserDefaults.swift; sourceTree = ""; }; - B80CAF37238CE728002003AF /* Debugging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debugging.swift; sourceTree = ""; }; - B836BFC923DA6B4F002C86A0 /* LKSessionRestoreMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LKSessionRestoreMessage.h; sourceTree = ""; }; - B836BFCA23DA6B4F002C86A0 /* LKSessionRestoreMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LKSessionRestoreMessage.m; sourceTree = ""; }; - B836BFCD23DA944F002C86A0 /* LokiHTTPClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LokiHTTPClient.swift; sourceTree = ""; }; - B836BFCE23DA944F002C86A0 /* LokiSnodeProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LokiSnodeProxy.swift; sourceTree = ""; }; - B84664F623503DC20083A1CD /* Mention.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mention.swift; sourceTree = ""; }; - B84A1ABC3D99E9B5F3C347C65AA3D531 /* _MPTweakBindObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _MPTweakBindObserver.m; path = Mixpanel/_MPTweakBindObserver.m; sourceTree = ""; }; - B852516AF7D26B40AEBAD3A04BB8AFF2 /* ProtoNameProviding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ProtoNameProviding.swift; path = Sources/SwiftProtobuf/ProtoNameProviding.swift; sourceTree = ""; }; - B861B29148FC0A8686B417433E30FC05 /* mz_strm_mem.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_mem.c; path = SSZipArchive/minizip/mz_strm_mem.c; sourceTree = ""; }; - B86370BD1964415A19C65F4A837F0B1E /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; - B86D736B84AB8403597F7293B21A1280 /* PreKeyBundle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PreKeyBundle.h; path = AxolotlKit/Classes/Prekeys/PreKeyBundle.h; sourceTree = ""; }; - B86F994523E7B674005D9FE9 /* LokiRSSFeedProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LokiRSSFeedProxy.swift; sourceTree = ""; }; - B88847BD23E2A5E9009836D2 /* LKGroupUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LKGroupUtilities.m; sourceTree = ""; }; - B88847BE23E2A5E9009836D2 /* LKGroupUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LKGroupUtilities.h; sourceTree = ""; }; - B88847C123E2A66B009836D2 /* LKSessionRequestMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LKSessionRequestMessage.h; sourceTree = ""; }; - B88847C223E2A66C009836D2 /* LKSessionRequestMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LKSessionRequestMessage.m; sourceTree = ""; }; - B88847C523E39038009836D2 /* GroupUtilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupUtilities.swift; sourceTree = ""; }; - B88847C623E39039009836D2 /* GeneralUtilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneralUtilities.swift; sourceTree = ""; }; - B89ED78F6254D2201FFDCE0189950775 /* TypingIndicators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TypingIndicators.swift; sourceTree = ""; }; - B8A5599123544407009B5F68 /* DisplayNameUtilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayNameUtilities.swift; sourceTree = ""; }; - B8BFFF362355339800102A27 /* LokiPublicChatInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LokiPublicChatInfo.swift; sourceTree = ""; }; - B8D92A95237A2F610024119B /* ContactParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactParser.swift; sourceTree = ""; }; - B8DD96F38BCE76C1D10A2B4A6203B841 /* NameMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NameMap.swift; path = Sources/SwiftProtobuf/NameMap.swift; sourceTree = ""; }; - B8DE200F2345C4F60069EB06 /* NSSet+Functional.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSSet+Functional.h"; sourceTree = ""; }; - B8DE20112345C5280069EB06 /* NSSet+Functional.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSSet+Functional.m"; sourceTree = ""; }; - B8DEB576E3EDCBA4D1BDBE44916A6669 /* JSONFeedAttachment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeedAttachment.swift; path = Sources/FeedKit/Models/JSON/JSONFeedAttachment.swift; sourceTree = ""; }; - B8E14394BB2A34B045958BE408824AFC /* YapDatabaseViewTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewTypes.h; path = YapDatabase/Extensions/AutoView/YapDatabaseViewTypes.h; sourceTree = ""; }; - B8F4724D678B888409F99C631C513A86 /* TSPrefix.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TSPrefix.h; path = SignalServiceKit/src/TSPrefix.h; sourceTree = ""; }; - B9041D76E011988971FB9F3972340130 /* MPLogo@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "MPLogo@2x.png"; path = "Mixpanel/Images/MPLogo@2x.png"; sourceTree = ""; }; - B90FC33DC2DDF7F6932DA2A34F9E0D55 /* YapDatabaseCloudKitTypes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudKitTypes.m; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTypes.m; sourceTree = ""; }; - B91E65B2CE172BD7279A233FD5F5090B /* YapDatabaseActionManagerTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseActionManagerTransaction.h; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerTransaction.h; sourceTree = ""; }; - B92D847B827FD9155167851C232CEC58 /* FIRConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRConfiguration.h; path = Firebase/Core/Public/FIRConfiguration.h; sourceTree = ""; }; - B932F871B555C781B2396D0310998EB9 /* AxolotlKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AxolotlKit-dummy.m"; sourceTree = ""; }; - B97CC332CBC2128B931EDA1507B4AB42 /* TSStoragePreKeyStoreTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSStoragePreKeyStoreTests.m; sourceTree = ""; }; - B97DC78F24AA8DBD6A6D9510E68E78C1 /* AnyUnpackError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyUnpackError.swift; path = Sources/SwiftProtobuf/AnyUnpackError.swift; sourceTree = ""; }; - B98C89CFB503B20AF7272EF131716B0D /* YapDatabaseSearchResultsView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchResultsView.h; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsView.h; sourceTree = ""; }; - B994790A58371165DB6972C70EC37563 /* DDLogMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLogMacros.h; path = Classes/DDLogMacros.h; sourceTree = ""; }; - B9A834CB588CC43BA640758DFC78EEC0 /* TSGroupModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSGroupModel.m; sourceTree = ""; }; - B9AEFFF7465027B11CD95889D5B80164 /* YapDatabaseRelationshipTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipTransaction.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.h; sourceTree = ""; }; - B9E8FB9C1855E118814AF8255EB46839 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; - BA1704D6720C855F8E66FB2BD363F630 /* Curve25519Kit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Curve25519Kit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BA63398E45316DD4159FC640744D9232 /* Provisioning.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Provisioning.pb.swift; sourceTree = ""; }; - BA74BFCE17FBCAD12FBB95D356EFE536 /* YapDatabaseManualViewConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseManualViewConnection.h; path = YapDatabase/Extensions/ManualView/YapDatabaseManualViewConnection.h; sourceTree = ""; }; - BA7ADCFA1DF730818DDEF37C43253CE9 /* NVActivityIndicatorAnimationBallPulseRise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulseRise.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulseRise.swift; sourceTree = ""; }; - BACD11363E279231D3FE43121B4F66D9 /* mz_strm_buf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_buf.h; path = SSZipArchive/minizip/mz_strm_buf.h; sourceTree = ""; }; - BAD8BD49F283E583BFCA50C1EAC7615D /* YapMemoryTable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapMemoryTable.h; path = YapDatabase/Internal/YapMemoryTable.h; sourceTree = ""; }; - BAEFDFAA8F84AEE7C68F8D3729ECEA13 /* Randomness.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Randomness.h; path = SignalCoreKit/src/Randomness.h; sourceTree = ""; }; - BB1ED237E64E71D50139322F47F15481 /* Factories.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Factories.swift; sourceTree = ""; }; - BB3CBC300F6B9537D4D5F49D588815DA /* HKDFKit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "HKDFKit-Unit-Tests"; path = "HKDFKit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - BB3F78F993D63FD74674A537AAB053DE /* SignalAccount.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SignalAccount.h; sourceTree = ""; }; - BB4373E95FA8F9CBC760FCF854A510D6 /* GoogleUtilities-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GoogleUtilities-dummy.m"; sourceTree = ""; }; - BB4BE9214DAD8901676181322654EC40 /* OWSSwiftUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OWSSwiftUtils.swift; path = SignalCoreKit/src/OWSSwiftUtils.swift; sourceTree = ""; }; - BB54A6C402C371B8F85ADC16952E66A5 /* TSCall.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSCall.h; sourceTree = ""; }; - BB6AC003E9AD7AA13CCC14BA08B46D3C /* Pods-SignalTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SignalTests-acknowledgements.plist"; sourceTree = ""; }; - BBD1652892E287CA62F0C79C090E318C /* FriendRequestExpirationJob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FriendRequestExpirationJob.swift; sourceTree = ""; }; - BBDE26F203538540E34A1F0EDA65A045 /* BuildConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BuildConfiguration.swift; sourceTree = ""; }; - BC3D26BD220B31225A146B5B48332EFC /* ExtensionFieldValueSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtensionFieldValueSet.swift; path = Sources/SwiftProtobuf/ExtensionFieldValueSet.swift; sourceTree = ""; }; - BC51ABF8573B530E79CBAE02A5A98989 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; - BC5F900BDEBCBF7A60884FFB9F7855DF /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; - BC8DDDAAB67354D4B9478FF59D2318C6 /* OWSSyncConfigurationMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSyncConfigurationMessage.h; sourceTree = ""; }; - BC94413E2499F513AA3CD3D5BE050D4E /* MPWebSocket.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPWebSocket.h; path = Mixpanel/MPWebSocket.h; sourceTree = ""; }; - BC9BAF708820D41C5CE17F1ABA335E54 /* HKDFKit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "HKDFKit-Unit-Tests-Info.plist"; sourceTree = ""; }; - BCA1CF84B33FF26F286F49B9C548C2EE /* DDFileLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = Classes/DDFileLogger.m; sourceTree = ""; }; - BCA7045DEA2EC642674191F098EFBB47 /* SignalMetadataKit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalMetadataKit-Unit-Tests-prefix.pch"; sourceTree = ""; }; - BCBAF0C6A1EECFAACC6345B7060332AE /* YapDatabaseConnectionProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseConnectionProxy.h; path = YapDatabase/Extensions/ConnectionProxy/YapDatabaseConnectionProxy.h; sourceTree = ""; }; - BCBC545974A74E8CCF036D1DC7AF20B0 /* SignalIOSProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalIOSProto.swift; sourceTree = ""; }; - BD2C0BAB9722F2B8FD74C997E180FD78 /* YapReachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapReachability.m; path = YapDatabase/Extensions/ActionManager/Utilities/YapReachability.m; sourceTree = ""; }; - BD35BC46E0F1F93D3010FCF8493E72E6 /* base2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = base2.h; path = Sources/ed25519/base2.h; sourceTree = ""; }; - BD95A03089CD678033A8C1FE1E64ED10 /* NVActivityIndicatorView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NVActivityIndicatorView-prefix.pch"; sourceTree = ""; }; - BDC2AF55892C9F37439222E9D4A09574 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BE0724ADA3274546D19D70FB055C2EBB /* BinaryDelimited.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDelimited.swift; path = Sources/SwiftProtobuf/BinaryDelimited.swift; sourceTree = ""; }; - BE0EA0542EEC4176A79543E999B71E16 /* DDFileLogger+Buffering.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "DDFileLogger+Buffering.m"; path = "Classes/Extensions/DDFileLogger+Buffering.m"; sourceTree = ""; }; - BE5312CEA4690C8FAB76488EA6E48328 /* NSError+MTLModelException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSError+MTLModelException.m"; path = "Mantle/NSError+MTLModelException.m"; sourceTree = ""; }; - BE90B7305DA6ADCEEDAF9E1A5748C333 /* NVActivityIndicatorAnimationBallScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScale.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScale.swift; sourceTree = ""; }; - BE99D2F7EFF1A505D7F5499961C3B06E /* OWSUnknownContactBlockOfferMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSUnknownContactBlockOfferMessage.m; sourceTree = ""; }; - BEA4786B46B2EFE10958D9BC0BE5EA56 /* Dictionary+Description.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Dictionary+Description.swift"; sourceTree = ""; }; - BEBE6289A96397C3332FB13DC166C681 /* fe_mul.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_mul.c; path = Sources/ed25519/fe_mul.c; sourceTree = ""; }; - BEC05968F02AF862246BC5AB8F09D8F6 /* YapDatabaseRTreeIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndex.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndex.h; sourceTree = ""; }; - BEF0262D3CAA4A0E5B175EDE8265020F /* MPDisplayTrigger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPDisplayTrigger.m; path = Mixpanel/MPDisplayTrigger.m; sourceTree = ""; }; - BEF1E6077DE793C6B09C859166350875 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BEF3E023E39D7061D467BC7D198A548E /* ECPublicKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECPublicKey.swift; path = SignalMetadataKit/src/ECPublicKey.swift; sourceTree = ""; }; - BF0D501A72C88ECC476096B1AAD4B820 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; - BF46EC4B81F9F8309B740DE7F506127A /* NVActivityIndicatorView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NVActivityIndicatorView-dummy.m"; sourceTree = ""; }; - BF561178336CC23023460B392536083B /* SignalMetadataKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalMetadataKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BF593168517D803EBE08D696483921C1 /* NSData+Image.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSData+Image.h"; sourceTree = ""; }; - BF8C381897F777C8969BC196A527DCE4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BFAD9BE088CC4AC69FA73F2D9E5C389B /* NVActivityIndicatorAnimationAudioEqualizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationAudioEqualizer.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationAudioEqualizer.swift; sourceTree = ""; }; - BFCE71277788486350487CFBE96C3F11 /* GULAppEnvironmentUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULAppEnvironmentUtil.h; path = GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.h; sourceTree = ""; }; - BFFE9343827B639EECAFFB21A78C39E4 /* TestAppContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TestAppContext.h; sourceTree = ""; }; - C0240F69116DBE164457ACF8E2375366 /* ge_add.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_add.c; path = Sources/ed25519/ge_add.c; sourceTree = ""; }; - C04DFCA053D1DA87CF3E4529A93A35EF /* source_context.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = source_context.pb.swift; path = Sources/SwiftProtobuf/source_context.pb.swift; sourceTree = ""; }; - C0824E949824213582B098E0726A47F8 /* SignedPreKeyStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SignedPreKeyStore.h; path = AxolotlKit/Classes/State/SignedPreKeyStore.h; sourceTree = ""; }; - C09EE135EE9313BBC1CAD139B99076BF /* String + toDuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String + toDuration.swift"; path = "Sources/FeedKit/Extensions/String + toDuration.swift"; sourceTree = ""; }; - C0C4F3DBDBEDDD2C12CDB130B8377041 /* OWSFakeProfileManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFakeProfileManager.m; sourceTree = ""; }; - C0ED22839210D72A8F8D99A82A3F9D0C /* RSSFeedItemGUID.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedItemGUID.swift; path = Sources/FeedKit/Models/RSS/RSSFeedItemGUID.swift; sourceTree = ""; }; - C0F3CC1A9F7A785E32701E6AF9EADBAA /* ge_sub.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_sub.c; path = Sources/ed25519/ge_sub.c; sourceTree = ""; }; - C183AC3082FF95B2724CA1893F6F5339 /* MPNSNumberToCGFloatValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPNSNumberToCGFloatValueTransformer.m; path = Mixpanel/MPNSNumberToCGFloatValueTransformer.m; sourceTree = ""; }; - C1A661E4114A7DC1561866D784EE9ECE /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; - C1AE7D8D4F6807C805C419EFD6D8940B /* YDBCKAttachRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKAttachRequest.h; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKAttachRequest.h; sourceTree = ""; }; - C1B323ECE7200B6E638DC553E6474D2A /* SignalCoreKit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalCoreKit-Unit-Tests-resources.sh"; sourceTree = ""; }; - C1D92842AE85104A11E541369BF05E09 /* YDBCKRecordTableInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKRecordTableInfo.h; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKRecordTableInfo.h; sourceTree = ""; }; - C1E78FDD1E7E83D69C62845E32E5DCAC /* ge_p3_0.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p3_0.c; path = Sources/ed25519/ge_p3_0.c; sourceTree = ""; }; - C203DA7720C2A8C4240A51BC076B99F0 /* GCDWebServerURLEncodedFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerURLEncodedFormRequest.h; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h; sourceTree = ""; }; - C24D3A7B6731F56AD3A94DC128ADD632 /* RatchetingSession.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RatchetingSession.h; path = AxolotlKit/Classes/Ratchet/RatchetingSession.h; sourceTree = ""; }; - C26219655E1359BEFD60DC1F72AE425D /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; - C26F465D8AD5785AE1C798FBD8853798 /* BinaryEncodingVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryEncodingVisitor.swift; path = Sources/SwiftProtobuf/BinaryEncodingVisitor.swift; sourceTree = ""; }; - C2AB354912D8471EC77BF46AE8883E3D /* MediaGroup.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaGroup.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaGroup.swift; sourceTree = ""; }; - C2B434B6844A101FF33473073AED0A24 /* LRUCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LRUCache.swift; sourceTree = ""; }; - C2EB50A528AD30979162839AA96BA8B4 /* JSONDecodingOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONDecodingOptions.swift; path = Sources/SwiftProtobuf/JSONDecodingOptions.swift; sourceTree = ""; }; - C3245A8F4C106048AD3BFA0D704A69CE /* Curve25519KitSwiftTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Curve25519KitSwiftTests.swift; path = BuildTests/BuildTestsTests/Curve25519KitSwiftTests.swift; sourceTree = ""; }; - C32A5B872408B5F600A1BA52 /* GroupParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupParser.swift; sourceTree = ""; }; - C32A5B892408BD1D00A1BA52 /* LKSyncOpenGroupsMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LKSyncOpenGroupsMessage.h; sourceTree = ""; }; - C32A5B8A2408BD1D00A1BA52 /* LKSyncOpenGroupsMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LKSyncOpenGroupsMessage.m; sourceTree = ""; }; - C32B22C1146F4D40B78E1600F0F77A32 /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; - C351BF2023E81A1E0041D98F /* Data+Streaming.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+Streaming.swift"; sourceTree = ""; }; - C369DCE9B771AA4A1C7B40DFFA3C4DCB /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; - C38D75862385E6E00047AF0B /* LKUnlinkDeviceMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LKUnlinkDeviceMessage.h; sourceTree = ""; }; - C38D75872385E6E00047AF0B /* LKUnlinkDeviceMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LKUnlinkDeviceMessage.m; sourceTree = ""; }; - C392555180DEC38836CA183AC9D5B7EB /* MPTakeoverNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPTakeoverNotification.h; path = Mixpanel/MPTakeoverNotification.h; sourceTree = ""; }; - C3A2127511F52A3C2A5AF8A8E763C81E /* LKEphemeralMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKEphemeralMessage.m; sourceTree = ""; }; - C3BADCE023E6380900B304DE /* LokiFileServerProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LokiFileServerProxy.swift; sourceTree = ""; }; - C3C685BEAACC9CA9712EB060669F8049 /* Mixpanel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mixpanel.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C3E517E8372532438CE9978ACDF4E103 /* PureLayout.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PureLayout.modulemap; sourceTree = ""; }; - C4263682487BB86BE933E89D6B2DBEC3 /* NBPhoneNumberDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBPhoneNumberDefines.h; path = libPhoneNumber/NBPhoneNumberDefines.h; sourceTree = ""; }; - C426972C0A56F763331F90253322366B /* RSSFeedItemEnclosure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedItemEnclosure.swift; path = Sources/FeedKit/Models/RSS/RSSFeedItemEnclosure.swift; sourceTree = ""; }; - C4937BA7C6A0104AC86EED278EA169D6 /* Date + codingStrategy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date + codingStrategy.swift"; path = "Sources/FeedKit/Extensions/Date + codingStrategy.swift"; sourceTree = ""; }; - C493DD036C0C4FB8C6D06F604071F8ED /* LokiRSSFeed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiRSSFeed.swift; sourceTree = ""; }; - C4993E4E066F5AE301DFBF1589791CD9 /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; - C49FAA58E733D476435FBCE70776A0F7 /* OWSDisappearingMessagesConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDisappearingMessagesConfiguration.h; sourceTree = ""; }; - C4A19F2F3A9FEE3AF87ADA386C9D21FE /* Pods-SignalShareExtension-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SignalShareExtension-resources.sh"; sourceTree = ""; }; - C4ABDA89885EB7E86E313111F822AABF /* YapDatabaseSearchResultsViewOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchResultsViewOptions.h; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewOptions.h; sourceTree = ""; }; - C4E4BA8EDE016B125209CD82E0E75F44 /* empty.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = empty.pb.swift; path = Sources/SwiftProtobuf/empty.pb.swift; sourceTree = ""; }; - C4FDECA328604ADF5C19D19C0972CAD6 /* YYFrameImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYFrameImage.h; path = YYImage/YYFrameImage.h; sourceTree = ""; }; - C52AB403FC6D823012C332C2F34534DC /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; - C55A458BE383D60AEE22DABCEFD04146 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotateMultiple.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotateMultiple.swift; sourceTree = ""; }; - C5738AC9666EBA2CCDCCDE57B25388A0 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; - C5795142CFBF0E1B6921AA248408D987 /* MediaRating.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaRating.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaRating.swift; sourceTree = ""; }; - C58C5BBC37000149164845A1F5990C8C /* crypto_hash_sha512.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_hash_sha512.h; path = Sources/ed25519/additions/crypto_hash_sha512.h; sourceTree = ""; }; - C5A3AB72EEAA730293EFE742281ACC3C /* OWSEndSessionMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSEndSessionMessage.m; sourceTree = ""; }; - C60A9979E63ADFA3C3ECC18869675A2D /* NSURLSessionDataTask+StatusCode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSURLSessionDataTask+StatusCode.m"; sourceTree = ""; }; - C60FEF1B80024333892B1CF3EBCF80FC /* SignalMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalMessage.swift; sourceTree = ""; }; - C62258203BD3D1E7809A574F1A576A52 /* ECKeyPair+Loki.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "ECKeyPair+Loki.swift"; sourceTree = ""; }; - C6438314B8752E5ECF576722ECF13CBB /* OWSGroupsOutputStream.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSGroupsOutputStream.m; sourceTree = ""; }; - C64BC1F9BB0012497EBFA597AD9587A7 /* MediaTitle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaTitle.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaTitle.swift; sourceTree = ""; }; - C65FE12188C5592AC813B4B9A442D766 /* YapDatabaseConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseConnection.h; path = YapDatabase/YapDatabaseConnection.h; sourceTree = ""; }; - C67E4FCB5C1E799656EC53BA687D3CB7 /* OWSDisappearingMessagesConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesConfiguration.m; sourceTree = ""; }; - C68AE886275EE8DC95E1F2883A3793BA /* YapDatabaseManualViewTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseManualViewTransaction.m; path = YapDatabase/Extensions/ManualView/YapDatabaseManualViewTransaction.m; sourceTree = ""; }; - C6A23C42BD908F492376EF006185FF17 /* mz_os.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_os.h; path = SSZipArchive/minizip/mz_os.h; sourceTree = ""; }; - C6BDA8C7C46C23DDC33CF7C07F338CD1 /* duration.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = duration.pb.swift; path = Sources/SwiftProtobuf/duration.pb.swift; sourceTree = ""; }; - C700D535CC375C57BA382CBC5B21424E /* YapDatabaseSecondaryIndexHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndexHandler.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexHandler.m; sourceTree = ""; }; - C77EB0ABBCC17B45AD3B83DE5131E71A /* SignalServiceKit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalServiceKit-Unit-Tests-resources.sh"; sourceTree = ""; }; - C78048F8C9DB22BC1984A05FAA8173ED /* JSONFeedItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeedItem.swift; path = Sources/FeedKit/Models/JSON/JSONFeedItem.swift; sourceTree = ""; }; - C7A8F0B5EC9CBCBDDDFF44B7858B7F24 /* AtomFeedAuthor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedAuthor.swift; path = Sources/FeedKit/Models/Atom/AtomFeedAuthor.swift; sourceTree = ""; }; - C7C5331D9E8815B2E36431C5FAFF6AC1 /* Mantle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mantle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C7DB77B7D6BB4C4C79E6ECF8314F613E /* Pods-Signal-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Signal-umbrella.h"; sourceTree = ""; }; - C809E3F8A3D7AEE391C9B4C118F69916 /* mz_strm_zlib.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_zlib.h; path = SSZipArchive/minizip/mz_strm_zlib.h; sourceTree = ""; }; - C8116DD3DAF0519A7D1C2C494FDB0616 /* MPEnumDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPEnumDescription.h; path = Mixpanel/MPEnumDescription.h; sourceTree = ""; }; - C83193C07FC8EAE7B509C8C8A43C2493 /* MPABTestDesignerChangeResponseMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerChangeResponseMessage.m; path = Mixpanel/MPABTestDesignerChangeResponseMessage.m; sourceTree = ""; }; - C83E24C043AE05487C0EFA61589E3835 /* AtomFeedContributor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedContributor.swift; path = Sources/FeedKit/Models/Atom/AtomFeedContributor.swift; sourceTree = ""; }; - C86EF8D9E74885F62A88D8871ECF2B00 /* LokiDatabaseUtilities.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiDatabaseUtilities.swift; sourceTree = ""; }; - C8ADEFEF977CB53D5A23CCB891609015 /* SSKPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SSKPreferences.swift; sourceTree = ""; }; - C91E7E55D696BAF2E6453B43BE2C3CA6 /* SignalServiceKit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalServiceKit.unit.xcconfig; sourceTree = ""; }; - C97D0BA6A0E5B8C1C44FB2BDC762E269 /* PreKeyStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PreKeyStore.h; path = AxolotlKit/Classes/State/PreKeyStore.h; sourceTree = ""; }; - C99E65CBF2655DA94042ACEFE089E29E /* TSMessageTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSMessageTest.m; sourceTree = ""; }; - C9B5D7C3D5D7096AA841355A0476AC5E /* YapDatabaseSecondaryIndexSetup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndexSetup.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.m; sourceTree = ""; }; - C9CA2634C6852C02C374C9AE45C60230 /* SMKCertificateValidator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKCertificateValidator.swift; path = SignalMetadataKit/src/SMKCertificateValidator.swift; sourceTree = ""; }; - C9E953C0D9ACCC330E2A850154FEE301 /* OWSDeviceProvisionerTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceProvisionerTest.m; sourceTree = ""; }; - CA15015261EF2441A6D51249D641FFDB /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDDispatchQueueLogFormatter.h; path = Classes/Extensions/DDDispatchQueueLogFormatter.h; sourceTree = ""; }; - CA277F108EBAFAB2BA89E7E0FEB24925 /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; - CA34D58A59B0DE60CE5B204FC56EBB80 /* OWSFakeCallMessageHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFakeCallMessageHandler.m; sourceTree = ""; }; - CA34FECF2D1CA22AC0BEE562F990FAC9 /* MPABTestDesignerTweakResponseMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerTweakResponseMessage.h; path = Mixpanel/MPABTestDesignerTweakResponseMessage.h; sourceTree = ""; }; - CA361FA20734470F3117892EFB76F93F /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallZigZagDeflect.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallZigZagDeflect.swift; sourceTree = ""; }; - CA51D22F889D900B62A901241336CCCA /* TSGroupThread.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSGroupThread.m; sourceTree = ""; }; - CA58BE39E1AA124AB69BB9EA24F2370B /* SignalServiceKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalServiceKit-umbrella.h"; sourceTree = ""; }; - CA7C01DEC82F15AFA1E47E92E238311B /* SCKExceptionWrapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SCKExceptionWrapper.m; path = SignalCoreKit/src/SCKExceptionWrapper.m; sourceTree = ""; }; - CA7CEFCB21937D3ACBE369AA883672DA /* YapRowidSet.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = YapRowidSet.mm; path = YapDatabase/Internal/YapRowidSet.mm; sourceTree = ""; }; - CAA2A96B2C7AF967E585B81B7233E95E /* FABAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FABAttributes.h; path = iOS/Fabric.framework/Headers/FABAttributes.h; sourceTree = ""; }; - CAC9E11C30E1748ECF55A065B1C9A155 /* ProvisioningProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ProvisioningProto.swift; sourceTree = ""; }; - CAE8C9B1CAE1FFE935C296D447429A4D /* YapDatabaseRelationshipEdge.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipEdge.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.h; sourceTree = ""; }; - CAFA9494EE1DFA502344B2EC9BD01C05 /* OWSDataParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OWSDataParser.swift; path = SignalCoreKit/src/OWSDataParser.swift; sourceTree = ""; }; - CB46FD4F938B3DFBEA38E1FED64D9AF7 /* Curve25519Kit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Curve25519Kit-umbrella.h"; sourceTree = ""; }; - CB572BD0597534357C227267877A53E4 /* PureLayoutDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayoutDefines.h; path = PureLayout/PureLayout/PureLayoutDefines.h; sourceTree = ""; }; - CB689F617269B1F9E24F4021008C6E0C /* MPABTestDesignerChangeRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerChangeRequestMessage.m; path = Mixpanel/MPABTestDesignerChangeRequestMessage.m; sourceTree = ""; }; - CB9910EC1143C31490D0FD59347D8998 /* TSIncomingMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSIncomingMessage.h; sourceTree = ""; }; - CBCF87A0BA39455D1A59D2C74A64303B /* TimeUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TimeUtils.swift; path = Sources/SwiftProtobuf/TimeUtils.swift; sourceTree = ""; }; - CBD7C83FEC618F35E95EF7AF700AF4B9 /* Mantle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mantle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CBDD8525DC390A41175DE9F6BD9093B0 /* Pods-Signal-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Signal-acknowledgements.plist"; sourceTree = ""; }; - CBEF01A7D6E4807534D6FBC73A42D906 /* PreKeyBundle+jsonDict.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PreKeyBundle+jsonDict.h"; sourceTree = ""; }; - CBF7D49A555A7809FE062DE4073CC54A /* MediaPeerLink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaPeerLink.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaPeerLink.swift; sourceTree = ""; }; - CBFEAF0505EB846FC23D829EDE57DBA1 /* ContactSortingTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ContactSortingTest.m; sourceTree = ""; }; - CC1093C2BDAC81ABEAE9DDAB8BF63259 /* HKDFKit.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HKDFKit.m; path = HKDFKit/HKDFKit/HKDFKit.m; sourceTree = ""; }; - CC2EAFB2226BA4C28FA465018D140C8B /* SMKSessionCipherTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKSessionCipherTest.swift; path = SignalMetadataKitTests/src/SMKSessionCipherTest.swift; sourceTree = ""; }; - CC308DD5B104D63AD6825900D97E5F90 /* MPUIImageToNSDictionaryValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPUIImageToNSDictionaryValueTransformer.m; path = Mixpanel/MPUIImageToNSDictionaryValueTransformer.m; sourceTree = ""; }; - CC363BF16CBF0BA0339424AD75F57CF5 /* MediaCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaCategory.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaCategory.swift; sourceTree = ""; }; - CC523AB27FCC648A185067B162074571 /* AtomFeed + mapAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AtomFeed + mapAttributes.swift"; path = "Sources/FeedKit/Models/Atom/AtomFeed + mapAttributes.swift"; sourceTree = ""; }; - CCC54BE015319486D2F8F2EFEFEA30EC /* SessionBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionBuilder.h; path = AxolotlKit/Classes/Sessions/SessionBuilder.h; sourceTree = ""; }; - CD046EEC980422E161969C30F68CA5A3 /* Pods_Signal.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Signal.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CD123F61F0FFFC481EED64BC60317BF1 /* YapDatabaseOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseOptions.h; path = YapDatabase/YapDatabaseOptions.h; sourceTree = ""; }; - CD3915B3FC28EEAF1BEE61436DA6CB0F /* OWSFingerprint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFingerprint.m; sourceTree = ""; }; - CD5D68EA19E2419EAD0DF7E66599C5FC /* OWSSignalAddress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSSignalAddress.swift; sourceTree = ""; }; - CD7A425FC83F684E3CB0B9C3AF45C250 /* MTLValueTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLValueTransformer.h; path = Mantle/MTLValueTransformer.h; sourceTree = ""; }; - CDEBE605E405DA7FC4ECB4D1E0005F5A /* SessionBuilderTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionBuilderTests.m; path = AxolotlKitTests/SessionBuilderTests.m; sourceTree = ""; }; - CE0B810EC0B3638CBCD7CB0E38309C5C /* DDFileLogger+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDFileLogger+Internal.h"; path = "Classes/DDFileLogger+Internal.h"; sourceTree = ""; }; - CE2E34EF41C5F1A3216A0770B21FBBE2 /* SSZipArchive.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSZipArchive.h; path = SSZipArchive/SSZipArchive.h; sourceTree = ""; }; - CE92C08ACFA7B95A9DD1304A55F8B6FB /* SyndicationUpdatePeriod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SyndicationUpdatePeriod.swift; path = Sources/FeedKit/Models/Namespaces/Syndication/SyndicationUpdatePeriod.swift; sourceTree = ""; }; - CED001E7381363E215D3AC95BD7CA6BE /* YYSpriteSheetImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYSpriteSheetImage.m; path = YYImage/YYSpriteSheetImage.m; sourceTree = ""; }; - CF2B237AD1F927BBB0C71FAADBDDE972 /* YapDatabaseRTreeIndexHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndexHandler.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexHandler.m; sourceTree = ""; }; - CF415E5DA1D2B6D643FC6568ECBD0FC9 /* LokiPublicChatMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiPublicChatMessage.swift; sourceTree = ""; }; - CF64961A4A26120C710715DACD57B7FF /* FeedKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FeedKit-umbrella.h"; sourceTree = ""; }; - CF9EFD8F808E2724AED16F00EB966F89 /* FunctionalUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = FunctionalUtil.m; sourceTree = ""; }; - CFF33AF19F5DEBFF1EE969827E2449E8 /* YapDatabaseSearchResultsViewConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSearchResultsViewConnection.m; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewConnection.m; sourceTree = ""; }; - CFF65DDC9B8B9980DE0AA715648DE116 /* SAMKeychainQuery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SAMKeychainQuery.h; path = Sources/SAMKeychainQuery.h; sourceTree = ""; }; - D0025288F26398DEA873B67EF76DCD6E /* Curve25519Kit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Curve25519Kit-Unit-Tests-prefix.pch"; sourceTree = ""; }; - D00DEF16A5213BB827F708288384CB3F /* YapDatabaseTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseTransaction.m; path = YapDatabase/YapDatabaseTransaction.m; sourceTree = ""; }; - D01DCF8DE071C9C1E866550EFF02679F /* YapDatabaseConnectionState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseConnectionState.h; path = YapDatabase/Internal/YapDatabaseConnectionState.h; sourceTree = ""; }; - D0254D46F729E3A3B7663F0AC288DD15 /* PreKeyWhisperMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PreKeyWhisperMessage.h; path = AxolotlKit/Classes/CipherMessage/PreKeyWhisperMessage.h; sourceTree = ""; }; - D03417BA24E78BE59CCD409ADDB24055 /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; - D03C002B7BFF3B57559BA15C4D370F08 /* YapDatabaseFullTextSearchTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearchTransaction.h; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.h; sourceTree = ""; }; - D046A1D1EA52912EE887F67D8F0A44CE /* OWSGroupsOutputStream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSGroupsOutputStream.h; sourceTree = ""; }; - D0A4EBD783794E77D7C42F65B9E17C51 /* JSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSON.swift; sourceTree = ""; }; - D0A8F2F7184D2CD27B3041FE92F97060 /* Curve25519Kit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Curve25519Kit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; - D120DAA34E3DFD953AC52D58AE454342 /* HashVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HashVisitor.swift; path = Sources/SwiftProtobuf/HashVisitor.swift; sourceTree = ""; }; - D138038E11C2DA0FFEA3DCF86CA49BA8 /* SignalMetadataKit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SignalMetadataKit-Unit-Tests"; path = "SignalMetadataKit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - D17DF485015A3DEBD652E21A4A5AF543 /* Mixpanel.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Mixpanel.modulemap; sourceTree = ""; }; - D1875AB6508FE93EAE108BB99C0EB307 /* GCDWebServerURLEncodedFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerURLEncodedFormRequest.m; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m; sourceTree = ""; }; - D192BE6A79A1E1AC490E7F23DD1BAD33 /* NSArray+Functional.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Functional.m"; sourceTree = ""; }; - D1A00BD3CF2194C38BDF51DF395FA5BE /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; - D1C88AB36E6C03EDAE79BF984F57ED9F /* SignalMetadataKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalMetadataKit.xcconfig; sourceTree = ""; }; - D1E6330321F13A507F593468BC84DB86 /* OWSIncompleteCallsJob.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSIncompleteCallsJob.m; sourceTree = ""; }; - D1FCB05B64D6B37B8EF1364672EF3312 /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D21BE4E2C1BD7F89580FF94781A24DBD /* NBAsYouTypeFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBAsYouTypeFormatter.m; path = libPhoneNumber/NBAsYouTypeFormatter.m; sourceTree = ""; }; - D21E9CB0D289257C6873FB4540ACE075 /* YapMutationStack.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapMutationStack.m; path = YapDatabase/Utilities/YapMutationStack.m; sourceTree = ""; }; - D227676F10123CC34907B59E1DD0ECA2 /* GSR2.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GSR2.crt; sourceTree = ""; }; - D23127B54B0D7A8DDF71140C4F9C5DEB /* fe_add.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_add.c; path = Sources/ed25519/fe_add.c; sourceTree = ""; }; - D24D18FD22E85C8E5E29E95FE8EFB288 /* OWSUnidentifiedDelivery.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OWSUnidentifiedDelivery.pb.swift; path = SignalMetadataKit/src/Generated/OWSUnidentifiedDelivery.pb.swift; sourceTree = ""; }; - D267792FFA792E3094C3ACF922126087 /* OWSPrimaryStorage+SessionStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+SessionStore.m"; sourceTree = ""; }; - D29260BFB7370CFF0E161B68630C83E9 /* d2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = d2.h; path = Sources/ed25519/d2.h; sourceTree = ""; }; - D2A61A830F451505C150CED9204C85B1 /* CustomJSONCodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomJSONCodable.swift; path = Sources/SwiftProtobuf/CustomJSONCodable.swift; sourceTree = ""; }; - D2BA78CEFFF66645458525EE71AB7D06 /* UIApplication+AutomaticTracks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+AutomaticTracks.m"; path = "Mixpanel/UIApplication+AutomaticTracks.m"; sourceTree = ""; }; - D2D2D88AE8D95B391E67046987ABA0A8 /* OWSPrimaryStorage+keyFromIntLong.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+keyFromIntLong.h"; sourceTree = ""; }; - D2D69CB892E2F6C8ECC6A69429531F78 /* mz_zip.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_zip.c; path = SSZipArchive/minizip/mz_zip.c; sourceTree = ""; }; - D2E47D3EB336DDDBAF5F3A103F04342B /* OWSAnalyticsEvents.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSAnalyticsEvents.h; sourceTree = ""; }; - D2F494158FA21A4FCE53A84D58923185 /* MediaPrice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaPrice.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaPrice.swift; sourceTree = ""; }; - D2F9530A2AB33AD33D87397CF6F75FA6 /* OWSVerificationStateSyncMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSVerificationStateSyncMessage.m; sourceTree = ""; }; - D30B24D014F854BE0213094E0AF2602A /* YapDatabaseSecondaryIndexOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndexOptions.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexOptions.m; sourceTree = ""; }; - D3141C71679A9883794D64ED4363EC09 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D338E9F7D2FCFEAB73B36094F09233DF /* GULLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULLogger.h; path = GoogleUtilities/Logger/Private/GULLogger.h; sourceTree = ""; }; - D34AB4C00B87099B27DE3BFCA3C24F5D /* SignalServiceKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SignalServiceKit.h; path = SignalServiceKit/src/SignalServiceKit.h; sourceTree = ""; }; - D36D1B5A594E0251F05A177AD16A9862 /* Pods-SignalTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SignalTests-umbrella.h"; sourceTree = ""; }; - D38090DFBAF7B9FB43B5021B5633688F /* AFNetworking-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-umbrella.h"; sourceTree = ""; }; - D3955BAA78767651510F1408CD107866 /* YapDatabaseRelationshipOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRelationshipOptions.m; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.m; sourceTree = ""; }; - D3E0885D4593A36C6D547EDCEDA488FE /* NSData+keyVersionByte.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+keyVersionByte.h"; path = "AxolotlKit/Classes/Utility/NSData+keyVersionByte.h"; sourceTree = ""; }; - D4116EF50DAA658AD596AE5DD91038DB /* OWSThumbnailService.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSThumbnailService.swift; sourceTree = ""; }; - D41CA72CD6C659759009AAF23AF8358B /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; - D423EBEF4B95EF4763D103BDD5107D2A /* TSQuotedMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSQuotedMessage.m; sourceTree = ""; }; - D432B892D2EF3509AA9D80EA8B8CBDD7 /* PromiseKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PromiseKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D46256B6EE87D67A84ED23191334E817 /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; - D46E2778B6393E9EBB3AC1E2111888BF /* YDBCKMergeInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKMergeInfo.h; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKMergeInfo.h; sourceTree = ""; }; - D4A5F0E233534286FC6C1AEE1462B2BE /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; - D4D294048D1A65B3BECBFD7B4B2F089A /* SignalMetadataKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalMetadataKit-prefix.pch"; sourceTree = ""; }; - D506434A9EB69AC466F4F2643EA1A445 /* OWSWebSocket.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSWebSocket.h; sourceTree = ""; }; - D50E85DF7F351B42812C4C8AE52A635B /* MPCloseButton@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "MPCloseButton@3x.png"; path = "Mixpanel/Images/MPCloseButton@3x.png"; sourceTree = ""; }; - D52AB20E151BFF98F37DC41B4C4A1E67 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; - D56C96E30C5CAD0EC3564B0B09E3EA58 /* SSKMessageSenderJobRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SSKMessageSenderJobRecord.m; sourceTree = ""; }; - D5869F2671232FD8B696028C6D101353 /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; - D5901182CCACB7E9EFD735DEED9CE10C /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CryptoSwift.modulemap; sourceTree = ""; }; - D5C59ACB24D671102B17AF9B4865984D /* YapDatabaseCloudCoreGraph.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreGraph.h; path = YapDatabase/Extensions/CloudCore/Utilities/Execution/YapDatabaseCloudCoreGraph.h; sourceTree = ""; }; - D5D0E453D8F5034F25AEC67F8ABD9741 /* YapDatabaseCrossProcessNotificationTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCrossProcessNotificationTransaction.m; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationTransaction.m; sourceTree = ""; }; - D5DCF6C1030AF788AA1DC245AD7BA793 /* YapDatabaseActionManagerTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseActionManagerTransaction.m; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerTransaction.m; sourceTree = ""; }; - D5FA8CDEB9FEC9499EA4C76A594A56C5 /* Notification+Loki.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Notification+Loki.swift"; sourceTree = ""; }; - D62219E444ECB19F866A624B99BD472D /* ContactDiscoveryService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ContactDiscoveryService.m; sourceTree = ""; }; - D696A749408F5D732FB1BAD82B96088B /* Cryptography.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Cryptography.m; path = SignalCoreKit/src/Cryptography.m; sourceTree = ""; }; - D6B04B3996D02682A464A14C492AEBA2 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; - D6B768EC3FC7AC0E320026B307BC9F94 /* ParserError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParserError.swift; path = Sources/FeedKit/Parser/ParserError.swift; sourceTree = ""; }; - D6BCF0F988A75417EAD1FB6AD6EA33D7 /* NSObject+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+OWS.h"; path = "SignalCoreKit/src/NSObject+OWS.h"; sourceTree = ""; }; - D6C2AE79EDA1AE29043593120506031B /* DDLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = Classes/DDLog.h; sourceTree = ""; }; - D72B97D264596E697EECECDFC131E554 /* YapDatabaseCloudCoreOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreOptions.h; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreOptions.h; sourceTree = ""; }; - D76809838B3F625A8027963813F93A9F /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; - D7A530899A365309A5C08976637BCDB6 /* FeatureFlags.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FeatureFlags.swift; sourceTree = ""; }; - D7A88D3620A826506795B6799DB059F0 /* AxolotlKit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "AxolotlKit-Unit-Tests-resources.sh"; sourceTree = ""; }; - D7A91052BDE50CF8C04DC521D7020BE3 /* NVActivityIndicatorAnimationBallTrianglePath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallTrianglePath.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallTrianglePath.swift; sourceTree = ""; }; - D7B4EB79D0A0FA2C0A7C18B41AD30312 /* Reachability-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-umbrella.h"; sourceTree = ""; }; - D7D8A7D51257F92697C33072868F7360 /* NSLayoutConstraint+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+PureLayout.h"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h"; sourceTree = ""; }; - D7F1AC602E9BA3DD88DEC920197CF0E1 /* NSObject+Casting.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSObject+Casting.m"; sourceTree = ""; }; - D7F51C531866AC8E43828F9835918106 /* MPNotificationViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPNotificationViewController.m; path = Mixpanel/MPNotificationViewController.m; sourceTree = ""; }; - D83A00E147D9D9BEEA510B7EAD66C473 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; - D857E1A6E43527521C4CA769BA4D03BC /* Reachability.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Reachability.modulemap; sourceTree = ""; }; - D881886CFE235D8719CD49A80A84E237 /* YapDatabaseSearchResultsViewConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchResultsViewConnection.h; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewConnection.h; sourceTree = ""; }; - D895465103C4562A19C158BAB2439C17 /* Message+BinaryAdditions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Message+BinaryAdditions.swift"; path = "Sources/SwiftProtobuf/Message+BinaryAdditions.swift"; sourceTree = ""; }; - D9147DAE98A339BF9B1F5BEEAA8912A5 /* JSONDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONDecoder.swift; path = Sources/SwiftProtobuf/JSONDecoder.swift; sourceTree = ""; }; - D91998C895C41ACE4419BB00A5819678 /* LokiMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiMessage.swift; sourceTree = ""; }; - D928B4302ABB5DACE2A2ACD95FC10FD1 /* SignalMetadataKit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalMetadataKit-Unit-Tests-resources.sh"; sourceTree = ""; }; - D957D580466E89681E56E82E7AC448A4 /* NVActivityIndicatorAnimationBlank.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBlank.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBlank.swift; sourceTree = ""; }; - D95C542AF0A176D856BDEA21AAC4B07C /* SwiftProtobuf-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftProtobuf-umbrella.h"; sourceTree = ""; }; - D96B50915CE1AA3EE92787FF6CC13061 /* OWSCallMessageHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSCallMessageHandler.h; sourceTree = ""; }; - D96B576AFFDDD159B4CC142065285EA5 /* YapDatabaseCloudKit.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudKit.m; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKit.m; sourceTree = ""; }; - D98FA984AFCDB29F6FC5F257ED273030 /* YYSpriteSheetImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYSpriteSheetImage.h; path = YYImage/YYSpriteSheetImage.h; sourceTree = ""; }; - D9C96FD8BD0ACDEFCEC97DE49B09A47E /* SwiftProtobuf-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftProtobuf-dummy.m"; sourceTree = ""; }; - DA4CCCA871944B2202F334831634F26C /* SSZipCommon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSZipCommon.h; path = SSZipArchive/SSZipCommon.h; sourceTree = ""; }; - DAADAD3C067668ADAFAD5D205BB33A1C /* ContactsManagerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ContactsManagerProtocol.h; sourceTree = ""; }; - DAC91B7E7797D5B6BB3E54A91A760003 /* Pods-Signal.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Signal.release.xcconfig"; sourceTree = ""; }; - DAD90A673950DF46333BCBAA90089A37 /* FirebaseCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FirebaseCore.modulemap; sourceTree = ""; }; - DAF34D1C8254147087B0C72B431549E1 /* ge_msub.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge_msub.h; path = Sources/ed25519/ge_msub.h; sourceTree = ""; }; - DB129A1DE4AF3C483C875C80D98C4332 /* OWSDevicesService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDevicesService.h; sourceTree = ""; }; - DB35ECDA5AE35BFE69ABC6A9BE64E925 /* TSMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSMessage.m; sourceTree = ""; }; - DB548746E6BD9F055C4D63A78E64C73B /* OWSProvisioningMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSProvisioningMessage.h; sourceTree = ""; }; - DB6B8461F2C7A60329CDD6EF5E76280B /* OWSRecipientIdentity.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSRecipientIdentity.h; sourceTree = ""; }; - DB6D9168B1AA412A636F4CD90CD6F9E4 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; - DB81C24381001835613A5D58E2F26E86 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleRippleMultiple.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleRippleMultiple.swift; sourceTree = ""; }; - DB9764E7C9786C992A785C878636C61E /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; - DBD3AE6FD69118BD661DF353DB68E8D7 /* TSConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = TSConstants.m; path = SignalServiceKit/src/TSConstants.m; sourceTree = ""; }; - DC10ED9966EC1B8C1EDAF770A03099CC /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DC14BD0A6206A660DB36EAD4BF3CD88B /* sqlite3.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; path = sqlite3.c; sourceTree = ""; }; - DC22AA605F05810A4810CDFFFB9AD035 /* SSKProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SSKProto.swift; sourceTree = ""; }; - DC3CF4DB8895CD5F8F51A30F8BA33C6F /* MPMiniNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPMiniNotification.m; path = Mixpanel/MPMiniNotification.m; sourceTree = ""; }; - DC5677395470D33FEBB9B244AF45C69F /* NVActivityIndicatorView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NVActivityIndicatorView-umbrella.h"; sourceTree = ""; }; - DC577FDED102C748176633980C2D714E /* LKAddressMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKAddressMessage.m; sourceTree = ""; }; - DD31A7D31A227E47226531E4387E4686 /* MPVariant.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPVariant.m; path = Mixpanel/MPVariant.m; sourceTree = ""; }; - DD444E5ECBC1AB14E9725D1847F3707B /* CocoaLumberjack.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CocoaLumberjack.xcconfig; sourceTree = ""; }; - DD55EB9A796ACDF68A73647DAFEA3160 /* OWSStorage+Subclass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSStorage+Subclass.h"; sourceTree = ""; }; - DD8F65E5D4EB1249EB756A17F82CD00F /* AxolotlKit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AxolotlKit-Unit-Tests-prefix.pch"; sourceTree = ""; }; - DD901BC402A3D129F11FB8D833C79535 /* NVActivityIndicatorAnimationBallZigZag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallZigZag.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallZigZag.swift; sourceTree = ""; }; - DDA3DCEDF0964273505C1E4482BD4DD4 /* GCDWebServerFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileResponse.h; path = GCDWebServer/Responses/GCDWebServerFileResponse.h; sourceTree = ""; }; - DDACEBF7F86BCA4A3DC60F5B1155073A /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; - DDAD99D61D772F68FB9E4D568BC5C554 /* GCDWebServer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-prefix.pch"; sourceTree = ""; }; - DDCAF0B3DAAEEEA7C8F98EBF87B2D233 /* OWSAsserts.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OWSAsserts.m; path = SignalCoreKit/src/OWSAsserts.m; sourceTree = ""; }; - DDED2C3FEED917DF16D7EBCAFA5271F9 /* AxolotlStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AxolotlStore.h; path = AxolotlKit/Classes/State/AxolotlStore.h; sourceTree = ""; }; - DE0BA83C3D7C164421AA5B7863B3E1DA /* MPPropertyDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPPropertyDescription.m; path = Mixpanel/MPPropertyDescription.m; sourceTree = ""; }; - DE54D93E34B0BF04C85D1D781748F341 /* Version.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Version.swift; path = Sources/SwiftProtobuf/Version.swift; sourceTree = ""; }; - DE5AC18578E673C7BB51D1C352974529 /* AxolotlKit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "AxolotlKit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; - DE93549DC382C34AA10B88171351E664 /* OWSLinkedDeviceReadReceipt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSLinkedDeviceReadReceipt.h; sourceTree = ""; }; - DF05F542252D9A788870C5122B0DBBA7 /* MPCGRectToNSDictionaryValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPCGRectToNSDictionaryValueTransformer.m; path = Mixpanel/MPCGRectToNSDictionaryValueTransformer.m; sourceTree = ""; }; - DF15350AEFF50AFA01BDBDFE2B4090B1 /* libPhoneNumber_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libPhoneNumber_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DF39A77D23CC04B5A564303763644A93 /* MTLReflection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLReflection.h; path = Mantle/MTLReflection.h; sourceTree = ""; }; - DF42E7AF60B1DA420B1413916E3E4785 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DF55C67EE0272FF7772BB15DE691D054 /* TSAttachment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSAttachment.m; sourceTree = ""; }; - DF64D961115AD8A16AA0D087D8EC1665 /* TSYapDatabaseObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSYapDatabaseObject.h; sourceTree = ""; }; - DF72E319266831AE8E78D38F119963F9 /* RSSFeedItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedItem.swift; path = Sources/FeedKit/Models/RSS/RSSFeedItem.swift; sourceTree = ""; }; - DF942CCB4358E9F169A6389AC63E89D9 /* MPABTestDesignerSnapshotRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerSnapshotRequestMessage.h; path = Mixpanel/MPABTestDesignerSnapshotRequestMessage.h; sourceTree = ""; }; - DF9C1C6FF72B98CC72CE85F3D827697A /* AxolotlParameters.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AxolotlParameters.h; path = AxolotlKit/Classes/Ratchet/AxolotlParameters.h; sourceTree = ""; }; - DFE6600D93F86DC6B3C3ACD3F7E537C7 /* OWSRecordTranscriptJob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSRecordTranscriptJob.h; sourceTree = ""; }; - E010FFA0D46CC76E71CC8200DF1A6C7B /* SAMKeychain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SAMKeychain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E04792932A32C2AA35EAFB90AEFA0CD2 /* OWSFakeCallMessageHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFakeCallMessageHandler.h; sourceTree = ""; }; - E06BF576CAE337CAB43BFB18E341D098 /* OWSSyncManagerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSyncManagerProtocol.h; sourceTree = ""; }; - E0E53A3007FACA321372EBBCDC861943 /* TSErrorMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSErrorMessage.h; sourceTree = ""; }; - E0FDBB0137374D1E14B7F4D6673EA903 /* TSStorageIdentityKeyStoreTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSStorageIdentityKeyStoreTests.m; sourceTree = ""; }; - E11644B963916D3EE553561915D57AF2 /* NVActivityIndicatorAnimationBallPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulse.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulse.swift; sourceTree = ""; }; - E132293D79A8D14CA21D0A86D7337A01 /* OWSVerificationStateChangeMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSVerificationStateChangeMessage.m; sourceTree = ""; }; - E13E5F9068320F4161ABC492BE68A8B3 /* NSString+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+OWS.m"; path = "SignalCoreKit/src/NSString+OWS.m"; sourceTree = ""; }; - E14F5C235A6ED0A919E64FDB47EDD4E8 /* FIRDependency.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRDependency.m; path = Firebase/Core/FIRDependency.m; sourceTree = ""; }; - E1A8E15237373781359E0058C77AB08C /* SSKProtoEnvelope+Loki.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "SSKProtoEnvelope+Loki.swift"; sourceTree = ""; }; - E1D27BAE301D28CC70CB9C8EAF036A28 /* pow22523.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = pow22523.h; path = Sources/ed25519/pow22523.h; sourceTree = ""; }; - E207056465FE69904D3268563C87D846 /* YapDatabaseRelationship.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRelationship.m; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationship.m; sourceTree = ""; }; - E20A2E70EAE91C40D21706183C818117 /* MPABTestDesignerChangeResponseMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerChangeResponseMessage.h; path = Mixpanel/MPABTestDesignerChangeResponseMessage.h; sourceTree = ""; }; - E21F2F9A31E7190379BFFCF9C9ED4ADF /* Constants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Constants.h; path = AxolotlKit/Classes/Constants.h; sourceTree = ""; }; - E2202EF1D27FD987B18A721A404222EF /* SSZipArchive-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SSZipArchive-umbrella.h"; sourceTree = ""; }; - E2B193A48B098F57A1C1A39A5E2309CF /* SMKSecretSessionCipherTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKSecretSessionCipherTest.swift; path = SignalMetadataKitTests/src/SMKSecretSessionCipherTest.swift; sourceTree = ""; }; - E2BC2A6FDFE2A27511B3AE2D1EB354BC /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; - E2C6F5B62F3027B9FF2127A450FF7929 /* YYAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYAnimatedImageView.m; path = YYImage/YYAnimatedImageView.m; sourceTree = ""; }; - E310F9540CD7A02E7EB73EC272787C15 /* SignalRecipient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SignalRecipient.h; sourceTree = ""; }; - E336DFFFFAF34773EA3710C10601615C /* MixpanelExceptionHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MixpanelExceptionHandler.h; path = Mixpanel/MixpanelExceptionHandler.h; sourceTree = ""; }; - E337CE5315A7E98C853FC6CBEF7566E5 /* fe_tobytes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_tobytes.c; path = Sources/ed25519/fe_tobytes.c; sourceTree = ""; }; - E355C62E6BC51ADFD85781E71B23D77B /* OWSPrimaryStorage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSPrimaryStorage.h; sourceTree = ""; }; - E36E3BF4107BBA586BB9BBB23845B923 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; - E3792C2FEF886F7756CC26636B3B4754 /* OWSFakeNetworkManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFakeNetworkManager.h; sourceTree = ""; }; - E39FAEBB0E1C08430F9AD476A24273FE /* YapDatabaseCryptoUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCryptoUtils.h; path = YapDatabase/Utilities/YapDatabaseCryptoUtils.h; sourceTree = ""; }; - E3A9548F1AA88BE2A05C2FEBEB9FCC62 /* portuguese.txt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = portuguese.txt; sourceTree = ""; }; - E3CEC797FCF2406CB0733E7A11B6F3AE /* MessagePaddingTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MessagePaddingTests.m; path = SignalMetadataKitTests/src/MessagePaddingTests.m; sourceTree = ""; }; - E3D48C29B92062D270A9D17C06F9CE5E /* OWSSyncConfigurationMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSSyncConfigurationMessage.m; sourceTree = ""; }; - E3DDA40DCB57E6FFC472438829550828 /* PromiseKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PromiseKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E3FB52E74AD2BEA8D3472F5936630845 /* OWSHTTPSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSHTTPSecurityPolicy.m; sourceTree = ""; }; - E415035827CD7D824B1BD467077B639D /* BinaryEncodingSizeVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryEncodingSizeVisitor.swift; path = Sources/SwiftProtobuf/BinaryEncodingSizeVisitor.swift; sourceTree = ""; }; - E434C592B54E2DF1DC7676313BE1D0C6 /* GULLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULLogger.m; path = GoogleUtilities/Logger/GULLogger.m; sourceTree = ""; }; - E44044BA9CE81F6888BB4B97A22992FD /* MediaCommunity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaCommunity.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaCommunity.swift; sourceTree = ""; }; - E494E22A28F24DC653652DBD7C52B014 /* MediaCredit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaCredit.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaCredit.swift; sourceTree = ""; }; - E4B2E8A228B2D737E4766CAAEFFC1D2C /* MPABTestDesignerConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerConnection.m; path = Mixpanel/MPABTestDesignerConnection.m; sourceTree = ""; }; - E4CE2E0A94D00102FCB27E7769327D20 /* MPPropertyDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPPropertyDescription.h; path = Mixpanel/MPPropertyDescription.h; sourceTree = ""; }; - E4D84DCFC0A6B758B373153B8C0AC227 /* OWSReadTracking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSReadTracking.h; sourceTree = ""; }; - E4F9AF4ACA5930151ED3790F77F71C57 /* NSInvocation+MPHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+MPHelpers.h"; path = "Mixpanel/NSInvocation+MPHelpers.h"; sourceTree = ""; }; - E50E29AEC593F3429FBF130D8DFA7E8D /* OWSMediaUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSMediaUtils.swift; sourceTree = ""; }; - E54EEABB33232D72BB7ADA0A8B011528 /* MPABTestDesignerTweakRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPABTestDesignerTweakRequestMessage.h; path = Mixpanel/MPABTestDesignerTweakRequestMessage.h; sourceTree = ""; }; - E555BAC20F42816F2C5CA7499B23419F /* Pods-SignalShareExtension.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SignalShareExtension.modulemap"; sourceTree = ""; }; - E586847A87DE314DFFCF42B5453FF766 /* YYImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYImage-prefix.pch"; sourceTree = ""; }; - E588F8B00FBB3972BBDBE72707338CE5 /* OWSFailedMessagesJob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFailedMessagesJob.h; sourceTree = ""; }; - E5B8A6C0F333D8F1A3CA9B054BCCEA7F /* TSDatabaseView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSDatabaseView.h; sourceTree = ""; }; - E5E27786F53CAD9DE7EC8AC50CD1D0E9 /* TSGroupThreadTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSGroupThreadTest.m; sourceTree = ""; }; - E5F8D8C19A592772F7A66BCE657A6A94 /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/UserNotifications.framework; sourceTree = DEVELOPER_DIR; }; - E5FFC40ACD62E7186C24D659F785166D /* ParamParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ParamParser.swift; sourceTree = ""; }; - E602DAC73D8755CE8C55D5C243B185E1 /* OWSAnalyticsTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAnalyticsTests.m; sourceTree = ""; }; - E63D635E6F78B0D6827E2637A61AD9A3 /* OWSCensorshipConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSCensorshipConfiguration.h; sourceTree = ""; }; - E63E5BCC2B942734F8F7AAEB2E6F6CCB /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; - E63ECF36E53C049939C157E480B0EF51 /* Starscream-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-umbrella.h"; sourceTree = ""; }; - E64E9179B7ADAEFC16178FA59A067319 /* MPResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPResources.m; path = Mixpanel/MPResources.m; sourceTree = ""; }; - E67E200D0F75DFF621E0FA776CC8FD3E /* MPCloseButton@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "MPCloseButton@2x.png"; path = "Mixpanel/Images/MPCloseButton@2x.png"; sourceTree = ""; }; - E68C316417653D5454FF9A9F186FA86D /* OWSDisappearingMessagesFinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDisappearingMessagesFinder.h; sourceTree = ""; }; - E70C69E16BC66623334D66FC68CE3C99 /* YapDatabaseCloudCoreConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCoreConnection.m; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreConnection.m; sourceTree = ""; }; - E70DF614D7C7ECEB121853DA30246E3F /* YYImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImageCoder.h; path = YYImage/YYImageCoder.h; sourceTree = ""; }; - E71CE8AF2DA14F2E8C38F7DF7BEC715E /* ge_scalarmult_base.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_scalarmult_base.c; path = Sources/ed25519/ge_scalarmult_base.c; sourceTree = ""; }; - E72D601DDE6E87C4787F950410B27AD4 /* SelectiveVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SelectiveVisitor.swift; path = Sources/SwiftProtobuf/SelectiveVisitor.swift; sourceTree = ""; }; - E74AB09C0958C54690D16663C0F802DD /* yap_vfs_shim.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = yap_vfs_shim.m; path = YapDatabase/Internal/yap_vfs_shim.m; sourceTree = ""; }; - E75949A0F809A5A6058FF86294F00347 /* NVActivityIndicatorAnimationLineScalePulseOut.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScalePulseOut.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScalePulseOut.swift; sourceTree = ""; }; - E75E950F47B18065BEAC72D78A3DB816 /* metamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = metamacros.h; path = Mantle/extobjc/metamacros.h; sourceTree = ""; }; - E75F9C39FB7C0DEC2A181A9699E387BA /* HKDFKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = HKDFKit.xcconfig; sourceTree = ""; }; - E790FDC7A261C154CBF8280E269729C0 /* YapDatabaseExtensionPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseExtensionPrivate.h; path = YapDatabase/Extensions/Protocol/Internal/YapDatabaseExtensionPrivate.h; sourceTree = ""; }; - E792234E117F3731D72C010720FF5298 /* SFSRootCAG2.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = SFSRootCAG2.crt; sourceTree = ""; }; - E797E7FDB20CD3ACE969E8803086369C /* YapDatabaseCloudCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCore.h; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCore.h; sourceTree = ""; }; - E7A6B5751445F2B3B822DE4172ABB328 /* XMLFeedType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XMLFeedType.swift; path = Sources/FeedKit/Parser/XMLFeedType.swift; sourceTree = ""; }; - E7A9D0BEF503DE4B8D83F6A57BF52250 /* SSKAsserts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SSKAsserts.h; sourceTree = ""; }; - E7BA2BC65E28BCEA87D4811B73D7D00D /* MediaSubTitle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaSubTitle.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaSubTitle.swift; sourceTree = ""; }; - E7BBA174BEF1030442B563E74167215D /* OWSDeviceProvisioningService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceProvisioningService.m; sourceTree = ""; }; - E7C40FD779B0DCCB746DA1499F631674 /* Pods-SignalTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalTests.debug.xcconfig"; sourceTree = ""; }; - E8317E665B3F558868E834ED401E42EB /* OWSFakeMessageSender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFakeMessageSender.h; sourceTree = ""; }; - E84AFD71C7C42BCDF02380D4F2C44972 /* YapDatabaseViewState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewState.m; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewState.m; sourceTree = ""; }; - E84F2527C9022ED5EBADFB8631ED83D4 /* OWSRequestFactory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSRequestFactory.m; sourceTree = ""; }; - E87B00C07695348AB27C5B5E2968FB45 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; - E888FD29306F368BC2B382D774975A10 /* SPKProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SPKProto.swift; path = AxolotlKit/Classes/Protos/SPKProto.swift; sourceTree = ""; }; - E8CC10CCA0B30ACA6F2C43921B2CCD6F /* YapDatabaseCloudKitTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKitTypes.h; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTypes.h; sourceTree = ""; }; - E96263FCFEB2D0A9B27D781C26EBD080 /* OWSVerificationStateChangeMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSVerificationStateChangeMessage.h; sourceTree = ""; }; - E9AD17CDCDFFBA0CEC260802FC293E05 /* ISO8601DateFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateFormatter.swift; path = Sources/FeedKit/Dates/ISO8601DateFormatter.swift; sourceTree = ""; }; - E9C8CA7469C0A9C80CB729743C420E17 /* YapDatabaseSecondaryIndexTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndexTransaction.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.m; sourceTree = ""; }; - E9C9F7C14B78D565AEAED3A63DFA2A27 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = Classes/DDAbstractDatabaseLogger.m; sourceTree = ""; }; - EA37A788287B5F9D9D2EBB4512B13DE3 /* OWSPrimaryStorage+Calling.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+Calling.m"; sourceTree = ""; }; - EA6F04ABB88B30CE10BA942EB9D44C26 /* OWSBackgroundTask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSBackgroundTask.h; sourceTree = ""; }; - EAA4BC192E94555E9C6052010862AC05 /* AnyPromise+Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "AnyPromise+Conversion.swift"; sourceTree = ""; }; - EADE1708BFB613708F8411F9E7219CAA /* PhoneNumberTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PhoneNumberTest.m; sourceTree = ""; }; - EAE92E7DD352C9D740A3884CE11CF827 /* mz_strm_split.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_split.h; path = SSZipArchive/minizip/mz_strm_split.h; sourceTree = ""; }; - EAFB5BE12DEA2CE059B34B5C1228A303 /* GCDWebServerDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataResponse.m; path = GCDWebServer/Responses/GCDWebServerDataResponse.m; sourceTree = ""; }; - EAFCCA158144D0CD94EE70FC0D1E5735 /* ReceivingChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ReceivingChain.m; path = AxolotlKit/Classes/Ratchet/ReceivingChain.m; sourceTree = ""; }; - EB59AD361172C1BA24FECBC0F0BFAECA /* OWSMessageDecrypter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageDecrypter.m; sourceTree = ""; }; - EB7CCF8D0311A369DDE4927F65F17040 /* YapManyToManyCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapManyToManyCache.h; path = YapDatabase/Extensions/CloudCore/Utilities/YapManyToManyCache.h; sourceTree = ""; }; - EB7D82308FA9E1EEC8772BAAE40C7A3A /* OWSRequestBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSRequestBuilder.m; sourceTree = ""; }; - EBA1CF9A6246D6709EC63BF90ABED675 /* TestKeychainStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TestKeychainStorage.swift; sourceTree = ""; }; - EBA7C5621E37EF2C0B796055EFE47D74 /* Threading.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Threading.m; path = SignalCoreKit/src/Threading.m; sourceTree = ""; }; - EC1D7C62FD275690885071CD01F9A967 /* YapDatabaseViewLocator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewLocator.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewLocator.h; sourceTree = ""; }; - EC26084CC32E995C75A0C3B56DD85DC9 /* TSInfoMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSInfoMessage.m; sourceTree = ""; }; - EC491EE1C39F559838776AF2B83CD2AB /* Mixpanel.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Mixpanel.xcconfig; sourceTree = ""; }; - EC602F168E7778B0D9B0455419363705 /* OWSPrimaryStorage+PreKeyStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+PreKeyStore.h"; sourceTree = ""; }; - EC66FB4EADAA5684B23663D455A512A0 /* MixpanelPeople.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MixpanelPeople.h; path = Mixpanel/MixpanelPeople.h; sourceTree = ""; }; - EC994689EC146594D76387E2243D12E8 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - ECE37EAF4CA44826CD8F901C794D25D1 /* TSMessageStorageTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSMessageStorageTests.m; sourceTree = ""; }; - ECEE7F15BA18C444C71D2E5CA05F7E63 /* MPUIFontToNSDictionaryValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPUIFontToNSDictionaryValueTransformer.m; path = Mixpanel/MPUIFontToNSDictionaryValueTransformer.m; sourceTree = ""; }; - ED0801D6383F3127A6AD18417C1ADBCC /* iTunesCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = iTunesCategory.swift; path = Sources/FeedKit/Models/Namespaces/iTunes/iTunesCategory.swift; sourceTree = ""; }; - ED18E8C9C40324E4E74D4552758532F9 /* MediaHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaHash.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaHash.swift; sourceTree = ""; }; - ED42058E5D33A27E9B16E968AA519CBA /* MPDismissKeyboard.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = MPDismissKeyboard.png; path = Mixpanel/Images/MPDismissKeyboard.png; sourceTree = ""; }; - ED635705F38F7B826B993F085B5E39EE /* YapDatabaseCrossProcessNotificationTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCrossProcessNotificationTransaction.h; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationTransaction.h; sourceTree = ""; }; - ED6965B9C0E2FD5F422DEA391E466ACC /* YapDatabaseSecondaryIndexSetup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexSetup.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.h; sourceTree = ""; }; - ED9876422ADF9C64794795B75FA01BF6 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; - ED9FACB6E8886787966A7292AF5F3C70 /* open.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = open.c; path = Sources/ed25519/open.c; sourceTree = ""; }; - EDA28324E341D23A313FE8565A65F9B5 /* OWSQueues.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSQueues.h; sourceTree = ""; }; - EDB39EC974B3C7DCDDDA751DAFE9B919 /* RotateSignedKeyOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RotateSignedKeyOperation.swift; sourceTree = ""; }; - EDCD039E3FA95481050DD782B2B1B8E2 /* ge_p1p1_to_p2.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p1p1_to_p2.c; path = Sources/ed25519/ge_p1p1_to_p2.c; sourceTree = ""; }; - EDE5C05D98AE2B1F947B0809A0C15539 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - EDF587F86C8986E235798AED4845D70F /* crypto_uint64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_uint64.h; path = Sources/ed25519/nacl_includes/crypto_uint64.h; sourceTree = ""; }; - EE0E3939F89AC26E5096BDD7443CF1AA /* SignalCoreKit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalCoreKit.unit.xcconfig; sourceTree = ""; }; - EE482490B7A11A9654BCD16FA08940C2 /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; - EE634FF5CF1AF2EC740B8EAEAA355337 /* mz_strm.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm.c; path = SSZipArchive/minizip/mz_strm.c; sourceTree = ""; }; - EE736CC774AC97CA6CD9CE117C9B8BF6 /* GCDWebServerErrorResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerErrorResponse.m; path = GCDWebServer/Responses/GCDWebServerErrorResponse.m; sourceTree = ""; }; - EE83C55997E02F15F053544066B9305A /* NSDate+YapDatabase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDate+YapDatabase.m"; path = "YapDatabase/Internal/NSDate+YapDatabase.m"; sourceTree = ""; }; - EE83F722232647037672AD17831CC49D /* YapActionable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapActionable.h; path = YapDatabase/Extensions/ActionManager/YapActionable.h; sourceTree = ""; }; - EE8F40C5EAD114DD12B621438102C4CB /* Pods-Signal-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Signal-frameworks.sh"; sourceTree = ""; }; - EEA41736905C49CD3F201E85FE850008 /* SignalIOS.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalIOS.pb.swift; sourceTree = ""; }; - EEE0072491A89BAB2142CCB3F4A270D7 /* OWSProfileKeyMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSProfileKeyMessage.m; sourceTree = ""; }; - EEE90DD7011F5434AED45A5789AA9384 /* YapDatabaseCrossProcessNotificationConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCrossProcessNotificationConnection.m; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationConnection.m; sourceTree = ""; }; - EEF677C9251DC2C66910DB8E19306991 /* NSRegularExpression+SSK.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NSRegularExpression+SSK.swift"; sourceTree = ""; }; - EF1618F3CF6C6F466B0517DDEE2BD941 /* WhisperMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WhisperMessage.m; path = AxolotlKit/Classes/CipherMessage/WhisperMessage.m; sourceTree = ""; }; - EF294A26210C772DBF21CD2707732228 /* YapDatabaseViewRangeOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewRangeOptions.m; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewRangeOptions.m; sourceTree = ""; }; - EF3333DC2503A7F6F4B3EFC4142FF639 /* OWSIncomingMessageFinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSIncomingMessageFinder.h; sourceTree = ""; }; - EF4534424B5A3D8B517C4C491BE919EF /* YapDatabaseFullTextSearchPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearchPrivate.h; path = YapDatabase/Extensions/FullTextSearch/Internal/YapDatabaseFullTextSearchPrivate.h; sourceTree = ""; }; - EF519DE4415DEE72E3CD953E144C8939 /* TSOutgoingMessageTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSOutgoingMessageTest.m; sourceTree = ""; }; - EF7F86D0142871143432FD8120BA7C7A /* NBAsYouTypeFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBAsYouTypeFormatter.h; path = libPhoneNumber/NBAsYouTypeFormatter.h; sourceTree = ""; }; - EF93C1C073ED30E2023E71CD85CC7488 /* GCDWebServerResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerResponse.m; path = GCDWebServer/Core/GCDWebServerResponse.m; sourceTree = ""; }; - EF9ACC6A49DBF162496BB38781F91A44 /* MessageKeys.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MessageKeys.m; path = AxolotlKit/Classes/Ratchet/MessageKeys.m; sourceTree = ""; }; - EFBEE1F649A4F0F0214EB14642F67309 /* YapCollectionKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapCollectionKey.m; path = YapDatabase/Utilities/YapCollectionKey.m; sourceTree = ""; }; - EFC7082A8EBBE1869FC3C158DF1186F1 /* YapDatabaseFullTextSearchConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFullTextSearchConnection.m; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.m; sourceTree = ""; }; - EFCE2807F7CDEE9AA21DEC904CCE91C1 /* ProtobufMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ProtobufMap.swift; path = Sources/SwiftProtobuf/ProtobufMap.swift; sourceTree = ""; }; - EFF26D8A41C30007BB7C8FF0267A801E /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; - EFF715DF5D2276C3DD4CEAF9BD20A50B /* ge_p1p1_to_p3.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p1p1_to_p3.c; path = Sources/ed25519/ge_p1p1_to_p3.c; sourceTree = ""; }; - F00F3290978E0CCDBB531FCD0AD250B5 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; - F04914F2DAE246B273D9CA1A39388DD8 /* TSContactThreadTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSContactThreadTest.m; sourceTree = ""; }; - F05FFBB99FC23A08E67A1777E711ADE9 /* SPKMockProtocolStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPKMockProtocolStore.h; path = AxolotlKit/Classes/TestUtils/SPKMockProtocolStore.h; sourceTree = ""; }; - F06750D69EAD0A3F064E9AEE50E1B560 /* TSInvalidIdentityKeyErrorMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSInvalidIdentityKeyErrorMessage.h; sourceTree = ""; }; - F07B47DF129A042224820B0ADB06CF23 /* OWSDevicesService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDevicesService.m; sourceTree = ""; }; - F0A28577E20F3B608EACD05B663FCA38 /* TSContactThread.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSContactThread.h; sourceTree = ""; }; - F0BA8C9AD26346A43AC6975F27C89C77 /* mz_zip_rw.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_zip_rw.c; path = SSZipArchive/minizip/mz_zip_rw.c; sourceTree = ""; }; - F0DD796F207825BF218F0754154B7A21 /* YapDatabaseCloudKitConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKitConnection.h; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitConnection.h; sourceTree = ""; }; - F132E03B01D3FDAF451F247F29845B8A /* TSContactThread.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSContactThread.m; sourceTree = ""; }; - F18406DF6FEFCD6740B429AD8083F582 /* NSData+keyVersionByte.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+keyVersionByte.m"; path = "AxolotlKit/Classes/Utility/NSData+keyVersionByte.m"; sourceTree = ""; }; - F18D2880D8B34F5A363A5E48E6D6B8CC /* ge_p3_dbl.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p3_dbl.c; path = Sources/ed25519/ge_p3_dbl.c; sourceTree = ""; }; - F18DD72F5662FC5E842D3170FF1942F6 /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; - F1E4B77FADFD329E2D249EF201895870 /* CryptoSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.xcconfig; sourceTree = ""; }; - F1FD23E5A7D183567C8CEE7A0F9E7211 /* OWSOutgoingSyncMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOutgoingSyncMessage.m; sourceTree = ""; }; - F21A1FABB90A9D6576F59395F04EEDA6 /* OWSFailedAttachmentDownloadsJob.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFailedAttachmentDownloadsJob.m; sourceTree = ""; }; - F233892791DFC5B4CE81A6067ED38189 /* OWSAddToContactsOfferMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAddToContactsOfferMessage.m; sourceTree = ""; }; - F24671AB2FD9BBB651769D905F507409 /* LKDeviceLinkMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKDeviceLinkMessage.h; sourceTree = ""; }; - F26DA07DF5B598DD3438A90A35D73ADF /* NSDictionary+MTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLManipulationAdditions.h"; path = "Mantle/NSDictionary+MTLManipulationAdditions.h"; sourceTree = ""; }; - F290E3F2483BD303F4AC82EEB7F401F2 /* DDOSLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDOSLogger.h; path = Classes/DDOSLogger.h; sourceTree = ""; }; - F29CF1CC842A3AB4AC96A8B1E674C0FF /* DDASLLogCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDASLLogCapture.m; path = Classes/DDASLLogCapture.m; sourceTree = ""; }; - F29ECEAC2560471FAD09E24E6CDB28BE /* OWSLinkedDeviceReadReceipt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSLinkedDeviceReadReceipt.m; sourceTree = ""; }; - F2A065DF994FCD97986E908923A72789 /* RKCK.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RKCK.h; path = AxolotlKit/Classes/Ratchet/RKCK.h; sourceTree = ""; }; - F2A9332722595E23D63521F83EB6A61E /* textsecure.cer */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = textsecure.cer; sourceTree = ""; }; - F2CCC7E742AAB6F61ACE0F90E1FA5F5E /* RSSFeedCloud.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedCloud.swift; path = Sources/FeedKit/Models/RSS/RSSFeedCloud.swift; sourceTree = ""; }; - F2D329D3F06967545474089D7EBBF027 /* TSInvalidIdentityKeyReceivingErrorMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSInvalidIdentityKeyReceivingErrorMessage.h; sourceTree = ""; }; - F31CA3A11D97263E345A63108B36DCEF /* EXTKeyPathCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTKeyPathCoding.h; path = Mantle/extobjc/EXTKeyPathCoding.h; sourceTree = ""; }; - F35E0788F133C263B7709165E1DA4B40 /* SAMKeychain.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SAMKeychain.xcconfig; sourceTree = ""; }; - F35FFC589B02FA9223CF58203A137695 /* FIRVersion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRVersion.m; path = Firebase/Core/FIRVersion.m; sourceTree = ""; }; - F3611177EC5C2F42EBF376EB06ED73AD /* DDLoggerNames.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLoggerNames.h; path = Classes/DDLoggerNames.h; sourceTree = ""; }; - F366E537533B1013937B00F3D5A9711B /* SignalService.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalService.pb.swift; sourceTree = ""; }; - F3F86BD15E742F2F1FC127D187395E51 /* MPAbstractABTestDesignerMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPAbstractABTestDesignerMessage.m; path = Mixpanel/MPAbstractABTestDesignerMessage.m; sourceTree = ""; }; - F4278C71C759864FFDF355FC9D32D84C /* LKDeviceLinkMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKDeviceLinkMessage.m; sourceTree = ""; }; - F43923211E1D1E87D49E0ABE3CC28F91 /* SSKBaseTestObjC.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SSKBaseTestObjC.m; path = SignalServiceKit/tests/SSKBaseTestObjC.m; sourceTree = ""; }; - F45B64F856F2F26F5AF6318DD79CC426 /* NSLayoutConstraint+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+PureLayout.m"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m"; sourceTree = ""; }; - F48A017B8BF7378CF8D9C42E4F7F288F /* hash.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = hash.c; path = Sources/ed25519/nacl_sha512/hash.c; sourceTree = ""; }; - F4A00E6FF273476784E7F8ECAAE40204 /* MPMiniNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPMiniNotification.h; path = Mixpanel/MPMiniNotification.h; sourceTree = ""; }; - F4A64D4040D424BB290986136666E4D8 /* UIColor+MPColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+MPColor.m"; path = "Mixpanel/UIColor+MPColor.m"; sourceTree = ""; }; - F4BE2D51E5AD8DA8972B9AEC36C380AE /* YapDatabaseAutoView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseAutoView.m; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoView.m; sourceTree = ""; }; - F4C85D5090F944090DAF1250A3E103EC /* NBGeneratedPhoneNumberMetaData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBGeneratedPhoneNumberMetaData.h; path = libPhoneNumber/NBGeneratedPhoneNumberMetaData.h; sourceTree = ""; }; - F519CDE516542B08194EFDBAF17019D2 /* YapDatabase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = YapDatabase.modulemap; sourceTree = ""; }; - F51A805D09B562A543452D88F53266D1 /* MPABTestDesignerDisconnectMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerDisconnectMessage.m; path = Mixpanel/MPABTestDesignerDisconnectMessage.m; sourceTree = ""; }; - F52449091142E171BCA47B19240A70CF /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; - F524E3799D4CB3F4558E98AEE895973E /* MPObjectSerializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPObjectSerializer.h; path = Mixpanel/MPObjectSerializer.h; sourceTree = ""; }; - F554088C0FD96699CA6A4EEA981ED20B /* HKDFTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HKDFTest.m; path = AxolotlKitTests/HKDFTest.m; sourceTree = ""; }; - F5620FD40B63BC69929EC1E903B1B584 /* FIRComponentContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentContainer.h; path = Firebase/Core/Private/FIRComponentContainer.h; sourceTree = ""; }; - F56E995D3A9BCBA00C4D008B5AF85630 /* UIViewController+AutomaticTracks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AutomaticTracks.h"; path = "Mixpanel/UIViewController+AutomaticTracks.h"; sourceTree = ""; }; - F57D80E0A2ABC68D878A0B5483A19B99 /* mz_strm_pkcrypt.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_pkcrypt.c; path = SSZipArchive/minizip/mz_strm_pkcrypt.c; sourceTree = ""; }; - F5A9279D979F57C0FD5CAD9DD2DECCC3 /* GTSR4.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GTSR4.crt; sourceTree = ""; }; - F5CCD9C51446DDFC628621B9E706941A /* OWSDisappearingMessageFinderTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessageFinderTest.m; sourceTree = ""; }; - F5D157F55A52F85F1D544198AED473F6 /* DDFileLogger+Buffering.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDFileLogger+Buffering.h"; path = "Classes/Extensions/DDFileLogger+Buffering.h"; sourceTree = ""; }; - F612848EF622A9A33BA2880617A6BC63 /* NSArray+Functional.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSArray+Functional.h"; sourceTree = ""; }; - F61FC8CDF673A0A10467CA81E346E541 /* ContactsUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ContactsUpdater.m; sourceTree = ""; }; - F6AEE81E47CA007E3E2764BD0016C2C3 /* FirebaseCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FirebaseCore-dummy.m"; sourceTree = ""; }; - F70E9CE2EED92D0DFD78371212070E7F /* OWSFileSystem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFileSystem.m; sourceTree = ""; }; - F710439143948E44F31C1D247393847E /* AtomFeedGenerator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedGenerator.swift; path = Sources/FeedKit/Models/Atom/AtomFeedGenerator.swift; sourceTree = ""; }; - F718E2DD4F861046CCFC7A20F6647C2F /* mz.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz.h; path = SSZipArchive/minizip/mz.h; sourceTree = ""; }; - F71EFFB49140D5C4185195326ECBDC42 /* YapDatabaseRelationshipPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipPrivate.h; path = YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipPrivate.h; sourceTree = ""; }; - F723AA0F88FA556F7115BE40D0A03819 /* ge_p2_dbl.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p2_dbl.c; path = Sources/ed25519/ge_p2_dbl.c; sourceTree = ""; }; - F782700D361CA9E1A7507AB929B622B9 /* YDBCKMappingTableInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKMappingTableInfo.h; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKMappingTableInfo.h; sourceTree = ""; }; - F7B07D6D57E3C5618A484B096F58E13F /* japanese.txt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = japanese.txt; sourceTree = ""; }; - F7DCFFC95770EB689D0A37CE9628F7BD /* OWSBatchMessageProcessor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSBatchMessageProcessor.m; sourceTree = ""; }; - F7E4321318C25FA53205F4BB36970930 /* AtomFeedLink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedLink.swift; path = Sources/FeedKit/Models/Atom/AtomFeedLink.swift; sourceTree = ""; }; - F80A0B76C6904A2EF07350F5F9D30E32 /* GCDWebServerMultiPartFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerMultiPartFormRequest.m; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m; sourceTree = ""; }; - F8284DFA14EBE33B2A8AD1B6B6021B8B /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; - F863D4DF54CEB90A65A6F1109B6465B2 /* EXTRuntimeExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXTRuntimeExtensions.m; path = Mantle/extobjc/EXTRuntimeExtensions.m; sourceTree = ""; }; - F86F907807C29D46CEA7F76F400902A0 /* LokiAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiAPI.swift; sourceTree = ""; }; - F87A5E14D3AB6180F1B03053FF30C218 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; - F87CA39DC312E530F78579DB49AD0DE6 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDContextFilterLogFormatter.m; path = Classes/Extensions/DDContextFilterLogFormatter.m; sourceTree = ""; }; - F8B3608D93D739122E4C94442984A128 /* MPSwizzler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MPSwizzler.h; path = Mixpanel/MPSwizzler.h; sourceTree = ""; }; - F8C96B7E6E3FF2AA9BDAFAA098AD7B9B /* SAMKeychain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SAMKeychain.h; path = Sources/SAMKeychain.h; sourceTree = ""; }; - F8E07EB4CF3441194A64E67753AF42D6 /* BinaryDecodingOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDecodingOptions.swift; path = Sources/SwiftProtobuf/BinaryDecodingOptions.swift; sourceTree = ""; }; - F8E37CD510C20D7DF1B8C4538508AD98 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; - F8EC4C2CA4500ED9B452DDA94677154B /* MediaText.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaText.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaText.swift; sourceTree = ""; }; - F9150A52E2CE28C05A887FC6F6A29285 /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; - F9421152E6F9F5288299F313E6AE2932 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; - F960B005A453E431F9F75784CB9DB136 /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; - F96870EC7955392A356F7BD94489DC0F /* MockSSKEnvironment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MockSSKEnvironment.m; sourceTree = ""; }; - F9A3C098B4694F35A51ABABB9E7D144A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F9A734220982F3B80BFCE445AE2A4013 /* SMKUnidentifiedSenderMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKUnidentifiedSenderMessage.swift; path = SignalMetadataKit/src/SMKUnidentifiedSenderMessage.swift; sourceTree = ""; }; - F9AEA4678F6CF4C3399ED9E51FDC8EF3 /* NSError+MTLModelException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSError+MTLModelException.h"; path = "Mantle/NSError+MTLModelException.h"; sourceTree = ""; }; - F9DAD6D52A6CE5D0F099D29AA7937B7F /* ProfileManagerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ProfileManagerProtocol.h; sourceTree = ""; }; - F9E1AFB03B8984A1C10FAE727981BFE3 /* Pods-SignalMessaging.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalMessaging.app store release.xcconfig"; sourceTree = ""; }; - FA1B7DA3014D79091720D00FF2063BD5 /* FIRVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRVersion.h; path = Firebase/Core/Private/FIRVersion.h; sourceTree = ""; }; - FA318D79478C52FD2722E1482070173E /* YapDatabaseFullTextSearchConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearchConnection.h; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.h; sourceTree = ""; }; - FA3B6BBBF48E6F38323A90F1D4990DD1 /* OWSContactsOutputStream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSContactsOutputStream.h; sourceTree = ""; }; - FA42EEA3119CFB75E881C00DE5744663 /* ALView+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ALView+PureLayout.h"; path = "PureLayout/PureLayout/ALView+PureLayout.h"; sourceTree = ""; }; - FA4821DFD821EAD5ED494F70829D9691 /* SQLCipher.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SQLCipher.xcconfig; sourceTree = ""; }; - FA4EE58C46A5A490A0608A0F7CFFA6CB /* OWSIncomingSentMessageTranscript.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSIncomingSentMessageTranscript.h; sourceTree = ""; }; - FA5C535B60CF7A296347C762360A6EAA /* RSSFeedItemCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedItemCategory.swift; path = Sources/FeedKit/Models/RSS/RSSFeedItemCategory.swift; sourceTree = ""; }; - FA8F21618194E3770DCA6E270E2E331E /* libPhoneNumber-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "libPhoneNumber-iOS-prefix.pch"; sourceTree = ""; }; - FAAA12F08E28BCBCAAADAAD32D55FA71 /* Pods-Signal.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Signal.modulemap"; sourceTree = ""; }; - FACE4DC5AE7D9B85E5806E34BCB15E98 /* OWSPrimaryStorage+keyFromIntLong.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+keyFromIntLong.m"; sourceTree = ""; }; - FADA4AF2DD96EC33EA24B3294E50E6E8 /* ge_frombytes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_frombytes.c; path = Sources/ed25519/ge_frombytes.c; sourceTree = ""; }; - FAEE45A538247E95DBDC8478971528B9 /* GCDWebServerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerPrivate.h; path = GCDWebServer/Core/GCDWebServerPrivate.h; sourceTree = ""; }; - FAFC41140607ACD9080A55C17BD98ABD /* OWSAnalyticsEvents.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAnalyticsEvents.m; sourceTree = ""; }; - FB1D4A4E5D21D572C6F9DBFD22E1C539 /* OWSDevice.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDevice.h; sourceTree = ""; }; - FB2C213D7360B50A137A689BE067F6E6 /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; - FB3C9849330AF28CFB5B98164C4D06F7 /* YapDatabaseSearchQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchQueue.h; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchQueue.h; sourceTree = ""; }; - FB4D27D18F4C5ECDED4652B5E654E6C4 /* TSInvalidIdentityKeySendingErrorMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSInvalidIdentityKeySendingErrorMessage.m; sourceTree = ""; }; - FB582E581ADDBFC21A022F24C5802603 /* MPABTestDesignerDeviceInfoRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPABTestDesignerDeviceInfoRequestMessage.m; path = Mixpanel/MPABTestDesignerDeviceInfoRequestMessage.m; sourceTree = ""; }; - FB6570720F4D9645ABF5112B117D96D9 /* GCDWebServerDataRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataRequest.m; path = GCDWebServer/Requests/GCDWebServerDataRequest.m; sourceTree = ""; }; - FB66DD51A5B8749252F874FEBC470F44 /* Pods-SignalShareExtension-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SignalShareExtension-acknowledgements.plist"; sourceTree = ""; }; - FB891E1A245EC34BA8A3D0DC6EC90228 /* OWSSignalService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSignalService.h; sourceTree = ""; }; - FBC3D0360094FEB683088522EF7BFFAB /* MediaEmbed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaEmbed.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaEmbed.swift; sourceTree = ""; }; - FBFEAFF52035D68E890B31196C64AA1B /* YapDatabaseCloudKitOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudKitOptions.m; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitOptions.m; sourceTree = ""; }; - FC292CF539C5A856E7FDAB5088D1376D /* _MPTweakBindObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _MPTweakBindObserver.h; path = Mixpanel/_MPTweakBindObserver.h; sourceTree = ""; }; - FC4BD8CA07FA9C1E490E0021F8338DB3 /* CipherMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CipherMessage.h; path = AxolotlKit/Classes/CipherMessage/CipherMessage.h; sourceTree = ""; }; - FC6402C3A70C87E0B6821C3B54A02984 /* mz_strm_os.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_os.h; path = SSZipArchive/minizip/mz_strm_os.h; sourceTree = ""; }; - FC77AD9CB1CA4E1E345A9CC82D3A1923 /* YapDatabaseOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseOptions.m; path = YapDatabase/YapDatabaseOptions.m; sourceTree = ""; }; - FC89B178536BE1C8C9F98C39A9409980 /* MPNetwork.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MPNetwork.m; path = Mixpanel/MPNetwork.m; sourceTree = ""; }; - FCE010C85775D6D6BB00DF43697758C9 /* mz_os_posix.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_os_posix.c; path = SSZipArchive/minizip/mz_os_posix.c; sourceTree = ""; }; - FCFFF8770150343E97FFB350E7D774DC /* GCDWebServer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GCDWebServer.modulemap; sourceTree = ""; }; - FD04DC7A19F01290776DC6C73BA8B12D /* YapTouch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapTouch.h; path = YapDatabase/Internal/YapTouch.h; sourceTree = ""; }; - FD0D368AFEB4B3AA78F4D706AFDC46DC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FD45F0E204366D55BBB7B82F0854EB31 /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; - FD6F07A91BA232FED0DC922CBF11FD9D /* Pods-SignalTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalTests.release.xcconfig"; sourceTree = ""; }; - FD791A30C2274476FAAC8E27662E15C8 /* TSNetworkManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSNetworkManager.m; sourceTree = ""; }; - FDEFE549E31B0D987F507808B184594B /* ChainAndIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ChainAndIndex.h; path = AxolotlKit/Classes/Ratchet/ChainAndIndex.h; sourceTree = ""; }; - FDF58F1E645C83ECE3EC2B8D2C873BF8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+MTLPredefinedTransformerAdditions.m"; path = "Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.m"; sourceTree = ""; }; - FE00DEB16953120FD5EC5F8125AE8EAE /* YapDatabaseFilteredViewTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFilteredViewTypes.h; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewTypes.h; sourceTree = ""; }; - FE057F396BEF9C563941FA95CBF10B5A /* ECPrivateKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECPrivateKey.swift; path = SignalMetadataKit/src/ECPrivateKey.swift; sourceTree = ""; }; - FE22B4FCEBB8CF8DA205A5EF19B1AB95 /* CLSStackFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSStackFrame.h; path = iOS/Crashlytics.framework/Headers/CLSStackFrame.h; sourceTree = ""; }; - FE5B29B58459AEACC94D9488B0886232 /* GCDWebServer.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GCDWebServer.xcconfig; sourceTree = ""; }; - FE88C7819338902709B389776D6FFFCF /* OWSRequestMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSRequestMaker.swift; sourceTree = ""; }; - FE96046AC4DAA14A2B8F7B396D5D4CDC /* GIAG2.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GIAG2.crt; sourceTree = ""; }; - FF828681C11A1A4E419844F6ABD2D4E1 /* YapDatabaseExtensionConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseExtensionConnection.m; path = YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.m; sourceTree = ""; }; - FFAF95FD4EF88DF7142B10DCA60C71C1 /* FIRErrors.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRErrors.h; path = Firebase/Core/Private/FIRErrors.h; sourceTree = ""; }; - FFD7A3E80B68A6EB8818CBA3051A9B3A /* YapDatabaseFilteredViewTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFilteredViewTransaction.h; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewTransaction.h; sourceTree = ""; }; - FFEDAA84C1E8D2AE4B3BCCE5560B45C8 /* YapDatabaseLogging.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseLogging.h; path = YapDatabase/Internal/YapDatabaseLogging.h; sourceTree = ""; }; + 00359797804BF371D17D83732B3DE258 /* mz_strm_buf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_buf.h; path = SSZipArchive/minizip/mz_strm_buf.h; sourceTree = ""; }; + 003D4693F8E6A36640DAA40631E7DB97 /* YapDatabaseRTreeIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndex.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndex.h; sourceTree = ""; }; + 0049D6D08A021A29C2F67358B872BE26 /* MediaTag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaTag.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaTag.swift; sourceTree = ""; }; + 0070003F2685C506E215D73BAB0958F5 /* NSString+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+OWS.m"; path = "SignalCoreKit/src/NSString+OWS.m"; sourceTree = ""; }; + 0073874ECA9291773745B9750CA83C0F /* WhisperMessageSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WhisperMessageSerialization.m; path = AxolotlKitTests/WhisperMessageSerialization.m; sourceTree = ""; }; + 0092182CA7E7C771E1EB234293A9B716 /* mz_zip.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_zip.h; path = SSZipArchive/minizip/mz_zip.h; sourceTree = ""; }; + 00A6EA6AE45318F54E25FC8942463816 /* GCDWebServerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerPrivate.h; path = GCDWebServer/Core/GCDWebServerPrivate.h; sourceTree = ""; }; + 00EF8AC4D9E853CE077963E2E013CBD5 /* YapDatabaseConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseConnection.m; path = YapDatabase/YapDatabaseConnection.m; sourceTree = ""; }; + 00F80AD7034415E3A5624A928E0AFC1C /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; + 0111E35A25061E829A6415B39E470ED0 /* CCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CCM.swift; path = Sources/CryptoSwift/BlockMode/CCM.swift; sourceTree = ""; }; + 01504433751B6E0181E3E96239CAE8C0 /* OWSMediaGalleryFinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMediaGalleryFinder.h; sourceTree = ""; }; + 0163E90A2BFBA082726C2AE63CE4F5AA /* OWSReadReceiptsForLinkedDevicesMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSReadReceiptsForLinkedDevicesMessage.h; sourceTree = ""; }; + 01716367F15CF8872510F336FAB26162 /* JSONEncodingVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONEncodingVisitor.swift; path = Sources/SwiftProtobuf/JSONEncodingVisitor.swift; sourceTree = ""; }; + 01774ED9993BEB4705A8D774951459FF /* YapDatabase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = YapDatabase.modulemap; sourceTree = ""; }; + 018E1E1118862AFA57DDC458AFCCE733 /* OWSOutgoingNullMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOutgoingNullMessage.m; sourceTree = ""; }; + 01980764365898905D909B7A0248FD0E /* GCDWebServerFileRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileRequest.m; path = GCDWebServer/Requests/GCDWebServerFileRequest.m; sourceTree = ""; }; + 01A617671FC41D09F7509014C72ACED5 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + 01A6CA070A7C470ED5377D348C63F6A2 /* Version.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Version.swift; path = Sources/SwiftProtobuf/Version.swift; sourceTree = ""; }; + 01DC9E75B3531AE3D4823524EC51C43F /* HKDFKit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "HKDFKit-Unit-Tests-resources.sh"; sourceTree = ""; }; + 021F6334486036857F692E766E400B04 /* TSCall.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSCall.h; sourceTree = ""; }; + 0233C861F5B5DA2384D73F7807748F1F /* OWSMessageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageManager.h; sourceTree = ""; }; + 023C05A7DFB380229B2984C7CCC77A0C /* d.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = d.h; path = Sources/ed25519/d.h; sourceTree = ""; }; + 02AC165B020A2456487CBF1D0D5AB75C /* YYAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYAnimatedImageView.h; path = YYImage/YYAnimatedImageView.h; sourceTree = ""; }; + 02DD7FFB954A5D7807DE1602A169178A /* SSLClientCertificate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLClientCertificate.swift; path = Sources/Starscream/SSLClientCertificate.swift; sourceTree = ""; }; + 03150F3CFC18C35A31D4BA48AEF10E3A /* PreKeyBundle+jsonDict.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PreKeyBundle+jsonDict.m"; sourceTree = ""; }; + 03162221A97204F4C620E0CD3E71004F /* SPKMockProtocolStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPKMockProtocolStore.h; path = AxolotlKit/Classes/TestUtils/SPKMockProtocolStore.h; sourceTree = ""; }; + 031C140A343DF1CD725DDA3A719A8FBB /* MessagePaddingTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MessagePaddingTests.m; path = SignalMetadataKitTests/src/MessagePaddingTests.m; sourceTree = ""; }; + 0336A81A1FE18F74C70C95DBDFECEDF0 /* TSStoragePreKeyStoreTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSStoragePreKeyStoreTests.m; sourceTree = ""; }; + 033BFF9DA4689FD20C67610DAA4BBCE1 /* Google_Protobuf_ListValue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_ListValue+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_ListValue+Extensions.swift"; sourceTree = ""; }; + 0343C7581DEFD604D80FDA418484D0BD /* OWSReadReceiptsForLinkedDevicesMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSReadReceiptsForLinkedDevicesMessage.m; sourceTree = ""; }; + 0361C1EF79016070D45D7E992C67767E /* Google_Protobuf_FieldMask+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_FieldMask+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_FieldMask+Extensions.swift"; sourceTree = ""; }; + 03771CA30B0C78B7BF3F56A6CDC07455 /* OWSFingerprintTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFingerprintTest.m; sourceTree = ""; }; + 040B4040447F2FFEE84D22045F366AEA /* ExtensibleMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtensibleMessage.swift; path = Sources/SwiftProtobuf/ExtensibleMessage.swift; sourceTree = ""; }; + 04163EF2E9112749ADB144482ED1C32E /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; + 042F694C80D229B03D35D112F98604D0 /* YapDatabaseRelationshipEdge.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRelationshipEdge.m; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.m; sourceTree = ""; }; + 042FEDEBDA420D0707531E170CD9C055 /* RSSFeedItemGUID.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedItemGUID.swift; path = Sources/FeedKit/Models/RSS/RSSFeedItemGUID.swift; sourceTree = ""; }; + 044565AF7D3C31A4B8E3CD6E752EB6DC /* fe_sub.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_sub.c; path = Sources/ed25519/fe_sub.c; sourceTree = ""; }; + 047FFE54222AB0A40E300B7F31B27A32 /* fe_cmov.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_cmov.c; path = Sources/ed25519/fe_cmov.c; sourceTree = ""; }; + 04BAE815E2728C2B3BAABD6E7AA8E832 /* MessageSenderJobRecordTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MessageSenderJobRecordTest.swift; sourceTree = ""; }; + 04BE479D170FECB47E87DC126290B016 /* YapDatabaseViewOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewOptions.h; path = YapDatabase/Extensions/View/YapDatabaseViewOptions.h; sourceTree = ""; }; + 04BF8C1DC10396B8F814A7CF2370DEE3 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; + 04CA85FDF0A2AA24A6CAD819518D86B0 /* pow225521.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = pow225521.h; path = Sources/ed25519/pow225521.h; sourceTree = ""; }; + 051A000DD6863E4A691909A061C93CF6 /* SQLCipher-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SQLCipher-dummy.m"; sourceTree = ""; }; + 0539A4E9CDF55BD4AA05C2D59F1355A5 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; + 055C22A61ABFC9ABB05A2178E44ED1B0 /* YapDatabaseCloudCoreTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCoreTransaction.m; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreTransaction.m; sourceTree = ""; }; + 05818C2A5DEC44C050A954BF11561B27 /* YapDatabaseString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseString.h; path = YapDatabase/Internal/YapDatabaseString.h; sourceTree = ""; }; + 0597EAA5C61D46E7DA6C54478555617B /* SSKMessageSenderJobRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SSKMessageSenderJobRecord.m; sourceTree = ""; }; + 05A6EF9397D52C7B88E176D26FE1FB4B /* ge_scalarmult_base.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_scalarmult_base.c; path = Sources/ed25519/ge_scalarmult_base.c; sourceTree = ""; }; + 05CFBC81D1921DABEE0024A9F6EAAE4F /* OWSContact.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSContact.m; sourceTree = ""; }; + 05E0B764DA23F94AE73E8661F13AB6E1 /* Curve25519Kit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Curve25519Kit.xcconfig; sourceTree = ""; }; + 05E2AD738B93610B696260782179169C /* BinaryEncodingError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryEncodingError.swift; path = Sources/SwiftProtobuf/BinaryEncodingError.swift; sourceTree = ""; }; + 05E5853237D951D85516A2B091B52EFB /* CocoaLumberjack.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CocoaLumberjack.modulemap; sourceTree = ""; }; + 062A2095330066F365A8BDA1C65AF580 /* GCDWebServerRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerRequest.m; path = GCDWebServer/Core/GCDWebServerRequest.m; sourceTree = ""; }; + 06400CE5BB1BCFF3846610D5825EF1B3 /* TextFormatEncodingOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatEncodingOptions.swift; path = Sources/SwiftProtobuf/TextFormatEncodingOptions.swift; sourceTree = ""; }; + 06419236C28FF86B05777D9A503B44CC /* TestAppContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TestAppContext.h; sourceTree = ""; }; + 065E0230FFB82F9DAA60474F0F4015EF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 069163317E8229F78BD8F9D1A4A2651E /* OWSAddToProfileWhitelistOfferMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSAddToProfileWhitelistOfferMessage.h; sourceTree = ""; }; + 0694B6999E4359554F6977D6414BC00B /* OWSRequestFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSRequestFactory.h; sourceTree = ""; }; + 06971F0EBB173E82519A7BC32C5EB036 /* FeedParserProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FeedParserProtocol.swift; path = Sources/FeedKit/Parser/FeedParserProtocol.swift; sourceTree = ""; }; + 06BD51A9B6885F81060328C68E5F318A /* Curve25519Kit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Curve25519Kit.h; path = Classes/Curve25519Kit.h; sourceTree = ""; }; + 06E097733E6252C51C7E79251B575880 /* GCDWebServerStreamedResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerStreamedResponse.h; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.h; sourceTree = ""; }; + 06FBBAC402E4A29A6204225394CDED5E /* ge_p3_dbl.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p3_dbl.c; path = Sources/ed25519/ge_p3_dbl.c; sourceTree = ""; }; + 0729D887F701704B930715B35A3C14FF /* iTunesSubCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = iTunesSubCategory.swift; path = Sources/FeedKit/Models/Namespaces/iTunes/iTunesSubCategory.swift; sourceTree = ""; }; + 077E6000EC3D75F8EFFB7B648653CADD /* String+SSK.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+SSK.swift"; sourceTree = ""; }; + 07963B9C4FE9D78C2624658794869582 /* YDBCKChangeQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKChangeQueue.h; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeQueue.h; sourceTree = ""; }; + 07A8E0A206B822BE72F9D79BC67AA120 /* PureLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PureLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 07B1EB012845C86CCB9289AC062B2754 /* TSCall.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSCall.m; sourceTree = ""; }; + 07C15AF91D8DC6147DC8D2F0DF2BB1BB /* ExtensionMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtensionMap.swift; path = Sources/SwiftProtobuf/ExtensionMap.swift; sourceTree = ""; }; + 07D7ECE47935D54AB3ECDC8B8B145D72 /* AxolotlKit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "AxolotlKit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; + 07E80EC3C780CEE0F2AA7998EC82C9DD /* ge_p2_dbl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge_p2_dbl.h; path = Sources/ed25519/ge_p2_dbl.h; sourceTree = ""; }; + 07ECAD56901C72280E34F2A07E6CE8A0 /* OWSAsserts.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OWSAsserts.m; path = SignalCoreKit/src/OWSAsserts.m; sourceTree = ""; }; + 07F4EC3804F569D75EA938E3AA93A812 /* YapDatabaseViewLocator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewLocator.m; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewLocator.m; sourceTree = ""; }; + 0832145DC779139C1BA203C1BCFDE312 /* YapDatabaseCloudKitPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKitPrivate.h; path = YapDatabase/Extensions/CloudKit/Internal/YapDatabaseCloudKitPrivate.h; sourceTree = ""; }; + 0905C320337DC047221852AF36981864 /* Ed25519.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Ed25519.swift; path = Classes/Ed25519.swift; sourceTree = ""; }; + 09155805E9C4FB92EE6B6FB7AFBE3B60 /* DDASLLogCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDASLLogCapture.h; path = Classes/DDASLLogCapture.h; sourceTree = ""; }; + 0928A8796D80ACA06E9B47E8C962B61C /* GoogleUtilities.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GoogleUtilities.xcconfig; sourceTree = ""; }; + 095C8E10ED96AE49FDE82553FC72B1A6 /* Randomness.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Randomness.m; path = SignalCoreKit/src/Randomness.m; sourceTree = ""; }; + 09C0AB1ADAF8D4DA2B26B09C16A34FF0 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotateMultiple.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotateMultiple.swift; sourceTree = ""; }; + 09E582CB6A28001EEB83154E8A26DD3E /* SignalMetadataKit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalMetadataKit-Unit-Tests-resources.sh"; sourceTree = ""; }; + 09EA88C19286F3ED0B9F3DC748CD6676 /* Pods-SignalMessaging-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SignalMessaging-acknowledgements.markdown"; sourceTree = ""; }; + 0A021205CB4676D02D4C5F4B4D7FA617 /* DDLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = Classes/DDLog.m; sourceTree = ""; }; + 0A04DCC83C42891B430498E16FE9283F /* HKDFKit.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HKDFKit.m; path = HKDFKit/HKDFKit/HKDFKit.m; sourceTree = ""; }; + 0A23B952E67A4D905F4850743F8E011C /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Crashlytics.framework; path = iOS/Crashlytics.framework; sourceTree = ""; }; + 0A368A6A70758B3681DF5254EC65143C /* mz_strm_pkcrypt.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_pkcrypt.c; path = SSZipArchive/minizip/mz_strm_pkcrypt.c; sourceTree = ""; }; + 0A44E100D0C15BCDF8B44CB1D8BD9C77 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = Classes/DDAbstractDatabaseLogger.m; sourceTree = ""; }; + 0A52C14A89BF3FC84E644B22E460299A /* TSStorageKeys.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSStorageKeys.h; sourceTree = ""; }; + 0A5E4BE2A48C816E66B7D185216E6CC4 /* FIRLoggerLevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLoggerLevel.h; path = Firebase/Core/Public/FIRLoggerLevel.h; sourceTree = ""; }; + 0A60A1F1471CB3AE4FA1B74E4F87C162 /* TSQuotedMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSQuotedMessage.h; sourceTree = ""; }; + 0A70C7DE5855662747F0E81CEEEC959C /* crypto_int32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_int32.h; path = Sources/ed25519/nacl_includes/crypto_int32.h; sourceTree = ""; }; + 0A8757AE3626B4D9119E22D7A5CDB695 /* LKFriendRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKFriendRequestMessage.h; sourceTree = ""; }; + 0AA02633FFB192B168B207E9AFA63A97 /* YYFrameImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYFrameImage.m; path = YYImage/YYFrameImage.m; sourceTree = ""; }; + 0AA9293EF9CDEE80191F5D9DAB4CAAB8 /* NSDictionary+MTLMappingAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLMappingAdditions.m"; path = "Mantle/NSDictionary+MTLMappingAdditions.m"; sourceTree = ""; }; + 0AC3E9D0B01A174640BF4F666696722D /* OWSPrimaryStorage+Loki.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "OWSPrimaryStorage+Loki.swift"; sourceTree = ""; }; + 0ADB9948253C70E0A939236F2A7C41BD /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; + 0AF28D7FB0AC00875093816C2E1E0D3A /* SSZipArchive.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SSZipArchive.m; path = SSZipArchive/SSZipArchive.m; sourceTree = ""; }; + 0B348C44F557DAEDA57E9BD14F142455 /* AppVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = AppVersion.h; sourceTree = ""; }; + 0B6B8F22F95544C46EDA6DF99D706A0F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 0B6DA14385699320B1CE1F9D1295038D /* AxolotlKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AxolotlKit-umbrella.h"; sourceTree = ""; }; + 0BABDCEC54BCD9B98BF6C384B0F2B769 /* NVActivityIndicatorAnimationCubeTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationCubeTransition.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationCubeTransition.swift; sourceTree = ""; }; + 0BCF5961BE62C0AE56B5E63C026AFBE5 /* NSArray+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+PureLayout.h"; path = "PureLayout/PureLayout/NSArray+PureLayout.h"; sourceTree = ""; }; + 0BEF4D6774DDEE5760162147D3C1814A /* compare.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = compare.c; path = Sources/ed25519/additions/compare.c; sourceTree = ""; }; + 0C097477EFB52B474B17827F69A45788 /* FIRApp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRApp.h; path = Firebase/Core/Public/FIRApp.h; sourceTree = ""; }; + 0C13EBBEC4197F7619DBC45242BD8DD7 /* NSDate+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+OWS.h"; path = "SignalCoreKit/src/NSDate+OWS.h"; sourceTree = ""; }; + 0C1C54D6F73EAF25F08846A90C1A5EEF /* Fabric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Fabric.h; path = iOS/Fabric.framework/Headers/Fabric.h; sourceTree = ""; }; + 0C7ED0CF04D220E49944F26020293457 /* NSLayoutConstraint+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+PureLayout.m"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m"; sourceTree = ""; }; + 0C88FD6468BDF4C593A34D5C61C64893 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 0C8E1D386F2BCF44F86C260AE672EEED /* AxolotlExceptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AxolotlExceptions.h; path = AxolotlKit/Classes/AxolotlExceptions.h; sourceTree = ""; }; + 0C90EF36915F3F0CED8B8F8557FFAA69 /* SessionBuilderTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionBuilderTests.m; path = AxolotlKitTests/SessionBuilderTests.m; sourceTree = ""; }; + 0CBA88C533B66F41A077CA3053D75161 /* NSObject+MTLComparisonAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MTLComparisonAdditions.h"; path = "Mantle/NSObject+MTLComparisonAdditions.h"; sourceTree = ""; }; + 0CD2D269676B454073DDB2D95080FF94 /* YapDatabaseSecondaryIndexOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndexOptions.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexOptions.m; sourceTree = ""; }; + 0D20DD5892B0A11AE42FC8D0F6E04078 /* NSArray+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSArray+OWS.h"; sourceTree = ""; }; + 0D69E779398EC71A44176173B7F9B6E3 /* FIRAppAssociationRegistration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAppAssociationRegistration.h; path = Firebase/Core/Private/FIRAppAssociationRegistration.h; sourceTree = ""; }; + 0D6ADD9C653298DF77F6194C42A9B214 /* YapDatabaseRTreeIndexOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndexOptions.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexOptions.m; sourceTree = ""; }; + 0D93E148EEBB97B2005911170095A8D6 /* CocoaLumberjack-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CocoaLumberjack-prefix.pch"; sourceTree = ""; }; + 0E18F7809DBF8D23F2A3F2B33F83E64E /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; + 0E21F30FCCCE2587E73DCFEF12C57C4F /* YapDatabaseExtensionTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseExtensionTypes.h; path = YapDatabase/Extensions/Protocol/YapDatabaseExtensionTypes.h; sourceTree = ""; }; + 0E38A0116C3AC1526FB4D15493709BC1 /* YapDatabaseViewChange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewChange.m; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewChange.m; sourceTree = ""; }; + 0E3E938FA08B09D3AFAFDFB7A8CAFEE8 /* SignalRecipientTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SignalRecipientTest.m; sourceTree = ""; }; + 0E49F608AA7576D9BD2E14F15B469B1E /* OWSProvisioningCipher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSProvisioningCipher.m; sourceTree = ""; }; + 0E5223F2663787AC2D19C2535D66D539 /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; + 0E5CA83328F408973F9F0688E0BE1FE3 /* Pods-SignalShareExtension.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SignalShareExtension.modulemap"; sourceTree = ""; }; + 0E5F91823AF80EBC2FE1640634D91EDD /* YapDatabaseSecondaryIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndex.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.h; sourceTree = ""; }; + 0E7F9B73FE27EFA1BB2D903ECA055696 /* crypto_int64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_int64.h; path = Sources/ed25519/nacl_includes/crypto_int64.h; sourceTree = ""; }; + 0EA0EFFBC378600C97D748C7FDD6371E /* YapDatabaseFilteredViewTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFilteredViewTransaction.h; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewTransaction.h; sourceTree = ""; }; + 0EA2C072B9EB7440DA8C83387DC47D69 /* AtomFeedEntrySummary.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntrySummary.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntrySummary.swift; sourceTree = ""; }; + 0ED092C21D8ADD37D38130590A60D75E /* NSUserDefaults+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSUserDefaults+OWS.h"; sourceTree = ""; }; + 0EE2CEF911C116E1CE416D29F30A4BFD /* SMKSecretSessionCipherTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKSecretSessionCipherTest.swift; path = SignalMetadataKitTests/src/SMKSecretSessionCipherTest.swift; sourceTree = ""; }; + 0FB8087FB60BFA03BC5652CCF3899A0B /* NBMetadataHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBMetadataHelper.m; path = libPhoneNumber/NBMetadataHelper.m; sourceTree = ""; }; + 0FC66095D4CF9CC00AFB510A1F6191F7 /* TSGroupModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSGroupModel.h; sourceTree = ""; }; + 0FD476B28AF49FED885CE8B0E15ACA92 /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; + 1046CF85F4807258C5B0E141516C6774 /* SignalCoreKit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalCoreKit-Unit-Tests-resources.sh"; sourceTree = ""; }; + 105A09420FE1510704E250412F9B244B /* Mantle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mantle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1063729587BB82F06D92B313B659601B /* YapDatabaseSearchResultsViewOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchResultsViewOptions.h; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewOptions.h; sourceTree = ""; }; + 10B07EF4DEB4FE50DD2FE5BC9AAFBC8E /* SignalServiceKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalServiceKit.xcconfig; sourceTree = ""; }; + 1113D0452CEB22300A3F3AFB1F1C4564 /* SMKUDAccessKeyTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKUDAccessKeyTest.swift; path = SignalMetadataKitTests/src/SMKUDAccessKeyTest.swift; sourceTree = ""; }; + 1122AC86E134A0AB174ED033D288DBF5 /* TSAttachment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSAttachment.m; sourceTree = ""; }; + 1130C5962C391DBBCA497C3CAEA7F5AF /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; + 11320AB7EC5B0EC5A4E49F8CB4E86E86 /* ECPublicKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECPublicKey.swift; path = SignalMetadataKit/src/ECPublicKey.swift; sourceTree = ""; }; + 11750CFD750BFB389914244AF5DCA518 /* OWSFailedMessagesJob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFailedMessagesJob.h; sourceTree = ""; }; + 1177E26FB75995FEE6200C9D3E523A7B /* SimpleExtensionMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SimpleExtensionMap.swift; path = Sources/SwiftProtobuf/SimpleExtensionMap.swift; sourceTree = ""; }; + 11973F59D75BA4D4DA47232B0B4A92F6 /* YapDatabaseRelationshipPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipPrivate.h; path = YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipPrivate.h; sourceTree = ""; }; + 11C4BC691EEE203DC77A7694FFBDBD86 /* String + toDuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String + toDuration.swift"; path = "Sources/FeedKit/Extensions/String + toDuration.swift"; sourceTree = ""; }; + 11D1254C1F6BC9A70801A1E0E7D36897 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; + 11EBCA5CBCB23B5AC20350F88F2B6F37 /* TSMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSMessage.h; sourceTree = ""; }; + 11FFE05E66B8C87ABEC24E9AFDFFB15B /* ChainKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ChainKey.h; path = AxolotlKit/Classes/Ratchet/ChainKey.h; sourceTree = ""; }; + 1280F5F887F8945C269881FCD44AC97A /* SignalAccount.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SignalAccount.h; sourceTree = ""; }; + 12886AC7C643F7A3BF900514A55A05AB /* GCDWebServerDataRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataRequest.m; path = GCDWebServer/Requests/GCDWebServerDataRequest.m; sourceTree = ""; }; + 1292D864F1397C601231AF7BCE8A369E /* LokiSessionResetImplementation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiSessionResetImplementation.swift; sourceTree = ""; }; + 1295CC2204B2AF62422D89265386783F /* Curve25519Kit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Curve25519Kit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1296243BED93752EF37E06D1372E53F6 /* JSONDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONDecoder.swift; path = Sources/SwiftProtobuf/JSONDecoder.swift; sourceTree = ""; }; + 12CC863BB3EBE0C2127EC23D87691B9F /* AFNetworking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AFNetworking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 12D5F8BE07105924F639D4AAFDFBB3AD /* YapDatabaseAutoViewPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseAutoViewPrivate.h; path = YapDatabase/Extensions/AutoView/Internal/YapDatabaseAutoViewPrivate.h; sourceTree = ""; }; + 12F870641132F3E651BE0551CA9C631C /* NSArray+Functional.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Functional.m"; sourceTree = ""; }; + 12FD9F03298B60C2505F484AA035E9E8 /* FIRComponentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponentType.m; path = Firebase/Core/FIRComponentType.m; sourceTree = ""; }; + 131DC9E7A7C66203D3F920D0FBE1D4A0 /* OWSAnalytics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAnalytics.m; sourceTree = ""; }; + 13385081870B1D7D06F2EBC5D1758C10 /* OWSCensorshipConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSCensorshipConfiguration.m; sourceTree = ""; }; + 13422D375E914409678486F73E16696D /* NSLayoutConstraint+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+PureLayout.h"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h"; sourceTree = ""; }; + 1349391E566DD6F288E4353A58FCB800 /* YapDatabaseView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseView.m; path = YapDatabase/Extensions/View/YapDatabaseView.m; sourceTree = ""; }; + 134E5FEFE420662857079AF5CF1A85F7 /* Pods-SignalTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SignalTests.modulemap"; sourceTree = ""; }; + 13B4867D0DE6499D0B30EC65EA80BE1C /* GCDWebServerStreamedResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerStreamedResponse.m; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.m; sourceTree = ""; }; + 13F175AA5A6C4004FCE1D84D54771135 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 14301C71259D76E43CEB1C2AE737F328 /* YapDatabaseCloudKitOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudKitOptions.m; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitOptions.m; sourceTree = ""; }; + 1469F7DE72F2CE22524A4CE50A6486FD /* LokiAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiAPI.swift; sourceTree = ""; }; + 14C19EB09518EDA453493FFCEBAFC48E /* OWSBackupFragment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSBackupFragment.h; sourceTree = ""; }; + 14C9A4CB23D5E90EF398823B07ED816B /* OWSDeviceProvisioner.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDeviceProvisioner.h; sourceTree = ""; }; + 14E77180E63B408A05EFE3DE92FD37B3 /* YapManyToManyCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapManyToManyCache.h; path = YapDatabase/Extensions/CloudCore/Utilities/YapManyToManyCache.h; sourceTree = ""; }; + 150ED395F55C5D489848360DAD4672A2 /* OWSFileSystem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFileSystem.m; sourceTree = ""; }; + 153EB3A44B2F2B793F0F0F3558BEA0A0 /* GCDWebServerFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileResponse.m; path = GCDWebServer/Responses/GCDWebServerFileResponse.m; sourceTree = ""; }; + 153F5E77D09D98D546B7BA7FAC969E16 /* DDFileLogger+Buffering.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDFileLogger+Buffering.h"; path = "Classes/Extensions/DDFileLogger+Buffering.h"; sourceTree = ""; }; + 1572A29535C7C5EE5F502D8D4F45AB75 /* SignalMetadataKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SignalMetadataKit.modulemap; sourceTree = ""; }; + 157D0E1CD05E83E2B6D8082EA5E937F5 /* OWSMockSyncManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSMockSyncManager.swift; sourceTree = ""; }; + 1584B657A9B276533D9ACFD02EE677BD /* NVActivityIndicatorAnimationBallPulseRise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulseRise.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulseRise.swift; sourceTree = ""; }; + 158ED4C30B6E64505F5C50154ADDCD73 /* LokiMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiMessage.swift; sourceTree = ""; }; + 15EAF1EC54113702F786CAF05A5D500B /* SQLCipher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SQLCipher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1640778F54A3ACB97B9A835A0DC857DE /* AtomFeedCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedCategory.swift; path = Sources/FeedKit/Models/Atom/AtomFeedCategory.swift; sourceTree = ""; }; + 164F967AAFF9FE9BB091295F72612DAE /* Mantle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Mantle.h; path = Mantle/Mantle.h; sourceTree = ""; }; + 165E004EAD1D6B8FF4232C1FDDC839DF /* TimeUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TimeUtils.swift; path = Sources/SwiftProtobuf/TimeUtils.swift; sourceTree = ""; }; + 168059500696C80523313452424E89CB /* OWSProvisioningMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSProvisioningMessage.m; sourceTree = ""; }; + 16C17DC61C4394C4BD527AB7837FD174 /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; + 16CE9AC42DA2359C434A0DF951F53C51 /* AxolotlParameters.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AxolotlParameters.h; path = AxolotlKit/Classes/Ratchet/AxolotlParameters.h; sourceTree = ""; }; + 16F0AD9A63B3BEE5476D829AC3D451DA /* SSZipArchive.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SSZipArchive.modulemap; sourceTree = ""; }; + 170A746BA33B6BF0336E0EE32875F4CD /* TSInteraction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSInteraction.m; sourceTree = ""; }; + 1728A0FC264CD70CA50D0BCAD1BFD436 /* SMKCertificateValidator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKCertificateValidator.swift; path = SignalMetadataKit/src/SMKCertificateValidator.swift; sourceTree = ""; }; + 174EA129FEC799BAC0B6ADFFFB29559B /* ContactSortingTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ContactSortingTest.m; sourceTree = ""; }; + 1761BEE643636502247793A46ECA428F /* CLSStackFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSStackFrame.h; path = iOS/Crashlytics.framework/Headers/CLSStackFrame.h; sourceTree = ""; }; + 178CF8657E78AB03FB248CE3E12F1255 /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; + 179868AEF116207BB1E0EE6DD3FF920A /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; + 179C664FC333700DF942080E1B82ADB4 /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; + 17C63445F8D16A0974405AD0D6110A2F /* OWSDeviceProvisioningService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDeviceProvisioningService.h; sourceTree = ""; }; + 17EE2CC8ED8B76584E1908E8BE82942A /* SSKBaseTestSwift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSKBaseTestSwift.swift; path = SignalServiceKit/tests/SSKBaseTestSwift.swift; sourceTree = ""; }; + 1800741EAA2BBC67DC08FD87F8455FAA /* ProtoNameProviding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ProtoNameProviding.swift; path = Sources/SwiftProtobuf/ProtoNameProviding.swift; sourceTree = ""; }; + 185FA956B01621D8572B816ACCA59F80 /* AxolotlKit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AxolotlKit-Unit-Tests-prefix.pch"; sourceTree = ""; }; + 1866BE414F45B6B457664C21A6FB938C /* LokiDotNetAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiDotNetAPI.swift; sourceTree = ""; }; + 189EA662431A19470E23C76D2E2AE57A /* fe_neg.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_neg.c; path = Sources/ed25519/fe_neg.c; sourceTree = ""; }; + 18B39F3A64006A932EB40CB1824F581F /* TSInvalidIdentityKeySendingErrorMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSInvalidIdentityKeySendingErrorMessage.m; sourceTree = ""; }; + 18C82949DF50E6BBC127F12BB4545400 /* MIMETypeUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MIMETypeUtil.m; sourceTree = ""; }; + 18CD8C27C639D881E9EBB7AB8E529F6F /* ReverseDispatchQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ReverseDispatchQueue.swift; sourceTree = ""; }; + 18E665D95CE0F1764C7E6459FB12508D /* LokiPublicChatAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiPublicChatAPI.swift; sourceTree = ""; }; + 1907FB5967FD584AF2068B49A60E5E14 /* FeedKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FeedKit.xcconfig; sourceTree = ""; }; + 19A1480EE38C3CBF039CA74CA86C9617 /* YapDatabaseStatement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseStatement.h; path = YapDatabase/Internal/YapDatabaseStatement.h; sourceTree = ""; }; + 19A946077E5368CDE5720644030626B1 /* YapDatabaseActionManagerConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseActionManagerConnection.h; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerConnection.h; sourceTree = ""; }; + 19CE377719EAD85764DDB0AD135DA76D /* JSONDecodingOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONDecodingOptions.swift; path = Sources/SwiftProtobuf/JSONDecodingOptions.swift; sourceTree = ""; }; + 1A15B68F9DA15AA3B5AE6584FE74EF0B /* SignalMetadataKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalMetadataKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1A3172B2A1B9DBEB85A90045E539D71A /* TypingIndicatorMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TypingIndicatorMessage.swift; sourceTree = ""; }; + 1A4DA574654B8A4420D4DA5DD19F17FA /* BinaryDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDecoder.swift; path = Sources/SwiftProtobuf/BinaryDecoder.swift; sourceTree = ""; }; + 1A53BE3FF10407D395433F71F8C6E2AA /* YapDatabaseCloudCoreOperationPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreOperationPrivate.h; path = YapDatabase/Extensions/CloudCore/Internal/YapDatabaseCloudCoreOperationPrivate.h; sourceTree = ""; }; + 1AB93A86B6942A1440213150C6CCED47 /* HKDFKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HKDFKit.h; path = HKDFKit/HKDFKit/HKDFKit.h; sourceTree = ""; }; + 1AF46DFDF0E832BB66EEA540EFFC56AD /* OWSMediaGalleryFinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMediaGalleryFinder.m; sourceTree = ""; }; + 1AF5ED0B1B203E32AC6D5187A96BB55F /* YapDatabaseSearchResultsViewPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchResultsViewPrivate.h; path = YapDatabase/Extensions/SearchResultsView/Internal/YapDatabaseSearchResultsViewPrivate.h; sourceTree = ""; }; + 1B1FFB8219B2E3D9B0355A2BA45CCF4A /* MediaRating.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaRating.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaRating.swift; sourceTree = ""; }; + 1B2317847B81618C305046627261352C /* NSDictionary+YapDatabase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+YapDatabase.m"; path = "YapDatabase/Internal/NSDictionary+YapDatabase.m"; sourceTree = ""; }; + 1B6F18AD07A6AE0A18DD23638D0F9C5D /* NSArray+MTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MTLManipulationAdditions.h"; path = "Mantle/NSArray+MTLManipulationAdditions.h"; sourceTree = ""; }; + 1B799138B7DE86D6A6F644A869EF3A7D /* SessionBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionBuilder.m; path = AxolotlKit/Classes/Sessions/SessionBuilder.m; sourceTree = ""; }; + 1B7E34B3736162AC9F0536E03757BBA9 /* OWSFingerprint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFingerprint.m; sourceTree = ""; }; + 1BA0F08B7AB69E295E331EB795C8D28B /* YapDatabase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YapDatabase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1BCA28A93E0D511657E73CE163C89049 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; + 1BD0EA6C2E58458F660BDE9A915EA136 /* NSSet+Functional.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSSet+Functional.m"; sourceTree = ""; }; + 1C59DCDEBE453EA38C546A0F5B4B4A55 /* OWSStorage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSStorage.m; sourceTree = ""; }; + 1C5EFBE3E4E80A2E81B03833B7728528 /* ge_p3_to_p2.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p3_to_p2.c; path = Sources/ed25519/ge_p3_to_p2.c; sourceTree = ""; }; + 1C7CA293774E8AD6D5DFCF29589E09B5 /* DDFileLogger+Buffering.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "DDFileLogger+Buffering.m"; path = "Classes/Extensions/DDFileLogger+Buffering.m"; sourceTree = ""; }; + 1C817572D9210C39D540E2BF36A21483 /* YapDatabaseCloudCoreOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCoreOperation.m; path = YapDatabase/Extensions/CloudCore/Utilities/Operations/YapDatabaseCloudCoreOperation.m; sourceTree = ""; }; + 1C8EE178F54A48DC6BF72B2CD6D9B64B /* AxolotlKit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "AxolotlKit-Unit-Tests"; path = "AxolotlKit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 1C9D41C5F09C861DE9E11FAEEF2A1DAD /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; + 1CD94E876F6BA26D1541ED65EAC4851C /* Pods-Signal-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Signal-umbrella.h"; sourceTree = ""; }; + 1CDB804424F1E3BE31ECD4BB1F6EA3F7 /* CLIColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CLIColor.m; path = Classes/CLI/CLIColor.m; sourceTree = ""; }; + 1CE67C7B9D0FFF920780E481CBF0A406 /* YapDatabaseFullTextSearch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearch.h; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.h; sourceTree = ""; }; + 1D13CD39F588835309C27C1B959671F5 /* OWSAddToContactsOfferMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSAddToContactsOfferMessage.h; sourceTree = ""; }; + 1D9EDCC3B2663831208DA023513E846A /* crypto_hash_sha512.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_hash_sha512.h; path = Sources/ed25519/additions/crypto_hash_sha512.h; sourceTree = ""; }; + 1DA23EDC8712761BD88E266E4FD8A0AB /* YapDatabaseSecondaryIndexTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndexTransaction.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.m; sourceTree = ""; }; + 1E319C13705B3CFE38AABCDF13A80D28 /* ProtoUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ProtoUtils.h; sourceTree = ""; }; + 1E3C6334E5EEB4C48CCA1795D430F426 /* TSAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSAttachment.h; sourceTree = ""; }; + 1E45ADFD1C834E0ED16F7894C1D93653 /* SAMKeychain-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SAMKeychain-dummy.m"; sourceTree = ""; }; + 1E60D50A2DCA633E7FFBDA18E22A36F4 /* FIRComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponent.h; path = Firebase/Core/Private/FIRComponent.h; sourceTree = ""; }; + 1E7738548C29F7A899098BBA1ACAF3D7 /* SPK-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SPK-Bridging-Header.h"; path = "AxolotlKit/Classes/SPK-Bridging-Header.h"; sourceTree = ""; }; + 1E93B8784C588ECEFD6457703D0BEA5A /* Reachability.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Reachability.xcconfig; sourceTree = ""; }; + 1EEEB35CD60FEE88B4F40F0AF6843451 /* Pods-SignalShareExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalShareExtension.release.xcconfig"; sourceTree = ""; }; + 1FBE3EF558C27DF28155A7248AF95264 /* CocoaLumberjack-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CocoaLumberjack-dummy.m"; sourceTree = ""; }; + 2017325EAD2700A2B59EEDB5BA241519 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 204E91944611D2B2DD713057F0C130E2 /* sc_muladd.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = sc_muladd.c; path = Sources/ed25519/sc_muladd.c; sourceTree = ""; }; + 205D440D235770F6D760CAE06E295F7A /* YapDatabaseHooks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseHooks.m; path = YapDatabase/Extensions/Hooks/YapDatabaseHooks.m; sourceTree = ""; }; + 20D7DB6445C1DFF10CECCA7F0F2325D7 /* YapDatabaseCloudKitConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKitConnection.h; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitConnection.h; sourceTree = ""; }; + 20F55BE40B936FA42EEF290FF7DAB0BB /* OWSOutgoingSyncMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOutgoingSyncMessage.h; sourceTree = ""; }; + 211E40979351E7DB2B8D44443C3D61E8 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; + 21497A7A21AD5E018470597BEAD0B7E1 /* OWSDeviceProvisioningService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceProvisioningService.m; sourceTree = ""; }; + 2151D79B742394CF8520FC1E430F66CF /* MTLValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLValueTransformer.m; path = Mantle/MTLValueTransformer.m; sourceTree = ""; }; + 215D0E6E4C29E64C94FDDE0F5D086053 /* AtomFeed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeed.swift; path = Sources/FeedKit/Models/Atom/AtomFeed.swift; sourceTree = ""; }; + 216A35F644E9E3DB7E0A9C54C67A6212 /* IdentityKeyStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IdentityKeyStore.h; path = AxolotlKit/Classes/State/IdentityKeyStore.h; sourceTree = ""; }; + 219C80C5FD410C6674EE86E239287AFD /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; + 21ADCF3F1D4616CAE9DC574A57913EBD /* JobQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JobQueue.swift; sourceTree = ""; }; + 2208BB513951C7884BA9B43744FB605C /* NotificationsProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = NotificationsProtocol.h; sourceTree = ""; }; + 223C155B1760CD69D27970C750611DEA /* TSContactThread.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSContactThread.m; sourceTree = ""; }; + 2262E3DA8EDEE2A11034D836FEE961A5 /* YapDatabaseHooks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseHooks.h; path = YapDatabase/Extensions/Hooks/YapDatabaseHooks.h; sourceTree = ""; }; + 2263ADFFA9544649FFEC23FC22A89CFF /* OWSMessageDecrypter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageDecrypter.m; sourceTree = ""; }; + 226C23597E88B5DDAE6BA5C687B9E3CA /* GCDWebServerDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataResponse.h; path = GCDWebServer/Responses/GCDWebServerDataResponse.h; sourceTree = ""; }; + 2270D96B6E36FCE2A6EFA268F5700FFA /* NSData+keyVersionByte.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+keyVersionByte.m"; path = "AxolotlKit/Classes/Utility/NSData+keyVersionByte.m"; sourceTree = ""; }; + 2270E652A8DBB3758BB2032C9968687E /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; + 22C19D06F62D6C5E8E820F564CD4FA8D /* Pods-Signal-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Signal-acknowledgements.markdown"; sourceTree = ""; }; + 22DCC1A5FDD7F455CB18E38C9E584C63 /* UIImage+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+OWS.m"; sourceTree = ""; }; + 23230A5D512AC2F7E6CFDD07B97CD3FB /* TSNetworkManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSNetworkManager.m; sourceTree = ""; }; + 232A497FD9E833285108A64004FB6B1C /* SMKServerCertificate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKServerCertificate.swift; path = SignalMetadataKit/src/SMKServerCertificate.swift; sourceTree = ""; }; + 2356CDC4BC7C2C8FFD3CB1113A0AFA87 /* Pods-Signal.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Signal.debug.xcconfig"; sourceTree = ""; }; + 2365DE0A7EE66A7F03D9E483EB4B5899 /* ByteParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ByteParser.m; sourceTree = ""; }; + 2383CF316B15E6B8EACAE911A4009579 /* YapActionItemPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapActionItemPrivate.h; path = YapDatabase/Extensions/ActionManager/Internal/YapActionItemPrivate.h; sourceTree = ""; }; + 23D4DEACB6A935D4A4182195E4C3BE8A /* Threading.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Threading.h; path = SignalCoreKit/src/Threading.h; sourceTree = ""; }; + 242F944EEC4D29DC5856EB4728422E02 /* PhoneNumberUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PhoneNumberUtil.h; sourceTree = ""; }; + 243B6EC4FF144BF14CF12FF1D54B30F2 /* YDBCKChangeSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKChangeSet.h; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKChangeSet.h; sourceTree = ""; }; + 245EF8B19940B69B77E3995DAFC93F61 /* Pods-SignalShareExtension-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SignalShareExtension-umbrella.h"; sourceTree = ""; }; + 247F06D052DBC39C3C798957AEF64046 /* TSOutgoingMessageTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSOutgoingMessageTest.m; sourceTree = ""; }; + 249F542EEA55010AD9F32F0FABC9C1DE /* wrappers.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = wrappers.pb.swift; path = Sources/SwiftProtobuf/wrappers.pb.swift; sourceTree = ""; }; + 24A824614E87F6AF30DC6BBEA18ECC20 /* YapDatabaseCloudKitTypes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudKitTypes.m; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTypes.m; sourceTree = ""; }; + 25298C3DD02FE536BB1FB0F67D2235A0 /* OWSReceiptsForSenderMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSReceiptsForSenderMessage.h; sourceTree = ""; }; + 2536C79BDC5741265205ABA221F70941 /* YDBCKMappingTableInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKMappingTableInfo.m; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKMappingTableInfo.m; sourceTree = ""; }; + 2590271BBE9F51A450392B14AA42E559 /* Curve25519Kit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Curve25519Kit-Unit-Tests-Info.plist"; sourceTree = ""; }; + 259C1F02CB0C7955F51F7A16BE226180 /* Google_Protobuf_Wrappers+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Wrappers+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Wrappers+Extensions.swift"; sourceTree = ""; }; + 25A45352D1475FC650A29CD5F7A84613 /* FirebaseCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FirebaseCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 25AE8FD32A6D2D0EF34DA6A743CD9363 /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; + 25B78976E3034421E706E1B0BDD30B72 /* Reachability-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-umbrella.h"; sourceTree = ""; }; + 25E4888B12290DE783522EAC56C29382 /* curve_sigs.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = curve_sigs.c; path = Sources/ed25519/additions/curve_sigs.c; sourceTree = ""; }; + 260D592B8C0D827C77189745E92182BA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 262C23EB0CE9B302905F326A590B9851 /* DDLoggerNames.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLoggerNames.h; path = Classes/DDLoggerNames.h; sourceTree = ""; }; + 265419D1308755F3017CAD9BCA44C3B1 /* SSKJobRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SSKJobRecord.h; sourceTree = ""; }; + 2677D86CFCB10440BD24F431D02C841F /* LRUCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LRUCache.swift; sourceTree = ""; }; + 267AB5DAD6942D1FC2AA0850A6A2EFA4 /* Curve25519Kit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Curve25519Kit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; + 26CEBFA2C0698641CBB53F4FA6F2DE39 /* TextFormatDecodingError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatDecodingError.swift; path = Sources/SwiftProtobuf/TextFormatDecodingError.swift; sourceTree = ""; }; + 26CFE6B2F67A36A13F020B5DC1A69CF2 /* Pods-SignalMessaging.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SignalMessaging.modulemap"; sourceTree = ""; }; + 26F20124733FD1B6ABDA1F09CAE3AD9A /* mz_os.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_os.h; path = SSZipArchive/minizip/mz_os.h; sourceTree = ""; }; + 273A9CC5B40D837E9CBF7E90EB3A048D /* NBPhoneNumberDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBPhoneNumberDefines.h; path = libPhoneNumber/NBPhoneNumberDefines.h; sourceTree = ""; }; + 276B371A6ECA9BE71CF7D3B0BEE5638C /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; + 278F9D5ABC669D3783DF4D2B2257AAF9 /* Logger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logger.swift; path = SignalCoreKit/src/Logger.swift; sourceTree = ""; }; + 2799D19990FEF24A6A17B89446367E11 /* NVActivityIndicatorAnimationPacman.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationPacman.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationPacman.swift; sourceTree = ""; }; + 27B3EE34ADE8BA4A7E716121B84E18EC /* d2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = d2.h; path = Sources/ed25519/d2.h; sourceTree = ""; }; + 27D91BBFC44796CB908E6711D0CED2CE /* SignalCoreKit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalCoreKit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; + 27F733753F2A4CBC4A99912A3EEB713F /* NSValueTransformer+MTLInversionAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+MTLInversionAdditions.m"; path = "Mantle/NSValueTransformer+MTLInversionAdditions.m"; sourceTree = ""; }; + 28327AAB94759E77CCEE71DD4BF07C0C /* OWSOutgoingReceiptManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOutgoingReceiptManager.h; sourceTree = ""; }; + 283F732AD9513FAEC86FF43EB6C151C0 /* HKDFKitTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HKDFKitTests.m; path = HKDFKit/HKDFKitTests/HKDFKitTests.m; sourceTree = ""; }; + 286A9D573E77C364DB4E4AD64A3D402C /* PureLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PureLayout-dummy.m"; sourceTree = ""; }; + 287DC144F0F8E03369C85C7B16796656 /* NSData+Image.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSData+Image.m"; sourceTree = ""; }; + 289CC5EFC13A589A12BF6C27871CC23A /* YapDatabaseConnectionState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseConnectionState.m; path = YapDatabase/Internal/YapDatabaseConnectionState.m; sourceTree = ""; }; + 28A5EEBBC8AE352D8C8F4F5DF2FA826F /* libPhoneNumber_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libPhoneNumber_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 28B77E3F43B4B4DDBE9311F4C56509C0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 2904B1083493AD46253B270872F72401 /* YapDatabaseExtensionPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseExtensionPrivate.h; path = YapDatabase/Extensions/Protocol/Internal/YapDatabaseExtensionPrivate.h; sourceTree = ""; }; + 291555A7D25244E35EB9F6BF688BD622 /* OWS2FAManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWS2FAManager.h; sourceTree = ""; }; + 2946E479A6EF5918D0F41367CBD81E5A /* any.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = any.pb.swift; path = Sources/SwiftProtobuf/any.pb.swift; sourceTree = ""; }; + 294AA8F7A8B6CD723F5DF51D4DECF403 /* LKSyncOpenGroupsMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKSyncOpenGroupsMessage.m; sourceTree = ""; }; + 2967EC5266C77E86793EC6D54FDA38BC /* Randomness.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Randomness.h; path = SignalCoreKit/src/Randomness.h; sourceTree = ""; }; + 296FBEF90F7CBE2281B8919C8E534448 /* OWSFingerprintBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFingerprintBuilder.h; sourceTree = ""; }; + 29A1D35CFC36ACD74526136A1A38A723 /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; + 29A2B795E02FB8DCE7C3C84CBFE3E027 /* Pods-Signal-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Signal-resources.sh"; sourceTree = ""; }; + 29B87040B8E0636CB674C20543EDC02C /* SignalMetadataKit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SignalMetadataKit-Unit-Tests-Info.plist"; sourceTree = ""; }; + 29E279E5874831504FAF52A4C638D4BE /* SignalMetadataKit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalMetadataKit.unit.xcconfig; sourceTree = ""; }; + 2A38586F9EEC691600949DEFDB359792 /* WebSocketResources.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebSocketResources.pb.swift; sourceTree = ""; }; + 2A4E108633FC5CD2BA4FC13F2CFF022D /* ge_p3_tobytes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p3_tobytes.c; path = Sources/ed25519/ge_p3_tobytes.c; sourceTree = ""; }; + 2A51AA0D4730EE07D597A47A75F19324 /* OWSFakeCallMessageHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFakeCallMessageHandler.h; sourceTree = ""; }; + 2A68FA375AD93D49BE13B96C4898F01F /* YapBidirectionalCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapBidirectionalCache.m; path = YapDatabase/Utilities/YapBidirectionalCache.m; sourceTree = ""; }; + 2A8E3C7688E3FDE147D4A2FF3495C6A7 /* YapDatabaseAutoView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseAutoView.h; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoView.h; sourceTree = ""; }; + 2A929DFA0E7F0775B8A7611E92E627F9 /* ALView+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ALView+PureLayout.h"; path = "PureLayout/PureLayout/ALView+PureLayout.h"; sourceTree = ""; }; + 2A9CC6B24BBD99A6BF6B24F332927961 /* YYSpriteSheetImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYSpriteSheetImage.m; path = YYImage/YYSpriteSheetImage.m; sourceTree = ""; }; + 2ABB27C02B931C54002635D9CA701850 /* Data+SMKTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+SMKTests.swift"; path = "SignalMetadataKitTests/src/Data+SMKTests.swift"; sourceTree = ""; }; + 2AC7265B11FC236A8C7E2F44EE586610 /* YapDatabase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YapDatabase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2AE8F310B91F3681C03A3FC3994C33D3 /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; + 2AEAA52FCB01D3CFE2AAE0ABC9F85D12 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 2AF0DF7DEA6DD32292AA0F48D8CA4850 /* SignalServiceKit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalServiceKit-Unit-Tests-resources.sh"; sourceTree = ""; }; + 2B64B75A3AC7A1E982C17001781BF67C /* NVActivityIndicatorAnimationSquareSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationSquareSpin.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationSquareSpin.swift; sourceTree = ""; }; + 2BC1ECEA93BBDC44E0A2778CDA9B55B3 /* YYImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YYImage-dummy.m"; sourceTree = ""; }; + 2BC2CB1633061CBB08AFBFC438663BF2 /* OWSCountryMetadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSCountryMetadata.m; sourceTree = ""; }; + 2BD8483E6DEEF3E014011BA66A1A25F0 /* OWSUnknownContactBlockOfferMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSUnknownContactBlockOfferMessage.m; sourceTree = ""; }; + 2BDE77E606842DF8A2F0E4A89F75F3EC /* SMKUnidentifiedSenderMessageContent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKUnidentifiedSenderMessageContent.swift; path = SignalMetadataKit/src/SMKUnidentifiedSenderMessageContent.swift; sourceTree = ""; }; + 2BE27C2E060827B90881CB602B94E18F /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; + 2BF1E99E4125C948473E47E863FA5AD2 /* OWSVerificationStateChangeMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSVerificationStateChangeMessage.m; sourceTree = ""; }; + 2BF3FB13444787EC98C8E400757EF19B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 2BFFB1843A73191039C47E4C93D02D37 /* YapDatabaseViewPage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewPage.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewPage.h; sourceTree = ""; }; + 2C049B1C0BDA7EAAAEA890762C074379 /* OWSMediaUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSMediaUtils.swift; sourceTree = ""; }; + 2C3267C50B05C137236CF2ED1481076D /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; + 2C36BE3F884D5BB6AE82E4713F049251 /* OWSUDManagerTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSUDManagerTest.swift; sourceTree = ""; }; + 2C3CA895A94F4BD23EE38CB2B1EBC9F1 /* sign.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = sign.c; path = Sources/ed25519/sign.c; sourceTree = ""; }; + 2C41C57793309768E813EA0E56E72D15 /* NSObject+Casting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSObject+Casting.h"; sourceTree = ""; }; + 2C7EF317332C1CBF0442113D31E76552 /* LokiFriendRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LokiFriendRequestMessage.m; path = AxolotlKit/Classes/CipherMessage/LokiFriendRequestMessage.m; sourceTree = ""; }; + 2CF76CAC0AAA2ADDBE6FBAF73A4B2C03 /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; + 2D1E79F392E9E2F17A2DEE59CFB52142 /* Pods_SignalMessaging.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SignalMessaging.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2D2A12A6EDD373F568AC5493F37CFDA3 /* TextFormatEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatEncoder.swift; path = Sources/SwiftProtobuf/TextFormatEncoder.swift; sourceTree = ""; }; + 2D378D4BEF7DBF547F2F795A15607108 /* OWSOutgoingSentMessageTranscript.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOutgoingSentMessageTranscript.h; sourceTree = ""; }; + 2D59BB36DFFB0D7C1D9FDD29B9A83DB3 /* mz_zip_rw.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_zip_rw.h; path = SSZipArchive/minizip/mz_zip_rw.h; sourceTree = ""; }; + 2D9930483CF467092B3937C5DF55A0E8 /* YYFrameImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYFrameImage.h; path = YYImage/YYFrameImage.h; sourceTree = ""; }; + 2DA968F029BB54FFAE8D3BF08CACB774 /* OWSFingerprint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFingerprint.h; sourceTree = ""; }; + 2DAF770772B108D66EB6822F6F7184AD /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; + 2DCEBB73D15EAD178A1341CCA5BA8B51 /* PreKeyWhisperMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PreKeyWhisperMessage.m; path = AxolotlKit/Classes/CipherMessage/PreKeyWhisperMessage.m; sourceTree = ""; }; + 2E0A088DA173B4B4B5FEBB43F3CE4B8A /* GCDWebServerHTTPStatusCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerHTTPStatusCodes.h; path = GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h; sourceTree = ""; }; + 2E0C7EC764F6989C068EC909C0FC9CEA /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; + 2E128CC0FBA3C5BB81648E680AE95C84 /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; + 2E416321D32E0D2FDD949959E8C8C85C /* GCDWebServerFileRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileRequest.h; path = GCDWebServer/Requests/GCDWebServerFileRequest.h; sourceTree = ""; }; + 2E4EE0771D7B119CC3B4DAB5733BE6FD /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; + 2EC2060B048F8FC8F112C33409D0FE6B /* FeedKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FeedKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2EC86B4A94B8B72EDF16E0DACB093FAF /* AtomFeed + mapCharacters.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AtomFeed + mapCharacters.swift"; path = "Sources/FeedKit/Models/Atom/AtomFeed + mapCharacters.swift"; sourceTree = ""; }; + 2ED93D815BE4A4D434549E91226EAAF6 /* YapMutationStack.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapMutationStack.m; path = YapDatabase/Utilities/YapMutationStack.m; sourceTree = ""; }; + 2EED2F340B286A537AD481D5B886CA53 /* OWSMessageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageManager.m; sourceTree = ""; }; + 2EEEE3B7FBE8AB5DFE9F941BDDAC30EE /* Curve25519Kit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Curve25519Kit-umbrella.h"; sourceTree = ""; }; + 2F332BA0AD8894CF18ED624687F52E48 /* ge_add.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_add.c; path = Sources/ed25519/ge_add.c; sourceTree = ""; }; + 2F4863F02450E809DB5DABF23DE85AA2 /* NSError+MessageSending.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSError+MessageSending.m"; sourceTree = ""; }; + 2F675B4526A4B0983D34CA2AFAC2E9DE /* OWSBlockedPhoneNumbersMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSBlockedPhoneNumbersMessage.m; sourceTree = ""; }; + 2F979C376CA4C58351EB7B509BC484BB /* YapDatabaseAutoViewConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseAutoViewConnection.m; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoViewConnection.m; sourceTree = ""; }; + 2FB489D0372DD344A9A65E798CD76989 /* UnknownStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UnknownStorage.swift; path = Sources/SwiftProtobuf/UnknownStorage.swift; sourceTree = ""; }; + 2FC45DF24F44D2E0B71BF56F3DC66E8F /* OWSMessageHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageHandler.m; sourceTree = ""; }; + 30938CC3B1DEF079BDF49A7F242CC26C /* GoogleUtilities-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GoogleUtilities-prefix.pch"; sourceTree = ""; }; + 30A7E04E241B26E68D29F05871A36A12 /* AnyMessageStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyMessageStorage.swift; path = Sources/SwiftProtobuf/AnyMessageStorage.swift; sourceTree = ""; }; + 30B6581797D0C7C81702731B5BED0790 /* FIRConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRConfiguration.h; path = Firebase/Core/Public/FIRConfiguration.h; sourceTree = ""; }; + 30DB369BDD24424EB6A54130F5095BDA /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; + 30E8CFB70FA69A7AA2C2FDFB954E6605 /* DDLog+LOGV.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDLog+LOGV.h"; path = "Classes/DDLog+LOGV.h"; sourceTree = ""; }; + 30F1063D0184D995737782EE4A9073E0 /* OWSEndSessionMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSEndSessionMessage.m; sourceTree = ""; }; + 3102FBE5539D60278E099124D74E1EA3 /* CDSQuote.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CDSQuote.m; sourceTree = ""; }; + 3109E8652676AF051606EFA3FD7CC282 /* WireFormat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WireFormat.swift; path = Sources/SwiftProtobuf/WireFormat.swift; sourceTree = ""; }; + 31229205E824CFACD90FFA5916CE53CC /* OWSMessageServiceParams.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageServiceParams.m; sourceTree = ""; }; + 312A1B1B9476919664FB0B61CEEA8D96 /* LKEphemeralMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKEphemeralMessage.h; sourceTree = ""; }; + 3148D19EE00A9B9749EF1F21BEB4FA41 /* PreKeyBundle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PreKeyBundle.h; path = AxolotlKit/Classes/Prekeys/PreKeyBundle.h; sourceTree = ""; }; + 3176E82FC687397A72FF544991700885 /* YapActionItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapActionItem.h; path = YapDatabase/Extensions/ActionManager/YapActionItem.h; sourceTree = ""; }; + 3195DB9F465EE2D8BCF2525A93069AFC /* YapDatabaseCloudCoreGraph.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreGraph.h; path = YapDatabase/Extensions/CloudCore/Utilities/Execution/YapDatabaseCloudCoreGraph.h; sourceTree = ""; }; + 31A4F5F3371B1909526ACC36ED4C9F88 /* OWSContactsOutputStream.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSContactsOutputStream.m; sourceTree = ""; }; + 31D58CB83A778356D13C8A96F04FCE06 /* Pods-SignalShareExtension-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SignalShareExtension-dummy.m"; sourceTree = ""; }; + 31EA6DDD899D36FD0110A5A3C9F33646 /* YapDatabaseViewConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewConnection.m; path = YapDatabase/Extensions/View/YapDatabaseViewConnection.m; sourceTree = ""; }; + 31F4F171300977307628C5D618D76679 /* FIRErrorCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRErrorCode.h; path = Firebase/Core/Private/FIRErrorCode.h; sourceTree = ""; }; + 322C59A5706F52DFEDB29272AC37867B /* GCDWebServerErrorResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerErrorResponse.m; path = GCDWebServer/Responses/GCDWebServerErrorResponse.m; sourceTree = ""; }; + 32846321BF06BC2A8EEF822794DC640F /* Curve25519Kit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Curve25519Kit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 32903ADA5009F2550323FD223B9FB852 /* FirebaseCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FirebaseCore.modulemap; sourceTree = ""; }; + 329E75346572A22B19D7C2DED3BD219F /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; + 329ED33B1D6C1F1BCD6A9050315302C8 /* AFNetworking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AFNetworking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 32A460B369D9E56F2F6A23A9E5C5D157 /* NVActivityIndicatorPresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorPresenter.swift; path = Source/NVActivityIndicatorView/Presenter/NVActivityIndicatorPresenter.swift; sourceTree = ""; }; + 32CC7F56156032ED5990915E2C1346D0 /* WebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = Sources/Starscream/WebSocket.swift; sourceTree = ""; }; + 32DEA237D4CAD4AF5228622B070FC76D /* SSZipArchive-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SSZipArchive-umbrella.h"; sourceTree = ""; }; + 3321C6CC65BCD94467261D9DD21F148C /* OWSProvisioningMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSProvisioningMessage.h; sourceTree = ""; }; + 33340CDCEC682C7CE57162FB9427781D /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3359DBFA198C667B65DFC82DF392F765 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; + 337F0BF35EBD313317AFDDAD76FFA9F7 /* NSData+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+OWS.m"; path = "SignalCoreKit/src/NSData+OWS.m"; sourceTree = ""; }; + 3390EC66F41A16310C2AF66B7647DD80 /* SignalServiceKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SignalServiceKit-dummy.m"; sourceTree = ""; }; + 33977B47070EF355AC43B7CC71AD486C /* MediaRestriction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaRestriction.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaRestriction.swift; sourceTree = ""; }; + 33A332B5E31448BE2F447F8827F99973 /* JSONFeedParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeedParser.swift; path = Sources/FeedKit/Parser/JSONFeedParser.swift; sourceTree = ""; }; + 33BB5F475CD2947B39B81646B2E0F48B /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; + 33BF004C0FBAF3FBD1F5A37C16875EBD /* MediaStarRating.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaStarRating.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaStarRating.swift; sourceTree = ""; }; + 340902E0FB6E101430113192D23D7064 /* GTSR4.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GTSR4.crt; sourceTree = ""; }; + 345C80B25641E86DA4E7018ACE906C24 /* LokiLongPoller.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiLongPoller.swift; sourceTree = ""; }; + 347F209B53DA94B0D98643C8C30AEFAD /* MTLReflection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLReflection.h; path = Mantle/MTLReflection.h; sourceTree = ""; }; + 34A5BE86471801C671874C6259EC2464 /* FIROptionsInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIROptionsInternal.h; path = Firebase/Core/Private/FIROptionsInternal.h; sourceTree = ""; }; + 34A7647FF725F0FABF71A8AF21E60EB6 /* ReceivingChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ReceivingChain.h; path = AxolotlKit/Classes/Ratchet/ReceivingChain.h; sourceTree = ""; }; + 34EF65F937971B69BBE48AB174CF0FA8 /* NSDate+YapDatabase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+YapDatabase.h"; path = "YapDatabase/Internal/NSDate+YapDatabase.h"; sourceTree = ""; }; + 35098B4FADC45D3D99CC837FC0879A81 /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; + 352997CE865E67BE6B274C24049281A2 /* ECKeyPair+ECKeyPairTesting.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ECKeyPair+ECKeyPairTesting.m"; path = "AxolotlKitTests/Util/ECKeyPair+ECKeyPairTesting.m"; sourceTree = ""; }; + 352A4F0492EDA2B34A3C533A8257CE72 /* YapDatabaseRelationshipTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipTransaction.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.h; sourceTree = ""; }; + 35342D7C1586A1173062241A97C69CEC /* SSKWebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SSKWebSocket.swift; sourceTree = ""; }; + 35785B80A62A04DD5F9BD1675F12B0EC /* CocoaLumberjack.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CocoaLumberjack.h; path = Classes/CocoaLumberjack.h; sourceTree = ""; }; + 357F87903640BF0318263DD1308B8E2B /* YapDatabaseFullTextSearchHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearchHandler.h; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchHandler.h; sourceTree = ""; }; + 358A59D73CBD27A8C8DAAFD0D923D977 /* SwiftProtobuf.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftProtobuf.xcconfig; sourceTree = ""; }; + 35C36906CB01F12DCFC2781364F13F01 /* OWSAsserts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OWSAsserts.h; path = SignalCoreKit/src/OWSAsserts.h; sourceTree = ""; }; + 35C39B479A0DEADE7F78A2169D5757C2 /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; + 35F909904E02E27179D2A2FC9BE3C83E /* Curve25519Kit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Curve25519Kit-Unit-Tests-resources.sh"; sourceTree = ""; }; + 360DAEF81DEE8A0FF49D0E3E1787A2D2 /* mz_zip_rw.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_zip_rw.c; path = SSZipArchive/minizip/mz_zip_rw.c; sourceTree = ""; }; + 36345E864499CC888023D252B13BFA3F /* DDOSLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDOSLogger.m; path = Classes/DDOSLogger.m; sourceTree = ""; }; + 3638EC025552CA5E7328F7E1F79F504D /* RatchetingSession.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RatchetingSession.h; path = AxolotlKit/Classes/Ratchet/RatchetingSession.h; sourceTree = ""; }; + 365436A07B03905A7F78C595B94B0741 /* String+OWS.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+OWS.swift"; path = "SignalCoreKit/src/String+OWS.swift"; sourceTree = ""; }; + 3671B0076EE881EFACA93B6D27CC6EEC /* GroupUtilities.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GroupUtilities.swift; sourceTree = ""; }; + 36800AB718E03A93CF361EE118E04ED1 /* NVActivityIndicatorAnimationDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationDelegate.swift; path = Source/NVActivityIndicatorView/NVActivityIndicatorAnimationDelegate.swift; sourceTree = ""; }; + 368CE05FE2A7A27DF74857350E4EE1AC /* FIROptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIROptions.m; path = Firebase/Core/FIROptions.m; sourceTree = ""; }; + 36A8D39D9729071530327DC786D6A0CD /* NSObject+Casting.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSObject+Casting.m"; sourceTree = ""; }; + 36C835397379699F8A4CD643AA47AA52 /* OWSLinkPreviewTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSLinkPreviewTest.swift; sourceTree = ""; }; + 3719C08ECCEFFD9D30E50E53213A8EC6 /* FIRComponentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentType.h; path = Firebase/Core/Private/FIRComponentType.h; sourceTree = ""; }; + 37312AAB7CFA4362B06A9E89E6FF3ED2 /* NVActivityIndicatorAnimationCircleStrokeSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationCircleStrokeSpin.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationCircleStrokeSpin.swift; sourceTree = ""; }; + 3753F08A00EBD4F0D92BA8B87CEDA8D4 /* LKDeviceLinkMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKDeviceLinkMessage.m; sourceTree = ""; }; + 37B4380AB0B3F4A05FA22F178DA672B3 /* YapDatabaseSecondaryIndexConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndexConnection.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.m; sourceTree = ""; }; + 37B92A263F880F81AF07B1D4701F8FAD /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; + 37E757F0A2F7EBD3D2DEE036D3269CA5 /* LKGroupUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKGroupUtilities.h; sourceTree = ""; }; + 37EBEAFB54C877806394E385523A4EDC /* LokiFileServerProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiFileServerProxy.swift; sourceTree = ""; }; + 37F55EB45CD5E04CA77BD54817FB6515 /* YapDatabaseCloudKit.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudKit.m; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKit.m; sourceTree = ""; }; + 381B5AB04DE04E41DA83486E8BAFBEC2 /* OWSContact+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSContact+Private.h"; sourceTree = ""; }; + 38524CE5A5BBC8D78B6BFAD8F8E705B1 /* YapDatabaseRelationship.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationship.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationship.h; sourceTree = ""; }; + 38659336A9AE170029E5B948F912408C /* yap_vfs_shim.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = yap_vfs_shim.m; path = YapDatabase/Internal/yap_vfs_shim.m; sourceTree = ""; }; + 386AADE491F9E1C2357F5C5B9D6EF206 /* StringUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringUtils.swift; path = Sources/SwiftProtobuf/StringUtils.swift; sourceTree = ""; }; + 3889D3E8C755D0D2E9FFBB4E3B00FC93 /* PhoneNumberUtilTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PhoneNumberUtilTest.m; sourceTree = ""; }; + 388F5C7FAF550336EE733CDA695DC590 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; + 388FB5ECCCDAFEE9EC3586EA344DBEC8 /* WhisperTextProtocol.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WhisperTextProtocol.pb.swift; path = AxolotlKit/Classes/Protos/WhisperTextProtocol.pb.swift; sourceTree = ""; }; + 38938B3A1695AAC5C40E43B8061663A5 /* mz_strm.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm.c; path = SSZipArchive/minizip/mz_strm.c; sourceTree = ""; }; + 38AFAABE95F5BD3C2293A4343A40C45C /* portuguese.txt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = portuguese.txt; sourceTree = ""; }; + 38CE760FDC7F7C877A8B5D07F3251BD7 /* fe_tobytes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_tobytes.c; path = Sources/ed25519/fe_tobytes.c; sourceTree = ""; }; + 38FAFAB43DC587E9EA73922A85C0FEA9 /* AxolotlKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AxolotlKit-dummy.m"; sourceTree = ""; }; + 3922113C362CD636BE5C495D5DBE0B13 /* NSString+SSK.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+SSK.m"; sourceTree = ""; }; + 39400421C76DE69F4C1E40AF191EDB03 /* MockSSKEnvironment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MockSSKEnvironment.m; sourceTree = ""; }; + 39723C03B57992A242119D53F3CFCD49 /* OWSAnalyticsEvents.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAnalyticsEvents.m; sourceTree = ""; }; + 39898C52C56BE2393B9B8E0CA9F32A29 /* SignalServiceKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalServiceKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 39BFD061125DB6399FB27D5BB643DD1F /* Pods-SignalShareExtension-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SignalShareExtension-acknowledgements.markdown"; sourceTree = ""; }; + 3A288CCA5013D44C5C1C6F345D16FED8 /* GeneralUtilities.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GeneralUtilities.swift; sourceTree = ""; }; + 3A3F7875943086E752DCF2F6F3E7D2CE /* YapDatabaseCloudCorePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCorePrivate.h; path = YapDatabase/Extensions/CloudCore/Internal/YapDatabaseCloudCorePrivate.h; sourceTree = ""; }; + 3A3FEE9162D178ED64A45CBDF81DD4A3 /* OWSDynamicOutgoingMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDynamicOutgoingMessage.m; sourceTree = ""; }; + 3A5112659A91D7F44B85040155168F1A /* HKDFKitSwiftTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDFKitSwiftTests.swift; path = HKDFKit/HKDFKitTests/HKDFKitSwiftTests.swift; sourceTree = ""; }; + 3A7AB9FA2BD5AA6A171E6F75694D9736 /* YapDatabaseManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseManager.m; path = YapDatabase/Internal/YapDatabaseManager.m; sourceTree = ""; }; + 3ADD3F4CAD877118EDC54036C0BCE5EA /* OWSChunkedOutputStream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSChunkedOutputStream.h; sourceTree = ""; }; + 3B2B35583EC12A7EB831CC4CAADFF5EF /* GCDWebServer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-prefix.pch"; sourceTree = ""; }; + 3B4032002353349009D12B2ADBE37D1E /* YYAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYAnimatedImageView.m; path = YYImage/YYAnimatedImageView.m; sourceTree = ""; }; + 3B404F95E1489960CE29E0CBFEF859E2 /* Google_Protobuf_Timestamp+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Timestamp+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Timestamp+Extensions.swift"; sourceTree = ""; }; + 3B4C99F66DC5374D7BFF934CC7A9ACF5 /* SAMKeychain.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SAMKeychain.modulemap; sourceTree = ""; }; + 3B5DCC21DCFFD52D8C07EAC5ECF19B1A /* CreatePreKeysOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CreatePreKeysOperation.swift; sourceTree = ""; }; + 3B99B7D85EA40691BA4D9B5FF79BD677 /* OWSUploadOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSUploadOperation.m; sourceTree = ""; }; + 3BA3F1FC561AB941D9B7641FD5487E50 /* YDBCKAttachRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKAttachRequest.h; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKAttachRequest.h; sourceTree = ""; }; + 3BC1B48D9A3F12E74D6474A491BD6426 /* FriendRequestExpirationMessageFinder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FriendRequestExpirationMessageFinder.swift; sourceTree = ""; }; + 3BD0D08EA289883BE8BA3D1E2F2A9B2B /* NVActivityIndicatorAnimationBallZigZag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallZigZag.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallZigZag.swift; sourceTree = ""; }; + 3BEE03F988FD6F30A51591446BCA895C /* AtomFeedLink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedLink.swift; path = Sources/FeedKit/Models/Atom/AtomFeedLink.swift; sourceTree = ""; }; + 3BF891B38C1D1C0738ECF31E50DA5F00 /* SAMKeychain.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SAMKeychain.xcconfig; sourceTree = ""; }; + 3BF92FF546E7501599B4AFABF269C6FA /* OWSDisappearingMessagesJob.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesJob.m; sourceTree = ""; }; + 3C42E7261730FAEF43F887A129BF15A2 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; + 3C4446AC2960A864CEDFFDCC9773A2C0 /* NSString+SSK.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+SSK.h"; sourceTree = ""; }; + 3C52DF223A41E25744225F462F964A26 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; + 3C5931B4F4C582293351AE52C15C4275 /* MediaNamespace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaNamespace.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaNamespace.swift; sourceTree = ""; }; + 3C64F5B170D5906A0264C81FBFD96A6E /* NBPhoneNumberDefines.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBPhoneNumberDefines.m; path = libPhoneNumber/NBPhoneNumberDefines.m; sourceTree = ""; }; + 3C8527D38482778FB470A971DDC3D1DE /* OWSAttachmentDownloads.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAttachmentDownloads.m; sourceTree = ""; }; + 3C8F657A5D06E2A78738E67540F47E55 /* OWSGroupsOutputStream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSGroupsOutputStream.h; sourceTree = ""; }; + 3C954EF9FF5819C403718E83394CF1D6 /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; + 3CA50DE3BA245954096EE57D240D6F0D /* OWSError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSError.h; sourceTree = ""; }; + 3CC0C2A31AE2AB6A715AF4167A0FDFCF /* OWSSyncContactsMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSSyncContactsMessage.m; sourceTree = ""; }; + 3CCC3B9F2148E4159863C2615B0788FC /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; + 3D1E907636483AE7C8CADB233B631731 /* SAMKeychain.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SAMKeychain.bundle; path = Support/SAMKeychain.bundle; sourceTree = ""; }; + 3D410A2258157BE1FE48F2E5A8E203A3 /* OWSUploadOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSUploadOperation.h; sourceTree = ""; }; + 3D4D0650ADE75A48012593A7EBBE26AE /* TestAppContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TestAppContext.m; sourceTree = ""; }; + 3D6A0048F26D47D4B68499107978939F /* YapDatabaseRelationshipOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRelationshipOptions.m; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.m; sourceTree = ""; }; + 3DAA210D36F23E4C5320C431C6B917E8 /* curve25519-donna.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = "curve25519-donna.c"; path = "Sources/Curve25519/curve25519-donna.c"; sourceTree = ""; }; + 3E1052F9C392E0BD93E91A3AF6F3B6F7 /* AnyUnpackError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyUnpackError.swift; path = Sources/SwiftProtobuf/AnyUnpackError.swift; sourceTree = ""; }; + 3E311C48D2D9752932258EEAAE7EBA79 /* YapDatabaseCryptoUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCryptoUtils.h; path = YapDatabase/Utilities/YapDatabaseCryptoUtils.h; sourceTree = ""; }; + 3E57C846F7255DDF7DF20BDFDB446AD4 /* OWSDevice.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDevice.h; sourceTree = ""; }; + 3E64E9FCD007AA415E755E40E3BAFE9C /* SignalCoreKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalCoreKit-umbrella.h"; sourceTree = ""; }; + 3E83B80347175982FF9A25CAF4A1A35D /* PhoneNumberUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PhoneNumberUtil.m; sourceTree = ""; }; + 3EEF2CBB9656C810458F5D9CBCAD87FD /* LKSessionRestoreMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKSessionRestoreMessage.m; sourceTree = ""; }; + 3F737F817140A21963A2FD1DCFF7AAC4 /* LokiPublicChatPoller.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiPublicChatPoller.swift; sourceTree = ""; }; + 3F872CDC8D59D8DCE6D0604CCEFA2020 /* CDSSigningCertificate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CDSSigningCertificate.m; sourceTree = ""; }; + 3F9040EE9C56D08FB563869A7F5CC1D2 /* YapDatabaseRTreeIndexSetup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexSetup.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexSetup.h; sourceTree = ""; }; + 3FBF033A7EBFF938079087CBC303E265 /* GCDWebServer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GCDWebServer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3FEDFADC5603FC9016D2915BF718C68B /* OWSIncomingSentMessageTranscript.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSIncomingSentMessageTranscript.h; sourceTree = ""; }; + 4058C7C93E7FD602EC980056EB760575 /* fe_1.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_1.c; path = Sources/ed25519/fe_1.c; sourceTree = ""; }; + 407E137CE1341A419C509DC26A57156A /* MediaStatus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaStatus.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaStatus.swift; sourceTree = ""; }; + 40A23518CFF9B02380526DD8545BA439 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDContextFilterLogFormatter.m; path = Classes/Extensions/DDContextFilterLogFormatter.m; sourceTree = ""; }; + 41042A5454A4BB42AC468E045EB9654E /* OWSOutgoingNullMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOutgoingNullMessage.h; sourceTree = ""; }; + 411CBCE05356C7512AF97CF5167291B9 /* AtomFeedEntryCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntryCategory.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntryCategory.swift; sourceTree = ""; }; + 4165E22825CBA78FBA879733CCC9CB56 /* YapDatabaseCrossProcessNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCrossProcessNotification.h; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotification.h; sourceTree = ""; }; + 41711EC81A8C33E48C7E2D40AAA99CA2 /* TSConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = TSConstants.m; path = SignalServiceKit/src/TSConstants.m; sourceTree = ""; }; + 418D12FB05C14120F7C34B97B5B78B16 /* OWSFakeContactsUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFakeContactsUpdater.m; sourceTree = ""; }; + 41918E62009DEDEAE79B32449C900261 /* TSInvalidIdentityKeySendingErrorMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSInvalidIdentityKeySendingErrorMessage.h; sourceTree = ""; }; + 41F047CA32CD78F83D8EE87597A2875C /* SignedPrekeyRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SignedPrekeyRecord.m; path = AxolotlKit/Classes/Prekeys/SignedPrekeyRecord.m; sourceTree = ""; }; + 41FE8B890FFF6BECFE26C28E2CA28B4A /* Pods-SignalMessaging.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalMessaging.release.xcconfig"; sourceTree = ""; }; + 41FFBE257F03F91AA208224D37572114 /* FieldTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FieldTypes.swift; path = Sources/SwiftProtobuf/FieldTypes.swift; sourceTree = ""; }; + 42185DFB7BB9F70207D1E66F7BBC06E6 /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; + 4222C6CEB92E1E1782BA33700BFCBF43 /* OWSAddToContactsOfferMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAddToContactsOfferMessage.m; sourceTree = ""; }; + 4233D1024E4928B1441AFF92FC1ABAB9 /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; + 4244BB9A166F6E5EAEC0A5F81D955B5E /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; + 4258DF64E662E87748BFEFB477F538E0 /* Pods-Signal.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Signal.release.xcconfig"; sourceTree = ""; }; + 433622B193183A2BA5086EBE8987363E /* Pods-SignalMessaging-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SignalMessaging-resources.sh"; sourceTree = ""; }; + 4350237CCBED61F4901E44B8BE1D21BD /* SignalMetadataKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SignalMetadataKit-dummy.m"; sourceTree = ""; }; + 43988DE082447B6D12221AB8E580883B /* LKUnlinkDeviceMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKUnlinkDeviceMessage.h; sourceTree = ""; }; + 43D2C4F103EBA7127B1E44EFEA26DCAE /* HKDFTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HKDFTest.m; path = AxolotlKitTests/HKDFTest.m; sourceTree = ""; }; + 43F735D919E2981132908991950B405B /* api.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = api.h; path = Sources/ed25519/api.h; sourceTree = ""; }; + 4434C725B4B85FD628EFBE84F1CD29B6 /* ge_p3_0.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p3_0.c; path = Sources/ed25519/ge_p3_0.c; sourceTree = ""; }; + 444179510EDDF15CC6A977ED01F5CF29 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; + 44447CA4B0789D70F3FDB480FE5A3ECF /* NVActivityIndicatorView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NVActivityIndicatorView-prefix.pch"; sourceTree = ""; }; + 446998CD50E0AD19EF3ADAB0E931744F /* RSSFeedSkipDay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedSkipDay.swift; path = Sources/FeedKit/Models/RSS/RSSFeedSkipDay.swift; sourceTree = ""; }; + 4474C83E547E0A848415A815F231B20E /* YapDatabaseCloudCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCore.h; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCore.h; sourceTree = ""; }; + 448D72BFDAEA737E4A968D772E3DC830 /* NBPhoneNumberDesc.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBPhoneNumberDesc.m; path = libPhoneNumber/NBPhoneNumberDesc.m; sourceTree = ""; }; + 4491CD6207FDB4A2881F9830DBFE6F73 /* SMKMiscTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKMiscTest.swift; path = SignalMetadataKitTests/src/SMKMiscTest.swift; sourceTree = ""; }; + 449200244CB2010C0E93F8149003F65A /* FeedKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FeedKit-dummy.m"; sourceTree = ""; }; + 449C1D612D169CC0C5C54A0B22508841 /* OWSReceiptsForSenderMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSReceiptsForSenderMessage.m; sourceTree = ""; }; + 44C547E7E62D72A4F47B3398C035774E /* MessageSenderJobQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MessageSenderJobQueue.swift; sourceTree = ""; }; + 44C587F81E9A03B6B10670BC3CAFA072 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; + 44D252544153CABBD4322D79CFA5C06D /* DeviceLinkingUtilities.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceLinkingUtilities.swift; sourceTree = ""; }; + 44DC37C136740B166BF7294BD737EC75 /* NVActivityIndicatorAnimationBallRotateChase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallRotateChase.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallRotateChase.swift; sourceTree = ""; }; + 44ECCA6DD6E1784922152336E1047529 /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; + 44FED5E5B24771F16D89F05942D80D0D /* YapDatabaseViewRangeOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewRangeOptions.h; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewRangeOptions.h; sourceTree = ""; }; + 452564B41DDDA813A950C475FB370D8E /* UIImage+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+OWS.h"; sourceTree = ""; }; + 454060411CE528B4033084304A3E133E /* YapDatabaseRTreeIndexSetup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndexSetup.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexSetup.m; sourceTree = ""; }; + 454AB54D781C00073D74579D119C4431 /* DDFileLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = Classes/DDFileLogger.h; sourceTree = ""; }; + 454E0E4DA6C4F329728BB5AF038ED94E /* fe_pow22523.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_pow22523.c; path = Sources/ed25519/fe_pow22523.c; sourceTree = ""; }; + 4570E27389E695E05C42E0C50F7574E8 /* FirebaseCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FirebaseCore-dummy.m"; sourceTree = ""; }; + 458B23ED61A87641E7095310B4A3B59A /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; + 45EF441FFA8FC603519E46131DAB40E6 /* EXTScope.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXTScope.m; path = Mantle/extobjc/EXTScope.m; sourceTree = ""; }; + 45FE3685F26ACF02812D0466ECE9ACE0 /* SignedPreKeyDeletionTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SignedPreKeyDeletionTests.m; sourceTree = ""; }; + 4626995490808FD063D6E4B935D4C9DE /* YapDatabaseViewTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewTransaction.m; path = YapDatabase/Extensions/View/YapDatabaseViewTransaction.m; sourceTree = ""; }; + 464737059C6634FB47C47855E2779881 /* YapDatabaseCloudCorePipelinePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCorePipelinePrivate.h; path = YapDatabase/Extensions/CloudCore/Internal/YapDatabaseCloudCorePipelinePrivate.h; sourceTree = ""; }; + 464F1B32F5C5B00B70C981A872918A8F /* SignalCoreKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SignalCoreKit.h; path = SignalCoreKit/src/SignalCoreKit.h; sourceTree = ""; }; + 46B014F84C63AEA14CD98A91D293A28D /* MediaLicence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaLicence.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaLicence.swift; sourceTree = ""; }; + 46D5743D007BA7EAB49BE2C2CE4DFEEE /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; + 47185964EEADB69B89B6B5C6C1B8E52C /* GCDWebServerFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileResponse.h; path = GCDWebServer/Responses/GCDWebServerFileResponse.h; sourceTree = ""; }; + 471D46960A4A2798E08C2C805D22F57C /* AccountServiceClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AccountServiceClient.swift; sourceTree = ""; }; + 474059BC966F0967CA6958D13A11761C /* OWSUnknownContactBlockOfferMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSUnknownContactBlockOfferMessage.h; sourceTree = ""; }; + 474954B2CABE7BFEBD23EF43922426DF /* RFC3339DateFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RFC3339DateFormatter.swift; path = Sources/FeedKit/Dates/RFC3339DateFormatter.swift; sourceTree = ""; }; + 4752280A03879D406225EC3EBD65831B /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 47598EE776F9391FFBC1D9DEE535BAED /* AppReadiness.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = AppReadiness.m; sourceTree = ""; }; + 475B322B55B8E1B168A9F078E7E58F88 /* NVActivityIndicatorAnimationLineScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScale.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScale.swift; sourceTree = ""; }; + 475E6B047AB67A7E429C2C1C5AF00AD3 /* SMKSenderCertificate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKSenderCertificate.swift; path = SignalMetadataKit/src/SMKSenderCertificate.swift; sourceTree = ""; }; + 47987F3A6112CF1D6A2AA4469CDD1AB7 /* YapManyToManyCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapManyToManyCache.m; path = YapDatabase/Extensions/CloudCore/Utilities/YapManyToManyCache.m; sourceTree = ""; }; + 48031999256A8E6906DBC374C06F60F7 /* SAMKeychainQuery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SAMKeychainQuery.h; path = Sources/SAMKeychainQuery.h; sourceTree = ""; }; + 481D98241BA69B182796CAA006344BE6 /* CocoaLumberjack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjack.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 482539833DDE1B38065A41BB57B774C2 /* fe.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fe.h; path = Sources/ed25519/fe.h; sourceTree = ""; }; + 483C452787369B6A3CD5FECF54703BE1 /* ias-root.cer */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = "ias-root.cer"; sourceTree = ""; }; + 48D7308337DCA363278BBDEB207B9661 /* ChainAndIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ChainAndIndex.h; path = AxolotlKit/Classes/Ratchet/ChainAndIndex.h; sourceTree = ""; }; + 48F29CD7DB4ED00FB8CF1DA8ECFE4B92 /* NBPhoneNumberUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBPhoneNumberUtil.h; path = libPhoneNumber/NBPhoneNumberUtil.h; sourceTree = ""; }; + 490A362BD87A7DFA6AA01FF2A3B3BF30 /* Pods-SignalShareExtension-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SignalShareExtension-acknowledgements.plist"; sourceTree = ""; }; + 4919ECCA45AD3A216CAF1F3F2F551342 /* GTSR2.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GTSR2.crt; sourceTree = ""; }; + 49305023E523543EADE34267507AB086 /* YapMutationStack.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapMutationStack.h; path = YapDatabase/Utilities/YapMutationStack.h; sourceTree = ""; }; + 493176C056D3C15A7FF79A3698019A7E /* OWSIncomingMessageFinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSIncomingMessageFinder.m; sourceTree = ""; }; + 49395F51B6E1940EC1E326AE45BAD912 /* GCDWebServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServer.h; path = GCDWebServer/Core/GCDWebServer.h; sourceTree = ""; }; + 4948DC09F49368E6DF12B3FB2F370905 /* SSKProtoEnvelope+Loki.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "SSKProtoEnvelope+Loki.swift"; sourceTree = ""; }; + 49673915BB55BFE76F102323FD330EAC /* YapDatabaseCloudCoreConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreConnection.h; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreConnection.h; sourceTree = ""; }; + 49735AA786C97666C9A9BAE0533B1D00 /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; + 4998D8C01703DD17ECE4AC767095771E /* AxolotlKitSwiftTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AxolotlKitSwiftTests.swift; path = AxolotlKitTests/AxolotlKitSwiftTests.swift; sourceTree = ""; }; + 49A8048DC0103BBFD9C4D595AB425B8A /* ParamParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ParamParser.swift; sourceTree = ""; }; + 49F8B52A4F1719D5E961401A532F5CE7 /* OWSRecordTranscriptJob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSRecordTranscriptJob.h; sourceTree = ""; }; + 4A44D1F4C8C22405E0D104A82D9A962C /* GCDWebServerMultiPartFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerMultiPartFormRequest.h; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h; sourceTree = ""; }; + 4A635A8BA44A05DFE9EC0295AA438A8E /* FIRAppAssociationRegistration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRAppAssociationRegistration.m; path = Firebase/Core/FIRAppAssociationRegistration.m; sourceTree = ""; }; + 4A8E7A4FD4185AA64347C68285CAEEB1 /* YapDatabaseManualViewConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseManualViewConnection.m; path = YapDatabase/Extensions/ManualView/YapDatabaseManualViewConnection.m; sourceTree = ""; }; + 4A98C9CDF7478E853EA689AB11BA606B /* TSAttachmentStream.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSAttachmentStream.m; sourceTree = ""; }; + 4AAE8DF3E1EB556EDD569199BDC41E6D /* JobQueueTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JobQueueTest.swift; sourceTree = ""; }; + 4ACC727FF94444619B3C25570C73BF43 /* PreKeyRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PreKeyRecord.h; path = AxolotlKit/Classes/Prekeys/PreKeyRecord.h; sourceTree = ""; }; + 4B0ACD1CB2292852B39A6CFDE362B2ED /* NVActivityIndicatorAnimationBallScaleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleMultiple.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleMultiple.swift; sourceTree = ""; }; + 4B0D3B366175DDEEB857C7F3FEBD36BE /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; }; + 4B193DBB15E165E096D258900DD79405 /* Ed25519.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Ed25519.h; path = Classes/Ed25519.h; sourceTree = ""; }; + 4B20A572F5727006FCA98221304FB304 /* GCDWebServerURLEncodedFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerURLEncodedFormRequest.m; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m; sourceTree = ""; }; + 4B22DA6582F45FB45323C85ACFB552D0 /* Pods-SignalTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SignalTests-umbrella.h"; sourceTree = ""; }; + 4B2D6777257F40087791E2E92323E6E8 /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; + 4B39C76DAA74B15BF07D297A65F556EF /* OWSWebSocket.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSWebSocket.m; sourceTree = ""; }; + 4B515D322C1423D271193E57A016D3FD /* SPKProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SPKProto.swift; path = AxolotlKit/Classes/Protos/SPKProto.swift; sourceTree = ""; }; + 4BAE02F6E15EA8E8B378F1232F342119 /* RSSFeedItemEnclosure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedItemEnclosure.swift; path = Sources/FeedKit/Models/RSS/RSSFeedItemEnclosure.swift; sourceTree = ""; }; + 4BB5CD9DE2D0E219FAD64860EAF962EA /* RatchetingSession.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RatchetingSession.m; path = AxolotlKit/Classes/Ratchet/RatchetingSession.m; sourceTree = ""; }; + 4C38F3A54EB991D2A07C79946BA599DC /* MediaPlayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaPlayer.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaPlayer.swift; sourceTree = ""; }; + 4C46EDB2B9EC14CEA4BB50F9E9C64583 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; + 4C508355BA0A618F0E485DD9E319EBA1 /* mz_strm_zlib.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_zlib.c; path = SSZipArchive/minizip/mz_strm_zlib.c; sourceTree = ""; }; + 4C564182DCDEBBEE43CB2460143CEC96 /* SignalServiceKit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalServiceKit.unit.xcconfig; sourceTree = ""; }; + 4C8926E19902CB1522414662944C6BE5 /* RSSFeedItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedItem.swift; path = Sources/FeedKit/Models/RSS/RSSFeedItem.swift; sourceTree = ""; }; + 4C92CAC38EC5A08D454542741A4C7976 /* TSDatabaseSecondaryIndexes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSDatabaseSecondaryIndexes.h; sourceTree = ""; }; + 4CBC6E2C97EFA30D387E2B8759C78D58 /* Pods-SignalMessaging-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SignalMessaging-acknowledgements.plist"; sourceTree = ""; }; + 4CDF5051D0A052279623E9D650F574B8 /* CocoaLumberjack-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CocoaLumberjack-umbrella.h"; sourceTree = ""; }; + 4D23DC3F9837E12C86822EEBDD29744B /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CryptoSwift.modulemap; sourceTree = ""; }; + 4D2D0B08BF60A32DDCB5591D3D143FB5 /* SessionCipherTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionCipherTest.m; path = AxolotlKitTests/SessionCipherTest.m; sourceTree = ""; }; + 4D6A45320692E0E89ECB81C4FB2EE171 /* YapDatabaseManualView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseManualView.m; path = YapDatabase/Extensions/ManualView/YapDatabaseManualView.m; sourceTree = ""; }; + 4D904D27AA88B4A1FED9DC15B0B72C8D /* MediaThumbnail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaThumbnail.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaThumbnail.swift; sourceTree = ""; }; + 4DB52E16C9046152D0B0B7A7FF69012E /* YapDatabaseCloudKitTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKitTypes.h; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTypes.h; sourceTree = ""; }; + 4DD24D57CF6DD9814DF3D64336E01553 /* NVActivityIndicatorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorView.swift; path = Source/NVActivityIndicatorView/NVActivityIndicatorView.swift; sourceTree = ""; }; + 4DDD43D2AB4C7D0684F65BC8DCDB4553 /* ExtensionFieldValueSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtensionFieldValueSet.swift; path = Sources/SwiftProtobuf/ExtensionFieldValueSet.swift; sourceTree = ""; }; + 4DEBC1D539A5148AB2AF718FDD95785B /* api.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = api.pb.swift; path = Sources/SwiftProtobuf/api.pb.swift; sourceTree = ""; }; + 4E01CED4578A56B135C43A76A3B97851 /* NBPhoneNumber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBPhoneNumber.h; path = libPhoneNumber/NBPhoneNumber.h; sourceTree = ""; }; + 4E5BAFDAE5D1C2572B8F996189580818 /* type.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = type.pb.swift; path = Sources/SwiftProtobuf/type.pb.swift; sourceTree = ""; }; + 4EA9620A66CB7DBD3EC4B820FE087741 /* YapDatabaseExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseExtension.m; path = YapDatabase/Extensions/Protocol/YapDatabaseExtension.m; sourceTree = ""; }; + 4EF9D5A5A7B600E7402EF7ED713CD4A5 /* PureLayoutDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayoutDefines.h; path = PureLayout/PureLayout/PureLayoutDefines.h; sourceTree = ""; }; + 4EFD6E6EED622F073D1337170D1549B8 /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = Sources/CryptoSwift/Scrypt.swift; sourceTree = ""; }; + 4F38F494EC0910D19C80D1019BEED18C /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; + 4F51ADE1792822A4A3B1A649910E384B /* YapDatabaseConnectionProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseConnectionProxy.h; path = YapDatabase/Extensions/ConnectionProxy/YapDatabaseConnectionProxy.h; sourceTree = ""; }; + 4F64EC4B319B246B65C72E5FF743A9C7 /* YapDatabaseCrossProcessNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCrossProcessNotification.m; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotification.m; sourceTree = ""; }; + 4F6A438B8FBA10F3CB3ABA5673542BCA /* YapDatabaseViewPage.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = YapDatabaseViewPage.mm; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewPage.mm; sourceTree = ""; }; + 4F753DD49D200E678CD1BABF26211F24 /* FIRComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponent.m; path = Firebase/Core/FIRComponent.m; sourceTree = ""; }; + 4F9B898E8C69D24D7CF10B16ABC4AF58 /* OWSCensorshipConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSCensorshipConfiguration.h; sourceTree = ""; }; + 4FC8EF3ECA24333F38C95E86AEEED2AE /* YapActionable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapActionable.h; path = YapDatabase/Extensions/ActionManager/YapActionable.h; sourceTree = ""; }; + 4FF7624E1BDF8A9AE72EEDC39E447333 /* YapDatabaseFilteredViewConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFilteredViewConnection.m; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewConnection.m; sourceTree = ""; }; + 502F1F2191C2E00664DBA48D75B0BA39 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 504D429D22D9A453D8494F204A27CE32 /* YapDatabaseManualViewPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseManualViewPrivate.h; path = YapDatabase/Extensions/ManualView/Internal/YapDatabaseManualViewPrivate.h; sourceTree = ""; }; + 5072087E439640F00B96F69577F9D31F /* Promise+retainUntilComplete.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Promise+retainUntilComplete.swift"; sourceTree = ""; }; + 50A46B2DE68A97397DB7E8CCE21C4067 /* Provisioning.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Provisioning.pb.swift; sourceTree = ""; }; + 511F1F7B76473BCC7DC94A531D48AA78 /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; + 5122D750C70EE20943506E14AA23154F /* YapDatabaseExtensionTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseExtensionTransaction.m; path = YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.m; sourceTree = ""; }; + 5140EA6FDE65CEAE3A1D53EF533EBC66 /* YapDatabaseSecondaryIndexHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexHandler.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexHandler.h; sourceTree = ""; }; + 514CDE68295847C799C345EDC7F083A0 /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; + 514E931CC8B59385E76F962B541312BF /* ge_msub.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge_msub.h; path = Sources/ed25519/ge_msub.h; sourceTree = ""; }; + 515EDAB7D3F4E50388C13DFCD31C7318 /* OWSDisappearingMessagesConfigurationMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDisappearingMessagesConfigurationMessage.h; sourceTree = ""; }; + 51CEEFA7CB81C136F2BBD1C3E00CF336 /* SignalServiceKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SignalServiceKit.modulemap; sourceTree = ""; }; + 51D4754D547EC4A1CF5F90D9BD28CA07 /* SSKMessageSenderJobRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SSKMessageSenderJobRecord.h; sourceTree = ""; }; + 51D88586BD10DAC4B24023F35C30268A /* GCDWebServerConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerConnection.m; path = GCDWebServer/Core/GCDWebServerConnection.m; sourceTree = ""; }; + 520CF2C720AEF29F262FFD565EEF2D60 /* OWSFingerprintBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFingerprintBuilder.m; sourceTree = ""; }; + 52447CB576574DE415FED6B4D1B7C740 /* YapDatabaseConnectionPool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseConnectionPool.h; path = YapDatabase/Extensions/ConnectionPool/YapDatabaseConnectionPool.h; sourceTree = ""; }; + 5276375AF137175266E8DFDB6EA9FD45 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + 527B02793A1B34278586B4D07571A830 /* mz_strm_os_posix.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_os_posix.c; path = SSZipArchive/minizip/mz_strm_os_posix.c; sourceTree = ""; }; + 528FC6F8DFB720E1C28E3B8EA4E3AD05 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 52AA21D99EC0B592DD3C81F144F6F679 /* YapNull.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapNull.m; path = YapDatabase/Internal/YapNull.m; sourceTree = ""; }; + 52BD362153C4440F4F0194797E25EF13 /* OWSThumbnailService.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSThumbnailService.swift; sourceTree = ""; }; + 52C8AEC0F8ECBBF43F007A1DFA80EE0E /* fe_copy.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_copy.c; path = Sources/ed25519/fe_copy.c; sourceTree = ""; }; + 52CDE0A18018BC67E2D08EA5FD80860A /* DDASLLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = Classes/DDASLLogger.m; sourceTree = ""; }; + 52E17FB7433B1A84EBEA519396D64B21 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 5331B5F3A76929528A78F47304F63BE7 /* MediaCredit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaCredit.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaCredit.swift; sourceTree = ""; }; + 5363CB00BA21A7589B73713EC01AD813 /* iTunesNamespace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = iTunesNamespace.swift; path = Sources/FeedKit/Models/Namespaces/iTunes/iTunesNamespace.swift; sourceTree = ""; }; + 542400A242038E196943C689A5C67E48 /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; + 54404FB2C8F024B2A2EEED9311721D9A /* SMKServerCertificateTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKServerCertificateTest.swift; path = SignalMetadataKitTests/src/SMKServerCertificateTest.swift; sourceTree = ""; }; + 544E99975D3E9F5C4926BBDDC45F82F0 /* LKGroupUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKGroupUtilities.m; sourceTree = ""; }; + 545A6C90FD373AC096A08FB87DE389A8 /* MediaRights.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaRights.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaRights.swift; sourceTree = ""; }; + 54860E776C82290727F85929CF9FFA18 /* NBAsYouTypeFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBAsYouTypeFormatter.h; path = libPhoneNumber/NBAsYouTypeFormatter.h; sourceTree = ""; }; + 54951302B6348CCC02E6DEFAD8296CBF /* YapDatabaseView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseView.h; path = YapDatabase/Extensions/View/YapDatabaseView.h; sourceTree = ""; }; + 54D8B64C2DEC7BDCECBC00DD40A25C1F /* NSSet+Functional.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSSet+Functional.h"; sourceTree = ""; }; + 54FE53E490534D4E037E0D96E2A2F95B /* ge_madd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge_madd.h; path = Sources/ed25519/ge_madd.h; sourceTree = ""; }; + 5505B8AED53E5A9306F26B3A4FAF95FB /* PureLayout+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PureLayout+Internal.h"; path = "PureLayout/PureLayout/PureLayout+Internal.h"; sourceTree = ""; }; + 5552A83813B25BF1A4F2395A1C60843F /* OWSMessageUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageUtils.h; sourceTree = ""; }; + 55531E24A26840E77CF3CACE6B390E66 /* SignalMetadataKit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalMetadataKit-Unit-Tests-prefix.pch"; sourceTree = ""; }; + 555A2E239B949DC594250DD3D0D1B204 /* MediaText.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaText.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaText.swift; sourceTree = ""; }; + 557EF19FAC9F1DF421B03B94E712FAC3 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; + 559D15EE6CD2CBF151636AFDFC60909B /* MediaCopyright.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaCopyright.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaCopyright.swift; sourceTree = ""; }; + 55AC9447ADA7BB667F3FFCC91A39593F /* OWSFakeProfileManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFakeProfileManager.h; sourceTree = ""; }; + 55F677664F08E41A46AE26020BEAA1E1 /* String + toDate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String + toDate.swift"; path = "Sources/FeedKit/Extensions/String + toDate.swift"; sourceTree = ""; }; + 56595385666843E33657A77CDACEE381 /* AFNetworking-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-umbrella.h"; sourceTree = ""; }; + 565F317E833FD3EA9D7474A2C048F447 /* YapDatabaseConnectionConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseConnectionConfig.h; path = YapDatabase/Utilities/YapDatabaseConnectionConfig.h; sourceTree = ""; }; + 56BC21727995DD0D41068CE840751D8C /* YapDatabaseViewPageMetadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewPageMetadata.m; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewPageMetadata.m; sourceTree = ""; }; + 573EEE1400EB41BF0C86BD6F5A736D39 /* YapCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapCache.h; path = YapDatabase/Utilities/YapCache.h; sourceTree = ""; }; + 5749DB5885627F3B17B690C93CB73642 /* ECKeyPair+Loki.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "ECKeyPair+Loki.swift"; sourceTree = ""; }; + 577598BBC679DB3AD0D61C64B6BB8A5E /* NSData+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+OWS.h"; path = "SignalCoreKit/src/NSData+OWS.h"; sourceTree = ""; }; + 578B3D2EEE31EB8B2013C068C8A4A26C /* NSArray+NBAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+NBAdditions.h"; path = "libPhoneNumber/NSArray+NBAdditions.h"; sourceTree = ""; }; + 578C09725E61F5573BCA53C185335FA2 /* GoogleUtilities-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GoogleUtilities-dummy.m"; sourceTree = ""; }; + 581767C683DD6DAF71DF30E5B60E919E /* ge_p1p1_to_p2.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p1p1_to_p2.c; path = Sources/ed25519/ge_p1p1_to_p2.c; sourceTree = ""; }; + 581819E709477237E44A68D8D0F8F3C2 /* SignalCoreKit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SignalCoreKit-Unit-Tests"; path = "SignalCoreKit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5839A423865B924FA6CA5409BA9D222F /* OWSLinkedDeviceReadReceipt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSLinkedDeviceReadReceipt.m; sourceTree = ""; }; + 585B8957DF21DD6F32F927FEE8C1C694 /* YapDatabaseHooksConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseHooksConnection.m; path = YapDatabase/Extensions/Hooks/YapDatabaseHooksConnection.m; sourceTree = ""; }; + 58A0DDC30CBB376B723759CA379E01D0 /* NSURLSessionDataTask+StatusCode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSURLSessionDataTask+StatusCode.m"; sourceTree = ""; }; + 59071DFCC8EEBB5304D8265A1967AB4A /* OWSIdentityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSIdentityManager.h; sourceTree = ""; }; + 59B198BA3EB652E2192942B5FAFE96B9 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; + 59BFF5349D59B4F2423C95FD652EEAAD /* GTSR3.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GTSR3.crt; sourceTree = ""; }; + 59FCCB136633C46FEC93FDD01842C7DB /* SAMKeychainQuery.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SAMKeychainQuery.m; path = Sources/SAMKeychainQuery.m; sourceTree = ""; }; + 5A0CE50ABD0F594C5D91DA6CD26BCDD3 /* PhoneNumber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PhoneNumber.h; sourceTree = ""; }; + 5A32ADBEC9CC5472FF684F6F255A0891 /* NVActivityIndicatorView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NVActivityIndicatorView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5A3F2FB210FCFDD33DA4BC577D3E0FA6 /* NSValueTransformer+MTLInversionAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+MTLInversionAdditions.h"; path = "Mantle/NSValueTransformer+MTLInversionAdditions.h"; sourceTree = ""; }; + 5A51BD69F54E0E76CF803EB1071C8915 /* OWSChunkedOutputStream.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSChunkedOutputStream.m; sourceTree = ""; }; + 5A918BAB9ACE6699E4E4A2766695384E /* MTLValueTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLValueTransformer.h; path = Mantle/MTLValueTransformer.h; sourceTree = ""; }; + 5AA3E3A977D7F1E383C3A1EF59910176 /* LokiFriendRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LokiFriendRequestMessage.h; path = AxolotlKit/Classes/CipherMessage/LokiFriendRequestMessage.h; sourceTree = ""; }; + 5AD26E02AC96FC72B3C486C1BCFC6E2A /* NBMetadataHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBMetadataHelper.h; path = libPhoneNumber/NBMetadataHelper.h; sourceTree = ""; }; + 5ADE9303C0FA1956F3552F8B844E8DC1 /* OWSRecipientIdentity.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSRecipientIdentity.h; sourceTree = ""; }; + 5ADF7A9A73B0C212742D5A90688934FD /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; + 5AE87A751B09FC38C445F5D52198D0C4 /* Google_Protobuf_Struct+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Struct+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Struct+Extensions.swift"; sourceTree = ""; }; + 5B08A26A1E372A5509A0A59C53F0FD31 /* struct.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = struct.pb.swift; path = Sources/SwiftProtobuf/struct.pb.swift; sourceTree = ""; }; + 5B09D8BB23CAB3E769F7A52CEA81CDD7 /* YapDatabase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabase.h; path = YapDatabase/YapDatabase.h; sourceTree = ""; }; + 5B3535A4B8356BE6449AD0388DDCB7A1 /* BinaryDelimited.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDelimited.swift; path = Sources/SwiftProtobuf/BinaryDelimited.swift; sourceTree = ""; }; + 5B3E710BAFA8DDFE3358B106C6F8EA3F /* SignalCoreKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalCoreKit-prefix.pch"; sourceTree = ""; }; + 5B668E0D19549435387D6961B99F8171 /* SFSRootCAG2.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = SFSRootCAG2.crt; sourceTree = ""; }; + 5B7B7ADF07479EF0685D4754AC2397E8 /* Pods-SignalShareExtension.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalShareExtension.app store release.xcconfig"; sourceTree = ""; }; + 5B823CA98EFBD8C30D712CF779F74054 /* YapRowidSet.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = YapRowidSet.mm; path = YapDatabase/Internal/YapRowidSet.mm; sourceTree = ""; }; + 5B96FD873E8272B5500A1983391154DD /* textsecure.cer */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = textsecure.cer; sourceTree = ""; }; + 5BA66861FB79FDAB21E1FE05E9F32E3E /* SAMKeychain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SAMKeychain.m; path = Sources/SAMKeychain.m; sourceTree = ""; }; + 5BF50B6279AA4D986739BBECB0BB6E22 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 5C31B43EE49AA7AF612F3D446D3FD0FB /* OWSSyncGroupsRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSyncGroupsRequestMessage.h; sourceTree = ""; }; + 5C424663821353466AA5BFDC0FE8D668 /* YapDatabase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YapDatabase-prefix.pch"; sourceTree = ""; }; + 5C599DF7A025288CDF8FB0D88C261F20 /* GCDWebServerFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFunctions.h; path = GCDWebServer/Core/GCDWebServerFunctions.h; sourceTree = ""; }; + 5C7CF9AD54CC4D30D2701241F947DFF4 /* OWSVerificationStateSyncMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSVerificationStateSyncMessage.h; sourceTree = ""; }; + 5CB6075FF599B1B2C863807A886D83F7 /* PreKeyBundle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PreKeyBundle.m; path = AxolotlKit/Classes/Prekeys/PreKeyBundle.m; sourceTree = ""; }; + 5CDF85040CA1971A733E2BC73E82061F /* YapDatabaseCloudCorePipeline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCorePipeline.h; path = YapDatabase/Extensions/CloudCore/Utilities/Execution/YapDatabaseCloudCorePipeline.h; sourceTree = ""; }; + 5D1B253F3395C70D685A604371B7AB3C /* SMKUnidentifiedSenderMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKUnidentifiedSenderMessage.swift; path = SignalMetadataKit/src/SMKUnidentifiedSenderMessage.swift; sourceTree = ""; }; + 5D1BEF9511641B6DFDEE23CAFDDFDC66 /* SignalIOS.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalIOS.pb.swift; sourceTree = ""; }; + 5D695EF42C943B89AA4869AAE4D35020 /* MediaParam.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaParam.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaParam.swift; sourceTree = ""; }; + 5DC110366682967230329172495D56BA /* OWSIncomingMessageFinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSIncomingMessageFinder.h; sourceTree = ""; }; + 5E03DEB054A959815EA9F9C46DC4104B /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; + 5E3034DA75AB53B5101AC213AC8F7FA0 /* ge_sub.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge_sub.h; path = Sources/ed25519/ge_sub.h; sourceTree = ""; }; + 5E8827384050EBFF1E7704919E3C56DB /* SSZipCommon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSZipCommon.h; path = SSZipArchive/SSZipCommon.h; sourceTree = ""; }; + 5EBE9A148BCC827E3A73CE96CCABBF33 /* OWSMessageManagerTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageManagerTest.m; sourceTree = ""; }; + 5EC8C25A4B32C71058CBE824D5945061 /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; + 5F15C4DC18C22A7C967174536A3DA9EC /* LokiP2PAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiP2PAPI.swift; sourceTree = ""; }; + 5F25E50E498883C6EE07359F0939730C /* RatchetingSessionTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RatchetingSessionTest.m; path = AxolotlKitTests/RatchetingSessionTest.m; sourceTree = ""; }; + 5F53C3E1975376193A2AE3EF9F0B6117 /* Pods_SignalTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SignalTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5F5ABDB9F38A98AEA91967695AADB3F7 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; + 5F7D954331B42841D6803560889CF471 /* GCDWebServerMultiPartFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerMultiPartFormRequest.m; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m; sourceTree = ""; }; + 5FC0B2BDCAB63E74342D9990813B08B3 /* YapDatabaseSearchQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSearchQueue.m; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchQueue.m; sourceTree = ""; }; + 5FD2ACC5B69A948C05F4807355677C38 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; + 5FD47FF1566F9330AAA4FA0174114F60 /* NetworkManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; }; + 5FD939E75BE3A4B5238D22E61CA10D3E /* FeedKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FeedKit-prefix.pch"; sourceTree = ""; }; + 603D743D57375F04CD1A96E97BA3A1CB /* MediaTitle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaTitle.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaTitle.swift; sourceTree = ""; }; + 6092FD5F73B953E157EC2D048EC3C96A /* LKAddressMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKAddressMessage.m; sourceTree = ""; }; + 60AFD146EA09D7615BB54685F7B21E84 /* OWSRequestMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSRequestMaker.swift; sourceTree = ""; }; + 60B94E2EFBFC76BCC0A28B0F38453531 /* AxolotlKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AxolotlKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 60EA957185A67BA651BC0CF3D3C8BF58 /* YapDatabaseManualViewConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseManualViewConnection.h; path = YapDatabase/Extensions/ManualView/YapDatabaseManualViewConnection.h; sourceTree = ""; }; + 60FF6A33E806622BCA53777E6C284DFC /* CBCMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBCMAC.swift; path = Sources/CryptoSwift/CBCMAC.swift; sourceTree = ""; }; + 610BC3CE3CF328EED904475AC65C69D2 /* SMKUDAccessKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKUDAccessKey.swift; path = SignalMetadataKit/src/SMKUDAccessKey.swift; sourceTree = ""; }; + 6119972388F16C9616C785D003B352BD /* FunctionalUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = FunctionalUtil.m; sourceTree = ""; }; + 613C4E099464FD5088A1218A6DC5DE69 /* TSStorageHeaders.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSStorageHeaders.h; sourceTree = ""; }; + 616578A2EADB8A2F4F2871851CC3952C /* SMKSessionCipherTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKSessionCipherTest.swift; path = SignalMetadataKitTests/src/SMKSessionCipherTest.swift; sourceTree = ""; }; + 618E85459ADAF84C3B7DAA10F66796A0 /* YapDatabaseRelationshipEdgePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipEdgePrivate.h; path = YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipEdgePrivate.h; sourceTree = ""; }; + 620324AEC714D843ED7C98002B390A18 /* YapDatabaseCloudCore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCore.m; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCore.m; sourceTree = ""; }; + 6225709BB6F18F977BF92D41534D9F45 /* ProtobuffsTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ProtobuffsTests.m; path = AxolotlKitTests/ProtobuffsTests.m; sourceTree = ""; }; + 6250823D813E45810571E8DB632CBDB6 /* YapNull.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapNull.h; path = YapDatabase/Internal/YapNull.h; sourceTree = ""; }; + 627857228B1511A17E7AF0E2505E7C6C /* metamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = metamacros.h; path = Mantle/extobjc/metamacros.h; sourceTree = ""; }; + 62D2C8EEEBAF2505F54CBEF023DFF189 /* OWSDynamicOutgoingMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDynamicOutgoingMessage.h; sourceTree = ""; }; + 62EBDE06A8461FED635718811905FDBE /* Google_Protobuf_Any+Registry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Any+Registry.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Any+Registry.swift"; sourceTree = ""; }; + 63427C1C30AC131BE21B3A2AAD7FEF21 /* ge_p2_0.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p2_0.c; path = Sources/ed25519/ge_p2_0.c; sourceTree = ""; }; + 63541D82FBB5059A748484F9A62D7899 /* TSOutgoingMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSOutgoingMessage.h; sourceTree = ""; }; + 63A7604CBAA4C4C258CB87EB2D9EC436 /* GSR2.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GSR2.crt; sourceTree = ""; }; + 63B42FF2B231E65CC475D6438A989461 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; + 63D0979D0D597FE945C2E487DDB90032 /* OWSBlockedPhoneNumbersMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSBlockedPhoneNumbersMessage.h; sourceTree = ""; }; + 63E6F8E565826571F187845E36052692 /* SMKSecretSessionCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKSecretSessionCipher.swift; path = SignalMetadataKit/src/SMKSecretSessionCipher.swift; sourceTree = ""; }; + 63FE43AE93E422567953EB81E2D5360D /* fe_sq2.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_sq2.c; path = Sources/ed25519/fe_sq2.c; sourceTree = ""; }; + 644936984335A7507306FF0ADAFD5AA5 /* fe_isnegative.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_isnegative.c; path = Sources/ed25519/fe_isnegative.c; sourceTree = ""; }; + 647331C1A56F17B81152C5B970E44C6F /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; + 64B99E13FFCA977491E29E346A4CF385 /* MTLTransformerErrorHandling.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLTransformerErrorHandling.m; path = Mantle/MTLTransformerErrorHandling.m; sourceTree = ""; }; + 64EFDE2C09F4DC4A44793900F68C470F /* TSInvalidIdentityKeyErrorMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSInvalidIdentityKeyErrorMessage.m; sourceTree = ""; }; + 65089D73CD69204C5E87CC32962FC071 /* MTLJSONAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLJSONAdapter.m; path = Mantle/MTLJSONAdapter.m; sourceTree = ""; }; + 6553DD76EFB7F0707773288B710FDC64 /* OWSIncomingSentMessageTranscript.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSIncomingSentMessageTranscript.m; sourceTree = ""; }; + 6585AE35FE7C15FDE771F6281AC138DC /* ProvisioningProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ProvisioningProto.swift; sourceTree = ""; }; + 65A763D468885010252AEABE9925F109 /* ChainKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ChainKey.m; path = AxolotlKit/Classes/Ratchet/ChainKey.m; sourceTree = ""; }; + 65B24234D523A687A2128490691B30ED /* SAMKeychain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SAMKeychain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 66068E384B534B7C92B1138A2BF4F9D7 /* Pods-SignalMessaging-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SignalMessaging-umbrella.h"; sourceTree = ""; }; + 66073362502E2CB7F3144CC4C5881F95 /* SyndicationNamespace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SyndicationNamespace.swift; path = Sources/FeedKit/Models/Namespaces/Syndication/SyndicationNamespace.swift; sourceTree = ""; }; + 661C53C0F2AE8BF045193DF9865A743B /* AtomPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomPath.swift; path = Sources/FeedKit/Models/Atom/AtomPath.swift; sourceTree = ""; }; + 663529E7604A8929935B92557F8C23E0 /* base.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = base.h; path = Sources/ed25519/base.h; sourceTree = ""; }; + 665FBA93ADD478AB87C9E2C7BC43D5DB /* FIRComponentContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponentContainer.m; path = Firebase/Core/FIRComponentContainer.m; sourceTree = ""; }; + 66DCE03232E1FF01C4437E63062B2B9A /* YapDatabaseViewState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewState.m; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewState.m; sourceTree = ""; }; + 66DD7A2DFE5CE63489997F7A68469E19 /* YapDatabaseTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseTransaction.h; path = YapDatabase/YapDatabaseTransaction.h; sourceTree = ""; }; + 66E639C3DFD9B30BAE9381F5CF5905AD /* SSKPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SSKPreferences.swift; sourceTree = ""; }; + 66EB2D5D5EB739CC9D97BA977325FC7E /* YapDatabaseHooksTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseHooksTransaction.m; path = YapDatabase/Extensions/Hooks/YapDatabaseHooksTransaction.m; sourceTree = ""; }; + 6701FFDC4B9EF2B1D06EC1735DB4ABE0 /* YapDatabaseCrossProcessNotificationConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCrossProcessNotificationConnection.h; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationConnection.h; sourceTree = ""; }; + 670E822328C8EE9F0779B9CE581B941F /* mz_strm_wzaes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_wzaes.c; path = SSZipArchive/minizip/mz_strm_wzaes.c; sourceTree = ""; }; + 67321F368961F09E7549D5ACCC3C5DBE /* Mention.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Mention.swift; sourceTree = ""; }; + 6739C292AB20DDAAE1C40EBFA6E5C037 /* YapDatabaseViewTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewTypes.h; path = YapDatabase/Extensions/AutoView/YapDatabaseViewTypes.h; sourceTree = ""; }; + 674D92D24689DF2D66EDD2F38A1ACFE2 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; + 677AB4B0603D8AC3BBB1D42729ED5272 /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; + 677E8DFF800BAE65465375BFEAA033EB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 67D3765FEAAB8E706B489A9DB0F651E5 /* mz_strm_mem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_mem.h; path = SSZipArchive/minizip/mz_strm_mem.h; sourceTree = ""; }; + 67F57EA574C1FE96E0AEEDD113CE0C95 /* NSNotificationCenter+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSNotificationCenter+OWS.m"; sourceTree = ""; }; + 681C34BD8749593FD38738AC8B8C3F90 /* SQLCipher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SQLCipher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6849EDDD7461316B2586B180EF78A17D /* StreamDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamDecryptor.swift; path = Sources/CryptoSwift/StreamDecryptor.swift; sourceTree = ""; }; + 68D3CE4987B342415197BF85BACFDC04 /* NSData+messagePadding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+messagePadding.h"; path = "SignalMetadataKit/src/NSData+messagePadding.h"; sourceTree = ""; }; + 68F906E407D325AE1D505C9CFA747FC5 /* mz_compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_compat.h; path = SSZipArchive/minizip/mz_compat.h; sourceTree = ""; }; + 68FA0496DF1D709C89731CC3459CCB19 /* NSDictionary+MTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLManipulationAdditions.m"; path = "Mantle/NSDictionary+MTLManipulationAdditions.m"; sourceTree = ""; }; + 68FCA1F5F245ECE5CC7F8EEB8AFB3617 /* OWSBatchMessageProcessor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSBatchMessageProcessor.m; sourceTree = ""; }; + 69180281065601EE5CC5C179CCF394D9 /* GSR4.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GSR4.crt; sourceTree = ""; }; + 6936B7DA7F663ABDC282F52786CD85CB /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDDispatchQueueLogFormatter.h; path = Classes/Extensions/DDDispatchQueueLogFormatter.h; sourceTree = ""; }; + 693DCA8ACF4FDC894AA5361B0330ECDA /* SSZipArchive-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SSZipArchive-dummy.m"; sourceTree = ""; }; + 6941FB5795C185B861899E00D9B65E33 /* SignalMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalMessage.swift; sourceTree = ""; }; + 695F2A903F1748B109501D99A609854D /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 6979D2841DC8F3FE19DAE0953786FEB1 /* SSZipArchive.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SSZipArchive.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 69860CBAB9B5EE0F4B0A220D1560C6A5 /* ProtobufAPIVersionCheck.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ProtobufAPIVersionCheck.swift; path = Sources/SwiftProtobuf/ProtobufAPIVersionCheck.swift; sourceTree = ""; }; + 698EB628AA7CA0DA1FA7B7F25DD16CDE /* ge_sub.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_sub.c; path = Sources/ed25519/ge_sub.c; sourceTree = ""; }; + 699583DEE43B8F8DE9475B319D4F3E3B /* XMLFeedType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XMLFeedType.swift; path = Sources/FeedKit/Parser/XMLFeedType.swift; sourceTree = ""; }; + 69A86ABA8924C01B2C61C4770DB432CA /* TSStorageIdentityKeyStoreTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSStorageIdentityKeyStoreTests.m; sourceTree = ""; }; + 69B93E89881AC9D2381E5257CD95191A /* NVActivityIndicatorAnimationLineScalePulseOut.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScalePulseOut.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScalePulseOut.swift; sourceTree = ""; }; + 69C0CD4B5C83814715B2FB70DC7D37AF /* OWSUnidentifiedDelivery.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OWSUnidentifiedDelivery.pb.swift; path = SignalMetadataKit/src/Generated/OWSUnidentifiedDelivery.pb.swift; sourceTree = ""; }; + 69E31A87EEFC7EE41106D62D11D3DF2F /* YapDatabaseSearchResultsViewTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSearchResultsViewTransaction.m; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewTransaction.m; sourceTree = ""; }; + 69FEA08EA87DCA938826D3B8B4B7E2AB /* DDMultiFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMultiFormatter.h; path = Classes/Extensions/DDMultiFormatter.h; sourceTree = ""; }; + 6A2B0190EDA832A09F163C8A85A94AEA /* LKUnlinkDeviceMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKUnlinkDeviceMessage.m; sourceTree = ""; }; + 6A2C3928546E4D81EA9831D0A261A256 /* YapDatabaseExtensionConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseExtensionConnection.h; path = YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.h; sourceTree = ""; }; + 6A46A5B4FA6FF701B20968CB45043E88 /* TSThread.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSThread.h; sourceTree = ""; }; + 6A64CBD35C7283084681BBADF61BDF95 /* OWSOutgoingSentMessageTranscript.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOutgoingSentMessageTranscript.m; sourceTree = ""; }; + 6A761FE86F21AD81D59365ED316C72C4 /* OWSSyncManagerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSyncManagerProtocol.h; sourceTree = ""; }; + 6AA92311DC0B8364533FC17CED34845B /* OWSPrimaryStorage+keyFromIntLong.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+keyFromIntLong.h"; sourceTree = ""; }; + 6AC02E4218612F802AA47C312260C04D /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; + 6AD258F50972EB743FDEF83F6C245674 /* LokiPublicChatMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiPublicChatMessage.swift; sourceTree = ""; }; + 6AFCD6B273499502D7923CBD81532D11 /* YapDatabaseRelationship.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRelationship.m; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationship.m; sourceTree = ""; }; + 6B1D1F92A5F6C572AD59731EB07BFC1A /* YDBCKAttachRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKAttachRequest.m; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKAttachRequest.m; sourceTree = ""; }; + 6B5F9780EB6A4D9E7F66C99F92612387 /* OWSCallMessageHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSCallMessageHandler.h; sourceTree = ""; }; + 6B686B9DD7D4FAD9F658B01F8EAD74D2 /* TSRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSRequest.h; sourceTree = ""; }; + 6B9F3254A9F85937C31C15A0A19822D3 /* TSDerivedSecrets.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TSDerivedSecrets.h; path = AxolotlKit/Classes/Ratchet/TSDerivedSecrets.h; sourceTree = ""; }; + 6BCC4B21E0BDB77B62D648B0EE75CF23 /* open.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = open.c; path = Sources/ed25519/open.c; sourceTree = ""; }; + 6BE1A41474A98F566680BB09DCD45C80 /* TextFormatEncodingVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatEncodingVisitor.swift; path = Sources/SwiftProtobuf/TextFormatEncodingVisitor.swift; sourceTree = ""; }; + 6BF41BD1D1EAC0016FDF281E1437B2B6 /* ge_madd.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_madd.c; path = Sources/ed25519/ge_madd.c; sourceTree = ""; }; + 6C1B4AA82048104DCF18B4F901F03010 /* OWSBackupFragment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSBackupFragment.m; sourceTree = ""; }; + 6C3375F08C9E69AED0EB7E8590FC2089 /* fe_sq.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_sq.c; path = Sources/ed25519/fe_sq.c; sourceTree = ""; }; + 6C400B4191B9E5C8C6BA1397EA8EBB44 /* YapDatabaseCloudCoreOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCoreOptions.m; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreOptions.m; sourceTree = ""; }; + 6C8373E810AC14FC0E7EDA6E9C7E5D4B /* PromiseKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PromiseKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6C95726C8FBF3CE6A8896182BB72E004 /* TSIncomingMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSIncomingMessage.h; sourceTree = ""; }; + 6CAD50C6B6764E3D951C8DFCAEB10422 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; + 6D217CAD56D7955EA1E2E5B39B97EC2F /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; + 6D6A0164CB70FA71E1C54C674A964FEC /* YYImage.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = YYImage.modulemap; sourceTree = ""; }; + 6D9862AAE9AF0EF67CB72F16E5C7E751 /* TSThreadTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSThreadTest.m; sourceTree = ""; }; + 6DB20FB299D07904025AF3DEE2C50776 /* zeroize.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = zeroize.h; path = Sources/ed25519/additions/zeroize.h; sourceTree = ""; }; + 6E0DF8C75D077A83C5D6DA4909AF252E /* DDFileLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = Classes/DDFileLogger.m; sourceTree = ""; }; + 6E2F7C68DFA9827EB8D5C6C34708372D /* SignalCoreKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalCoreKit.xcconfig; sourceTree = ""; }; + 6E92563F598247E85BC293708DF249D8 /* OWSDisappearingMessagesConfigurationTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesConfigurationTest.m; sourceTree = ""; }; + 6EB7B8629EC0882A5C86DB168FDDAAAF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 6ECEF93230A9ABC500232DE581343272 /* GTSR1.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GTSR1.crt; sourceTree = ""; }; + 6EDEE6E4F0A11CB59646B8EAF2A7EA32 /* EXTKeyPathCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTKeyPathCoding.h; path = Mantle/extobjc/EXTKeyPathCoding.h; sourceTree = ""; }; + 6F2A48D0070B4C5B14803BA4560B7E25 /* Dictionary+Description.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Dictionary+Description.swift"; sourceTree = ""; }; + 6F2B4421C52EE36C3F01FC370A9FFC07 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; + 6F2BDE793FCAEF2E9473ED96AF713239 /* Pods_SignalShareExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SignalShareExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6F3B2E8F58977F1B52C5F702465A445A /* base2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = base2.h; path = Sources/ed25519/base2.h; sourceTree = ""; }; + 6F5A5A254299A9C0866287E26C3E2AFA /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; + 6F5BB5D17A830593B66179EA2E65B5BB /* AliceAxolotlParameters.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AliceAxolotlParameters.m; path = AxolotlKit/Classes/Ratchet/AliceAxolotlParameters.m; sourceTree = ""; }; + 6F5E8F84C6EB9B37BB22515630229B81 /* ReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ReachabilityManager.swift; sourceTree = ""; }; + 6F68FDCAC245D9FAC1F6EF2F88A0F74C /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; + 6FAE70DCE980D6A8C1EE12EEF01C1A6E /* SelectiveVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SelectiveVisitor.swift; path = Sources/SwiftProtobuf/SelectiveVisitor.swift; sourceTree = ""; }; + 6FB0D6EE7300E92DD36B261E239C482E /* YDBCKMappingTableInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKMappingTableInfo.h; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKMappingTableInfo.h; sourceTree = ""; }; + 6FC4CE2E63D25F0415281B6138CD4A21 /* FeedKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FeedKit.modulemap; sourceTree = ""; }; + 6FE564F37D020FF2DC30AE675663F7CB /* YapDatabaseManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseManager.h; path = YapDatabase/Internal/YapDatabaseManager.h; sourceTree = ""; }; + 700BAD87F1D471885FC64E53B152231B /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; + 703FEC85859EAD4B92FC616CC8FAFB3C /* YapDatabaseSecondaryIndexSetup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexSetup.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.h; sourceTree = ""; }; + 706F511C7F855B35B6FC716EA6853069 /* AtomFeedEntryAuthor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntryAuthor.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntryAuthor.swift; sourceTree = ""; }; + 707C377369A9ADB60BEF9AC220B19DEF /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; + 70D7507BDCB6B44BDDD0749605655BCD /* yap_vfs_shim.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = yap_vfs_shim.h; path = YapDatabase/Internal/yap_vfs_shim.h; sourceTree = ""; }; + 70E660DBF0F7C05FD2C795364105766D /* OWSSyncGroupsMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSSyncGroupsMessage.m; sourceTree = ""; }; + 70FD7C11461D8073F28EE094C7E0398E /* SwiftProtobuf.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftProtobuf.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7114B75F055C9829201172D76C74F555 /* OWSDeviceProvisionerTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceProvisionerTest.m; sourceTree = ""; }; + 71C563809C62060712A0CF89A9CC8964 /* SessionCipher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionCipher.h; path = AxolotlKit/Classes/SessionCipher.h; sourceTree = ""; }; + 71F8EC2FA817FCA5CC82D9CD737E75CF /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; + 72074004CA251CA95E7BF22409F9E5B5 /* Cryptography.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Cryptography.m; path = SignalCoreKit/src/Cryptography.m; sourceTree = ""; }; + 721700DA40586697F65D843BAFFCD992 /* SessionStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionStore.h; path = AxolotlKit/Classes/State/SessionStore.h; sourceTree = ""; }; + 7220355E80E5250EC5DFAF4844486450 /* YapCollectionKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapCollectionKey.m; path = YapDatabase/Utilities/YapCollectionKey.m; sourceTree = ""; }; + 72299AF0E68F7FA10BD0014A854F03BB /* YapDatabaseSecondaryIndexSetup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndexSetup.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.m; sourceTree = ""; }; + 72B2DC13FBF90D6C19D72C133472BF28 /* YapDatabaseActionManagerConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseActionManagerConnection.m; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerConnection.m; sourceTree = ""; }; + 72BCECCB112DB0A26FA3E1434F85F233 /* YYSpriteSheetImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYSpriteSheetImage.h; path = YYImage/YYSpriteSheetImage.h; sourceTree = ""; }; + 72BE24668C6FA7FDE9B2EB0CB9BC15E4 /* NVActivityIndicatorAnimationBallPulseSync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulseSync.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulseSync.swift; sourceTree = ""; }; + 72F0A6F307FA1E04E18B27B1631E432D /* fe_add.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_add.c; path = Sources/ed25519/fe_add.c; sourceTree = ""; }; + 730D512464D25D163ECF35137ED3C8C9 /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; + 731C474BA147AFB99C3E2D719C310B88 /* fe_mul.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_mul.c; path = Sources/ed25519/fe_mul.c; sourceTree = ""; }; + 73211039E65B0E573E3C78E3981AF39F /* YapProxyObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapProxyObject.h; path = YapDatabase/Utilities/YapProxyObject.h; sourceTree = ""; }; + 73426CA08DF00604E049A31EAC7E6465 /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; + 734B0FC5F62E219C97435DEE09A1BBAE /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; + 7374641EAB238DCB3EF3726DD1058A8E /* FIRErrors.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRErrors.h; path = Firebase/Core/Private/FIRErrors.h; sourceTree = ""; }; + 73E0EA91DC333D9E6DCC782A8F072226 /* NVActivityIndicatorView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NVActivityIndicatorView-umbrella.h"; sourceTree = ""; }; + 73FD224CB3F48AB7A6B80C758A3C12C4 /* OWS2FAManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWS2FAManager.m; sourceTree = ""; }; + 744F6738B53804C72304E6E4E4D15613 /* ge_p1p1_to_p3.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p1p1_to_p3.c; path = Sources/ed25519/ge_p1p1_to_p3.c; sourceTree = ""; }; + 7464A7D72DA0F1156CBEFD872556C956 /* Promise+Retrying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Promise+Retrying.swift"; sourceTree = ""; }; + 747ACC6AA16CE13B7DB972D082F870B8 /* YapDatabaseCloudCoreConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCoreConnection.m; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreConnection.m; sourceTree = ""; }; + 749A18E0B29A89725B0F152EFB28F8D4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 74A261FECC2B8EC71F2BBF0371FB2A04 /* YapDatabaseSearchQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchQueue.h; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchQueue.h; sourceTree = ""; }; + 74A8334C5739D10192A4E51FC29B57B4 /* Pods-LokiPushNotificationService-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LokiPushNotificationService-acknowledgements.markdown"; sourceTree = ""; }; + 74AB8F96ABA7C5CE5FDEA83363F96A81 /* YapMemoryTable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapMemoryTable.m; path = YapDatabase/Internal/YapMemoryTable.m; sourceTree = ""; }; + 74B0326F1D2ACB8C5B1C11664FA8EF92 /* YapReachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapReachability.h; path = YapDatabase/Extensions/ActionManager/Utilities/YapReachability.h; sourceTree = ""; }; + 74D39C59AC923A7A9083B875E643DCA9 /* Pods-Signal.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Signal.modulemap"; sourceTree = ""; }; + 74E2343F25338B63F4F05EE0662E1558 /* DDTTYLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = Classes/DDTTYLogger.m; sourceTree = ""; }; + 750BC512DF32509A6F01F1F1B7E90DF6 /* OWSDevice.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDevice.m; sourceTree = ""; }; + 7542EF61F8B1E454EACF38496A5AE231 /* OWSMessageReceiver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageReceiver.m; sourceTree = ""; }; + 7546937EB48D33BD1A88237D24B9923B /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; + 759392B9028EFD2A6E80FA71F06D5897 /* YapDatabaseViewPageMetadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewPageMetadata.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewPageMetadata.h; sourceTree = ""; }; + 75E14F7DC17F0FCE9405FA9CCB679973 /* SignalAccount.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SignalAccount.m; sourceTree = ""; }; + 761383AAED634F641119FAD1247C0EB7 /* ECCTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ECCTests.m; path = AxolotlKitTests/ECCTests.m; sourceTree = ""; }; + 764193D98BC9999D6B595BD71FF57E44 /* YapTouch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapTouch.h; path = YapDatabase/Internal/YapTouch.h; sourceTree = ""; }; + 764F8C4349A9E92B52B2DD86B0FB42D0 /* Message+JSONArrayAdditions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Message+JSONArrayAdditions.swift"; path = "Sources/SwiftProtobuf/Message+JSONArrayAdditions.swift"; sourceTree = ""; }; + 7650324ADEB72AD96A87B50975C83CD9 /* CocoaLumberjack.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CocoaLumberjack.xcconfig; sourceTree = ""; }; + 7682637D8C3070442552AB2CB2FE20B8 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; + 7689CEE9C6A10C3B62B992035DB59801 /* OWSRequestBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSRequestBuilder.h; sourceTree = ""; }; + 76D7A6FD17AE6CF646205C8A6C22D11E /* mz_strm_mem.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_mem.c; path = SSZipArchive/minizip/mz_strm_mem.c; sourceTree = ""; }; + 7711C3EEF9C0F118E276DF9E2C087600 /* SignalServiceKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; path = SignalServiceKit.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 772594CDDB61289819FAFBBF674E43C7 /* SessionState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionState.m; path = AxolotlKit/Classes/Sessions/SessionState.m; sourceTree = ""; }; + 7750DBA0935969E4E24A960890274EE1 /* AES-CBC.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AES-CBC.m"; path = "AxolotlKit/Classes/Crypto/AES-CBC.m"; sourceTree = ""; }; + 779F4E9E9E82FF0BE0B187E7DAE2118C /* Notification+Loki.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Notification+Loki.swift"; sourceTree = ""; }; + 77A6E9C2F7317419C690F2FC7F176674 /* OWSProvisioningCipher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSProvisioningCipher.h; sourceTree = ""; }; + 77BB6FB49D263783FB2758816F8641A3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 781B44F39084C44911F7DCDFE4C68668 /* OWSDevicesService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDevicesService.m; sourceTree = ""; }; + 785B06E3977758C55944C5FEEDC6C8AD /* TextFormatScanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatScanner.swift; path = Sources/SwiftProtobuf/TextFormatScanner.swift; sourceTree = ""; }; + 7874EA59609BDDED56ED1CC41B2641FF /* YapDatabaseLogging.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseLogging.m; path = YapDatabase/Internal/YapDatabaseLogging.m; sourceTree = ""; }; + 787D098CC135CFAA1C14EF590FD15852 /* JSONScanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONScanner.swift; path = Sources/SwiftProtobuf/JSONScanner.swift; sourceTree = ""; }; + 78962F6D00247134D05884A55560C354 /* GULAppEnvironmentUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULAppEnvironmentUtil.h; path = GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.h; sourceTree = ""; }; + 78B14A3BA2A66323A344A15A292F9463 /* GCDWebServerFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFunctions.m; path = GCDWebServer/Core/GCDWebServerFunctions.m; sourceTree = ""; }; + 78B70DF5EFF77A3FA22E446B531CF4A7 /* FIRBundleUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRBundleUtil.m; path = Firebase/Core/FIRBundleUtil.m; sourceTree = ""; }; + 78BB599DE73371331D76A943E93D4474 /* mz_crypt_apple.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_crypt_apple.c; path = SSZipArchive/minizip/mz_crypt_apple.c; sourceTree = ""; }; + 78FC5D1D868DAAE14E3E0E28370779C9 /* YapMemoryTable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapMemoryTable.h; path = YapDatabase/Internal/YapMemoryTable.h; sourceTree = ""; }; + 796AAC4B70830469F6321B5C4279DFAE /* YapDatabaseRTreeIndexConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndexConnection.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexConnection.m; sourceTree = ""; }; + 796C08EC3FED726DF8750AF7E774BA5F /* mz_strm_wzaes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_wzaes.h; path = SSZipArchive/minizip/mz_strm_wzaes.h; sourceTree = ""; }; + 79918D43364734F4E0FC3EBB05530976 /* YapDatabaseViewMappings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewMappings.h; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewMappings.h; sourceTree = ""; }; + 79A10B8083B7569F81898E82E014F725 /* ECKeyPair+ECKeyPairTesting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ECKeyPair+ECKeyPairTesting.h"; path = "AxolotlKitTests/Util/ECKeyPair+ECKeyPairTesting.h"; sourceTree = ""; }; + 79C04F50709C0EF3BD1F0F6471FD13BA /* libPhoneNumber-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "libPhoneNumber-iOS-umbrella.h"; sourceTree = ""; }; + 79DCF9E22808274C8BB5352DF4BC9A63 /* YapReachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapReachability.m; path = YapDatabase/Extensions/ActionManager/Utilities/YapReachability.m; sourceTree = ""; }; + 79F8A3B011810BE8F0376D62B96A7B41 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/MobileCoreServices.framework; sourceTree = DEVELOPER_DIR; }; + 7A5E71F66CB714475637EE1229E31F45 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; + 7A7901BA1F8FDDF459DEDA117BBDD604 /* FABAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FABAttributes.h; path = iOS/Fabric.framework/Headers/FABAttributes.h; sourceTree = ""; }; + 7AB91ABED214B102BCD54472E0E1ED70 /* OWSFakeMessageSender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFakeMessageSender.h; sourceTree = ""; }; + 7AF5BA46DEDC3D1D5D23D3C956CE94C1 /* Mantle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mantle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7B0E169748970E5299EE53D0A8860272 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; + 7B508E800B33F0690FB9C1C8F77D8743 /* GoogleUtilities.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GoogleUtilities.modulemap; sourceTree = ""; }; + 7B700F037E12DD43C89E5600B4FEFB24 /* Starscream-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-prefix.pch"; sourceTree = ""; }; + 7BA4E832611B70507407DC40A4449387 /* YapDatabaseRelationshipNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipNode.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipNode.h; sourceTree = ""; }; + 7BB5EA3EF2871CDE171E2FD0E94A1CA2 /* SCKExceptionWrapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SCKExceptionWrapper.m; path = SignalCoreKit/src/SCKExceptionWrapper.m; sourceTree = ""; }; + 7BC4B9F21686CAD9A7AB18F043389E4C /* YapDatabaseFullTextSearchHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFullTextSearchHandler.m; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchHandler.m; sourceTree = ""; }; + 7BDCFBFA24204A9E00641C39 /* FallbackSessionCipher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FallbackSessionCipher.swift; sourceTree = ""; }; + 7BDCFBFB24204A9E00641C39 /* SessionResetProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SessionResetProtocol.swift; sourceTree = ""; }; + 7BDCFBFC24204A9E00641C39 /* DiffieHellman.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DiffieHellman.swift; sourceTree = ""; }; + 7BDCFBFD24204A9E00641C39 /* SessionResetStatus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SessionResetStatus.swift; sourceTree = ""; }; + 7BDCFBFE24204A9E00641C39 /* LokiServiceCipher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LokiServiceCipher.swift; sourceTree = ""; }; + 7BF3F4E8D4F40B5E6B4F0D335349EF75 /* FIRConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRConfiguration.m; path = Firebase/Core/FIRConfiguration.m; sourceTree = ""; }; + 7C19896B7223262F6AF0B6436B55312E /* MTLModel+NSCoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MTLModel+NSCoding.m"; path = "Mantle/MTLModel+NSCoding.m"; sourceTree = ""; }; + 7C3438F69656192A4D49715B3145CCEE /* AtomFeedEntry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntry.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntry.swift; sourceTree = ""; }; + 7C3BF9FF6FA4722E463D396147A3D138 /* crypto_verify_32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_verify_32.h; path = Sources/ed25519/nacl_includes/crypto_verify_32.h; sourceTree = ""; }; + 7C3E4D253EE4F13512ECD97C39B6BAF5 /* YapDatabaseViewLocator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewLocator.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewLocator.h; sourceTree = ""; }; + 7C404FA233B7C9371746FE65894AEBF1 /* ISO8601DateFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateFormatter.swift; path = Sources/FeedKit/Dates/ISO8601DateFormatter.swift; sourceTree = ""; }; + 7C5D62E86302FF7667076D2CE29F71D8 /* YapDatabaseFullTextSearchConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearchConnection.h; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.h; sourceTree = ""; }; + 7C5D9930527F069E1181816BD3392CE5 /* crypto_uint32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_uint32.h; path = Sources/ed25519/nacl_includes/crypto_uint32.h; sourceTree = ""; }; + 7C6E84AADE27B17424363D195E41B271 /* FeatureFlags.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FeatureFlags.swift; sourceTree = ""; }; + 7C8B32409E6F503A6D50761E948C5CB9 /* YapDatabaseAutoView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseAutoView.m; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoView.m; sourceTree = ""; }; + 7CDD86EAC731556DB2C96619B5E07D46 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; + 7D50A6E22E35A94CE9D560E4A07D62F9 /* Pods-SignalTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SignalTests-acknowledgements.plist"; sourceTree = ""; }; + 7D5A7244271C2E9759DEC0CE645997F6 /* Ed25519.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Ed25519.m; path = Classes/Ed25519.m; sourceTree = ""; }; + 7DBD6A4BA40D3A1217781A84F62E37FC /* Mantle-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mantle-prefix.pch"; sourceTree = ""; }; + 7E3E2C1CB3EDE7BED63212487A73BC3A /* SessionState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionState.h; path = AxolotlKit/Classes/Sessions/SessionState.h; sourceTree = ""; }; + 7E539CD739CC63CAB69C42A56066169B /* YapDatabaseOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseOptions.h; path = YapDatabase/YapDatabaseOptions.h; sourceTree = ""; }; + 7E6B299A84AC08F9734119A9BE322E01 /* YapDatabaseRTreeIndexOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexOptions.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexOptions.h; sourceTree = ""; }; + 7E809EFE5F5EDD63DE066E28A38B267D /* HKDFKit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = HKDFKit.unit.xcconfig; sourceTree = ""; }; + 7EC7E74BB2E7277E12397B1EC778FCD6 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; }; + 7ED068C5B8A22CB68AC0CABDF886E903 /* EXTScope.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTScope.h; path = Mantle/extobjc/EXTScope.h; sourceTree = ""; }; + 7F06DFB17CF0F5485817E3619A71D681 /* OWSFailedMessagesJob.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFailedMessagesJob.m; sourceTree = ""; }; + 7F4A6E37D8E4E19D57A08577138D62A2 /* SignalMetadataKit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalMetadataKit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; + 7F5169D8EEC995A7CE72A61C57C994E8 /* MediaPrice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaPrice.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaPrice.swift; sourceTree = ""; }; + 7F603763571AA65004394FA430F0B6F5 /* OWSPrimaryStorage+PreKeyStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+PreKeyStore.h"; sourceTree = ""; }; + 7F68F503DCA7185D58EE99D6BF44C890 /* NVActivityIndicatorViewable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorViewable.swift; path = Source/NVActivityIndicatorView/Presenter/NVActivityIndicatorViewable.swift; sourceTree = ""; }; + 7FC14B6F4E4D823EC6B4845FBA5DFD60 /* JSONEncodingError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONEncodingError.swift; path = Sources/SwiftProtobuf/JSONEncodingError.swift; sourceTree = ""; }; + 7FDF06DCD95A631F1B45A519C7D82F22 /* MIMETypeUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MIMETypeUtil.h; sourceTree = ""; }; + 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjack.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8012E7090FE443E44D90F18BA1CF435D /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; + 802E194E3C93921AB521923991B70369 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 80370718C7F3990B7CD783D5C0C1D475 /* Pods-LokiPushNotificationService.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LokiPushNotificationService.modulemap"; sourceTree = ""; }; + 803E4395C90CA2A21691D52318E982DA /* OWSReadReceiptManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSReadReceiptManager.m; sourceTree = ""; }; + 804A3876312DC0778D941003DB568C19 /* DeviceNamesTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceNamesTest.swift; sourceTree = ""; }; + 80700E2BFC702D4F029A185379287EB3 /* OWSRecipientIdentity.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSRecipientIdentity.m; sourceTree = ""; }; + 809796F1453997EAC850A511C5D27973 /* LKSessionRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKSessionRequestMessage.m; sourceTree = ""; }; + 8098AAB04666BACCC63EA3C07A6E7224 /* NSError+MessageSending.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSError+MessageSending.h"; sourceTree = ""; }; + 809F572799EF6229FB222895228B1EDC /* JSONFeedItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeedItem.swift; path = Sources/FeedKit/Models/JSON/JSONFeedItem.swift; sourceTree = ""; }; + 80AE40F3897B23C852BBDCC33D0400A0 /* ContactDiscoveryService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ContactDiscoveryService.m; sourceTree = ""; }; + 813B2C1B2D39614630B373AD555EB9C0 /* TSSocketManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSSocketManager.m; sourceTree = ""; }; + 8155C81B279FE36B315FF514412AB5E2 /* Reachability.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Reachability.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8163507CFFA435E61BBD02996B914E9E /* OWSOutgoingCallMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOutgoingCallMessage.h; sourceTree = ""; }; + 8169B1F123ED8AC936DDF5434EE7D7E6 /* NVActivityIndicatorAnimationBallGridBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallGridBeat.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallGridBeat.swift; sourceTree = ""; }; + 819B4D37DABD518C23C96906928E3AF7 /* mz_strm_os.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_os.h; path = SSZipArchive/minizip/mz_strm_os.h; sourceTree = ""; }; + 81CFE4B4DEA6A9D99156F986C07B0E5A /* source_context.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = source_context.pb.swift; path = Sources/SwiftProtobuf/source_context.pb.swift; sourceTree = ""; }; + 81D2A96070AF88680FECAA768E492C57 /* YapDatabaseCloudKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKit.h; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKit.h; sourceTree = ""; }; + 81D37B3B1AA115ACEB143E59ABB617DB /* OWSPrimaryStorage+Loki.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+Loki.h"; sourceTree = ""; }; + 81E89EC26192548CB4F0AE9E1101EF12 /* RootKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RootKey.m; path = AxolotlKit/Classes/Ratchet/RootKey.m; sourceTree = ""; }; + 821E91DAE5C425140C8AB1EE16572C82 /* CryptoSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.xcconfig; sourceTree = ""; }; + 82CF7D5133AD14027C5049DC2AD6CEC4 /* OWSHTTPSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSHTTPSecurityPolicy.m; sourceTree = ""; }; + 82DE1727B0D4C81BAABE46E5F789F087 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/AssetsLibrary.framework; sourceTree = DEVELOPER_DIR; }; + 830143A71339443831E45AD7F686E810 /* SAMKeychain-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SAMKeychain-prefix.pch"; sourceTree = ""; }; + 8371AA146FC6CDAADA38E31A2815EF6A /* ge_frombytes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_frombytes.c; path = Sources/ed25519/ge_frombytes.c; sourceTree = ""; }; + 839A22209D58857FF8E24F2C2D4FCBD5 /* AFNetworking.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AFNetworking.modulemap; sourceTree = ""; }; + 839AEEDE8A41FB387D452B3E987F11F2 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; + 83C1F4EF91B95EC0E154297660D4EE9B /* MediaScene.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaScene.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaScene.swift; sourceTree = ""; }; + 83C655229C056795BF35B66D2BA12B28 /* OWSPrimaryStorage+PreKeyStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+PreKeyStore.m"; sourceTree = ""; }; + 83D60F75F80FD936C2D492A65554D5D3 /* NSDictionary+MTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLManipulationAdditions.h"; path = "Mantle/NSDictionary+MTLManipulationAdditions.h"; sourceTree = ""; }; + 83D7E3AE82ED07B05F63D1009DABAA23 /* FIRComponentContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentContainer.h; path = Firebase/Core/Private/FIRComponentContainer.h; sourceTree = ""; }; + 841E818721F0C1F79B75FC01E1D0BCE6 /* YapDatabaseConnectionProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseConnectionProxy.m; path = YapDatabase/Extensions/ConnectionProxy/YapDatabaseConnectionProxy.m; sourceTree = ""; }; + 8479AA71B4F0990E2218270FD45E0096 /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-umbrella.h"; sourceTree = ""; }; + 84A828D1DB2C335AF3EA79714BDE065B /* Pods_Signal.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Signal.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 84AA67E8F7C3DC134A1EBE2A67BC828F /* YapDatabaseTransaction+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YapDatabaseTransaction+OWS.h"; sourceTree = ""; }; + 84ABFCFCC8259F28B695B77C28D028FD /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; + 84D03A60AB6DBCB1011E583211013BBD /* sign_modified.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = sign_modified.c; path = Sources/ed25519/additions/sign_modified.c; sourceTree = ""; }; + 84E0CF2E38A4A0848CBF9404D288AA7D /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 850C2F42271C9DB876932F25172E88C8 /* YapDatabaseSearchQueuePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchQueuePrivate.h; path = YapDatabase/Extensions/SearchResultsView/Internal/YapDatabaseSearchQueuePrivate.h; sourceTree = ""; }; + 851547BD11A2A7285F59D17153217F70 /* FIRVersion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRVersion.m; path = Firebase/Core/FIRVersion.m; sourceTree = ""; }; + 8523EA038B75F96F1BA9DB88EA3AC0BE /* LokiChannelInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiChannelInfo.swift; sourceTree = ""; }; + 85319A8B0118B36E0BE8FAB4F1766405 /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; + 85554FF3CE7607CC85B5EEA56E4A7F2B /* YapDatabaseFilteredViewTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFilteredViewTypes.h; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewTypes.h; sourceTree = ""; }; + 855963D9B9B178E7E378714E0D8B1E6C /* MediaDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaDescription.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaDescription.swift; sourceTree = ""; }; + 85D76F6A8041BEC4042F1F13A8EC0D9D /* DDASLLogCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDASLLogCapture.m; path = Classes/DDASLLogCapture.m; sourceTree = ""; }; + 85EE95244EA265DC5A3EF5E234643B3B /* Decoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Decoder.swift; path = Sources/SwiftProtobuf/Decoder.swift; sourceTree = ""; }; + 8602136F435CBB465EB185925D9814E1 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; + 860958FC42065E9509448ECA8F73D7E7 /* TSAccountManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSAccountManager.m; sourceTree = ""; }; + 867D8C049D55640B4B2F9D053F965CD6 /* TSOutgoingMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSOutgoingMessage.m; sourceTree = ""; }; + 86A1D90DB7D363CB54A6710BD62569E5 /* MathUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MathUtils.swift; path = Sources/SwiftProtobuf/MathUtils.swift; sourceTree = ""; }; + 86C4DAEFC3A97318C5F67BD4E2266E7E /* TSYapDatabaseObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSYapDatabaseObject.h; sourceTree = ""; }; + 86CA7A38E9C01E2870740CE3C877ECB2 /* LokiRSSFeedProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiRSSFeedProxy.swift; sourceTree = ""; }; + 86D3832CFAF4206AC3AECCE9B0167CCB /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; }; + 86ECD28850EFCDC8BC56FDFB264E4971 /* LokiDatabaseUtilities.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiDatabaseUtilities.swift; sourceTree = ""; }; + 86F21E4CE796940EE08DE23192AE2311 /* OWSFakeNetworkManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFakeNetworkManager.h; sourceTree = ""; }; + 86F76FA37A10B74D226BD318E45F836D /* OWSOutgoingCallMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOutgoingCallMessage.m; sourceTree = ""; }; + 871B2ADF0D820D59CD592EFCAB8582EE /* NSArray+Functional.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSArray+Functional.h"; sourceTree = ""; }; + 87561AF04B282F82A774AC90571B1237 /* HKDFKit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "HKDFKit-Unit-Tests"; path = "HKDFKit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8767699DEEA1ECA679A489EFB1C6FA47 /* OWSDispatch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDispatch.m; sourceTree = ""; }; + 87905B12EE3EA0EB7580FD8EEAD83657 /* OWSUDManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSUDManager.swift; sourceTree = ""; }; + 87ADB38C403E71D86B7C23FF3103E939 /* mz.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz.h; path = SSZipArchive/minizip/mz.h; sourceTree = ""; }; + 883922EBDEA4E855F07198B37FF9B3A1 /* ReceivingChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ReceivingChain.m; path = AxolotlKit/Classes/Ratchet/ReceivingChain.m; sourceTree = ""; }; + 883E7AD2847C013484B12A1D1E1D0EF6 /* AxolotlKit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AxolotlKit-Unit-Tests-Info.plist"; sourceTree = ""; }; + 88476927FB7CB1C2E9690247C97AD92F /* HKDFKit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "HKDFKit-Unit-Tests-Info.plist"; sourceTree = ""; }; + 88731B7E8E4E9D2D7F2B42C708231F16 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationTriangleSkewSpin.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationTriangleSkewSpin.swift; sourceTree = ""; }; + 889BC598F7B514D4F3CCA6B6D69BA9A6 /* NVActivityIndicatorAnimationBallScale.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScale.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScale.swift; sourceTree = ""; }; + 88AC67E029EE959AD1832DF9B256304D /* DDTTYLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = Classes/DDTTYLogger.h; sourceTree = ""; }; + 88AC9C1F88151E807B537E873CFF5D87 /* Mantle-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mantle-umbrella.h"; sourceTree = ""; }; + 88B209725E331D8220861D78D5A74B7E /* YapDirtyDictionary.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDirtyDictionary.m; path = YapDatabase/Utilities/YapDirtyDictionary.m; sourceTree = ""; }; + 88CB908E6F9906FE43E749E27A5E6C11 /* LokiAPI+SwarmAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "LokiAPI+SwarmAPI.swift"; sourceTree = ""; }; + 88EB0EA319A0EBCC39339A62108D9CF3 /* GCDWebServer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServer.m; path = GCDWebServer/Core/GCDWebServer.m; sourceTree = ""; }; + 891FACBC1DE91F4A0B2BDEDCEE7BC05F /* YapDatabaseFilteredViewTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFilteredViewTransaction.m; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewTransaction.m; sourceTree = ""; }; + 892900F281880C8AE7743E62AA60877B /* WebSocketProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebSocketProto.swift; sourceTree = ""; }; + 897F47E404A809FF6CB7C2EE7848A9AB /* GCDWebServerDataRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataRequest.h; path = GCDWebServer/Requests/GCDWebServerDataRequest.h; sourceTree = ""; }; + 899A74B2C131EFEF7B2C8659972BA54D /* AxolotlKit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AxolotlKit.unit.xcconfig; sourceTree = ""; }; + 89A56356FEE05D7ABF5CC3C689C74BE7 /* ProxiedContentDownloader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ProxiedContentDownloader.swift; sourceTree = ""; }; + 89AC2CD340521C6FB86EC88E868D3CCE /* YapDatabaseViewPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewPrivate.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewPrivate.h; sourceTree = ""; }; + 89B783F28B6343C822404AFF3DD2508A /* YDBCKChangeRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKChangeRecord.h; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeRecord.h; sourceTree = ""; }; + 89D20E6A287D637290F9403755ED04CD /* LKEphemeralMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKEphemeralMessage.m; sourceTree = ""; }; + 8A1AF3CB6EC742A49627432AA3F1079E /* OWSSyncGroupsRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSSyncGroupsRequestMessage.m; sourceTree = ""; }; + 8A62E4A800A778138E90B175EA59B163 /* NSUserDefaults+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSUserDefaults+OWS.m"; sourceTree = ""; }; + 8A7719BB03C7A518C712ABDCEB9EA522 /* NSObject+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+OWS.h"; path = "SignalCoreKit/src/NSObject+OWS.h"; sourceTree = ""; }; + 8A9CFF54A6A16103137CDF9F0F08C9B2 /* RSSFeedSkipHour.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedSkipHour.swift; path = Sources/FeedKit/Models/RSS/RSSFeedSkipHour.swift; sourceTree = ""; }; + 8AB03542DEDBEEF97F41638F5DF8C979 /* mz_os_posix.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_os_posix.c; path = SSZipArchive/minizip/mz_os_posix.c; sourceTree = ""; }; + 8ACAA1B3B319B4AFCFDF6807B0D64C94 /* TSContactThreadTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSContactThreadTest.m; sourceTree = ""; }; + 8AD9D0E435E69652D66C37CEE050F8D5 /* SignalServiceKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalServiceKit-umbrella.h"; sourceTree = ""; }; + 8ADF913D72839AECB99A60F0C321FA7B /* sqlite3.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; path = sqlite3.c; sourceTree = ""; }; + 8AE80B76F50F61A817B256AA3C802312 /* GCDWebServerResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerResponse.h; path = GCDWebServer/Core/GCDWebServerResponse.h; sourceTree = ""; }; + 8AF589BB96328CC758625BF1D5930FD9 /* SignalMetadataKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalMetadataKit-prefix.pch"; sourceTree = ""; }; + 8B0ED1C2B9487E800DDC3BD9B38EF8DA /* SigningTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SigningTests.m; path = BuildTests/BuildTestsTests/SigningTests.m; sourceTree = ""; }; + 8B63D137999DB65B06D31E35A470C04B /* Message+AnyAdditions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Message+AnyAdditions.swift"; path = "Sources/SwiftProtobuf/Message+AnyAdditions.swift"; sourceTree = ""; }; + 8B6B911CA1251438A0E6F079B2DDDF47 /* TSGroupThread.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSGroupThread.h; sourceTree = ""; }; + 8BBA7CE807B3DE9C0FFD87B551A25B10 /* JSONFeedHub.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeedHub.swift; path = Sources/FeedKit/Models/JSON/JSONFeedHub.swift; sourceTree = ""; }; + 8BC7E345C383B05CA1D88F09A6E9852F /* Pods-SignalTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SignalTests-resources.sh"; sourceTree = ""; }; + 8BD558EDBB0A6D832D52F7A38510D4CA /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8BEDA6DFCB00EFF31CDF76353AB49116 /* LokiHttpClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiHttpClient.swift; sourceTree = ""; }; + 8C70CDDDD3D9519C76E6A66DA5911A36 /* Mantle.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Mantle.modulemap; sourceTree = ""; }; + 8C7AE497AEEB787295DB659814B0E005 /* YapDatabaseSecondaryIndexHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndexHandler.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexHandler.m; sourceTree = ""; }; + 8C8EF1C2E95361223D23E1BF4F1A252C /* LokiMessageWrapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiMessageWrapper.swift; sourceTree = ""; }; + 8C97323C785F956F20E4DF2708ABBF47 /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; + 8CC0EBF585B2AA1ED345487940A70D2A /* PreKeyBundle+jsonDict.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PreKeyBundle+jsonDict.h"; sourceTree = ""; }; + 8CEA6F479C14F55D9E4C110A173A3CB9 /* NVActivityIndicatorAnimationAudioEqualizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationAudioEqualizer.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationAudioEqualizer.swift; sourceTree = ""; }; + 8D0E31C684E860A5B56FA99E7B7FAA38 /* RSSFeedCloud.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedCloud.swift; path = Sources/FeedKit/Models/RSS/RSSFeedCloud.swift; sourceTree = ""; }; + 8D5257EA1E02DB7846D39ABC44EC6FDE /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; + 8D6B11DF1DE5C927405E3D498DB33626 /* NBGeneratedPhoneNumberMetaData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBGeneratedPhoneNumberMetaData.h; path = libPhoneNumber/NBGeneratedPhoneNumberMetaData.h; sourceTree = ""; }; + 8D7963576561DCE9820B0F89DC9A99DC /* Curve25519.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Curve25519.h; path = Classes/Curve25519.h; sourceTree = ""; }; + 8D8CA6937BDC23E93BFB2E95035530FE /* NSError+MTLModelException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSError+MTLModelException.m"; path = "Mantle/NSError+MTLModelException.m"; sourceTree = ""; }; + 8D9B14548155194C4EB8C3DA535C8DE6 /* NBPhoneNumberDesc.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBPhoneNumberDesc.h; path = libPhoneNumber/NBPhoneNumberDesc.h; sourceTree = ""; }; + 8DAA606506441D6F5F68E274213B6AFF /* OWSError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSError.m; sourceTree = ""; }; + 8DAB0969EF3230A62CB8899E785EA0B8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+MTLPredefinedTransformerAdditions.h"; path = "Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.h"; sourceTree = ""; }; + 8DCE1C38C58E9CCC399FF12F412E0FBC /* YapTouch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapTouch.m; path = YapDatabase/Internal/YapTouch.m; sourceTree = ""; }; + 8E2EF0A62F387934332523F90B2DFBEE /* YDBCKRecordTableInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKRecordTableInfo.m; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKRecordTableInfo.m; sourceTree = ""; }; + 8E677C84549A6C3A7529FE4306F8E27C /* OWSLogs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OWSLogs.h; path = SignalCoreKit/src/OWSLogs.h; sourceTree = ""; }; + 8E851CBE2DC741B080A654D96FF6CFEC /* TSThread.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSThread.m; sourceTree = ""; }; + 8ECEF9808702C6BE47693B116C943F2C /* PhoneNumberTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PhoneNumberTest.m; sourceTree = ""; }; + 8F19D0005332E3E1281EF7FC37A3409E /* MTLModel+NSCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MTLModel+NSCoding.h"; path = "Mantle/MTLModel+NSCoding.h"; sourceTree = ""; }; + 8F990FC34575F60EE79251727C6796D6 /* Pods-LokiPushNotificationService-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LokiPushNotificationService-acknowledgements.plist"; sourceTree = ""; }; + 8FC3EEE6F3108AC4CA31C87DB973517E /* GCDWebServer.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GCDWebServer.xcconfig; sourceTree = ""; }; + 8FD6263894DBCECA28515814110DFEFB /* String+Trimming.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+Trimming.swift"; sourceTree = ""; }; + 8FF8FE61429C51200BC3BE033A5586B5 /* AtomFeedEntryContributor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntryContributor.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntryContributor.swift; sourceTree = ""; }; + 902337E99018A2BA08EFFD8973216368 /* TSPreKeyManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSPreKeyManager.m; sourceTree = ""; }; + 9043C08A6BE400D5C05D7A518515E28D /* OWSRequestFactory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSRequestFactory.m; sourceTree = ""; }; + 906184879971DFD39E652574192963D8 /* Fingerprint.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Fingerprint.pb.swift; sourceTree = ""; }; + 9062A7B6DE5D2C80B061102F2CCE4C98 /* NSArray+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSArray+OWS.m"; sourceTree = ""; }; + 907600F764B50037C4333A2535545D6D /* YapDatabaseHooksPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseHooksPrivate.h; path = YapDatabase/Extensions/Hooks/Internal/YapDatabaseHooksPrivate.h; sourceTree = ""; }; + 908256C090BC137B9CF805A52AE9D73A /* OWSSignalAddress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSSignalAddress.swift; sourceTree = ""; }; + 908D224F3F501CD0DC7990943A622544 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; + 9091B03F1B9D10C6600CF1FA415FB0E7 /* SignalCoreKit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalCoreKit-Unit-Tests-prefix.pch"; sourceTree = ""; }; + 90AE2B46707CD008CDDB3049EB18BC10 /* OWSProfileKeyMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSProfileKeyMessage.m; sourceTree = ""; }; + 90F94D9FA523A0E8D1FC5A1B80A9A52A /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDDispatchQueueLogFormatter.m; path = Classes/Extensions/DDDispatchQueueLogFormatter.m; sourceTree = ""; }; + 91229BA3419AD83EF55CD0DB0C6EF12F /* OWSReadTracking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSReadTracking.h; sourceTree = ""; }; + 91249A30400D634EA50A32908454151B /* TSSocketManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSSocketManager.h; sourceTree = ""; }; + 9134181F564388A64445E88801FCA754 /* YapDatabaseActionManagerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseActionManagerPrivate.h; path = YapDatabase/Extensions/ActionManager/Internal/YapDatabaseActionManagerPrivate.h; sourceTree = ""; }; + 913E83C03F55E4C8DA9AA47176BD5132 /* NSNotificationCenter+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OWS.h"; sourceTree = ""; }; + 917746BE578EC23BEBB96F8C2C3B1B1F /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; + 9180424851BFC0CA72C6DBE5037CBE18 /* YapRowidSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapRowidSet.h; path = YapDatabase/Internal/YapRowidSet.h; sourceTree = ""; }; + 918D42603303C1F7F97CCCD81F062643 /* OWSDispatch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDispatch.h; sourceTree = ""; }; + 91BE9156CC6AF11874ED382ACB8332FD /* ZipArchive.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZipArchive.h; path = SSZipArchive/ZipArchive.h; sourceTree = ""; }; + 91C5F50FAC049383195E8D9CE1B8872B /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; + 91D74F71D488A6CC4AE46F1F677E1680 /* JSONFeedAttachment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeedAttachment.swift; path = Sources/FeedKit/Models/JSON/JSONFeedAttachment.swift; sourceTree = ""; }; + 9229E0829E79ADD6B3A184643906E83D /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; + 923B0002172C50DBE8EFF0230AFDEDA7 /* NVActivityIndicatorAnimationBallBeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallBeat.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallBeat.swift; sourceTree = ""; }; + 92642E0B3D7F05656111DFEA9B10BCE8 /* mz_strm_split.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_split.h; path = SSZipArchive/minizip/mz_strm_split.h; sourceTree = ""; }; + 926C9B4633A4B6BC8196E8650281DCC1 /* YapDatabaseCloudKitTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudKitTransaction.m; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTransaction.m; sourceTree = ""; }; + 92772AF150EF98B4B4F2167D6C6BB03D /* HKDFKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HKDFKit-umbrella.h"; sourceTree = ""; }; + 92A69C4A4EEFDAF455B8D96453BB5512 /* GCDWebServerErrorResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerErrorResponse.h; path = GCDWebServer/Responses/GCDWebServerErrorResponse.h; sourceTree = ""; }; + 92AC2C29DFD853E7F5E1F54AE3572636 /* OWSMessageSender.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageSender.m; sourceTree = ""; }; + 92D0B6858E87DD42655B202F88A9F793 /* FeedDataType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FeedDataType.swift; path = Sources/FeedKit/Parser/FeedDataType.swift; sourceTree = ""; }; + 931972E42247B773324D60AFC83C9940 /* YapDatabaseActionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseActionManager.m; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManager.m; sourceTree = ""; }; + 933CFDEE7EC7D4540D8D171AC02DA0A7 /* NVActivityIndicatorAnimationBallGridPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallGridPulse.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallGridPulse.swift; sourceTree = ""; }; + 9363CACDBB3E9B8F64FBF6753EF39B16 /* NSArray+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+PureLayout.m"; path = "PureLayout/PureLayout/NSArray+PureLayout.m"; sourceTree = ""; }; + 938EDD512F6E74BCF153E7F74AE17C58 /* SessionCipher+Loki.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SessionCipher+Loki.m"; sourceTree = ""; }; + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 93C942C3D8516F5DE97E47AA63DA0714 /* OWSContact.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSContact.h; sourceTree = ""; }; + 947134392B5F61A56CFA096EB618CB70 /* YapDatabasePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabasePrivate.h; path = YapDatabase/Internal/YapDatabasePrivate.h; sourceTree = ""; }; + 948D245B84534BBF02908091691D80DC /* SSKProtoPrekeyBundleMessage+Loki.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "SSKProtoPrekeyBundleMessage+Loki.swift"; sourceTree = ""; }; + 94C6364B0ECF2BFD914322964E45835C /* mz_strm_pkcrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_pkcrypt.h; path = SSZipArchive/minizip/mz_strm_pkcrypt.h; sourceTree = ""; }; + 94F08937CA9CEB694F230008D8D5CD73 /* ProofOfWork.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ProofOfWork.swift; sourceTree = ""; }; + 94FB2CFC53F2C22FCE27A770D8D9FAA9 /* OWSDeviceProvisioningCodeService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceProvisioningCodeService.m; sourceTree = ""; }; + 94FB612C2EE5BDAA33DF71BA031CFC60 /* DublinCoreNamespace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DublinCoreNamespace.swift; path = "Sources/FeedKit/Models/Namespaces/Dublin Core/DublinCoreNamespace.swift"; sourceTree = ""; }; + 9506478AF65D01698CF76F637A1386FF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 952CC1927947DF387B5B466EF45475C7 /* YapSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapSet.h; path = YapDatabase/Utilities/YapSet.h; sourceTree = ""; }; + 95323C9EC43170DF77A7F05196E6F85E /* YapBidirectionalCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapBidirectionalCache.h; path = YapDatabase/Utilities/YapBidirectionalCache.h; sourceTree = ""; }; + 9532AF75D18328D01C20E868D5D0811D /* AliceAxolotlParameters.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AliceAxolotlParameters.h; path = AxolotlKit/Classes/Ratchet/AliceAxolotlParameters.h; sourceTree = ""; }; + 95416E57C55F3F6E5DFD2696865385E2 /* YapDatabaseAutoViewConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseAutoViewConnection.h; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoViewConnection.h; sourceTree = ""; }; + 95CF535B9B7FFB769395ED4616102BB3 /* mz_os.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_os.c; path = SSZipArchive/minizip/mz_os.c; sourceTree = ""; }; + 95EC2103B502BC3B7564B1637A305D03 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; + 95EE59242422FC71E3AB1D67692FBB6B /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; + 95FB11FFFBE456D49E7A912CC7109C90 /* Data+OWS.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+OWS.swift"; path = "SignalCoreKit/src/Data+OWS.swift"; sourceTree = ""; }; + 960AF87F5DFCA86CEB2E67AE98AB1DF4 /* SignalServiceKit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalServiceKit-Unit-Tests-prefix.pch"; sourceTree = ""; }; + 9613A5333B0DB08A65FFA5901A012BDC /* OWSSyncConfigurationMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSSyncConfigurationMessage.m; sourceTree = ""; }; + 9620E716ABF6321E0312E3EAFC2F3C40 /* TSInvalidIdentityKeyReceivingErrorMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSInvalidIdentityKeyReceivingErrorMessage.m; sourceTree = ""; }; + 9656A2BA216DBCAD50C401F0D75D4BB5 /* OWSProvisioningCipherTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSProvisioningCipherTest.m; sourceTree = ""; }; + 96669711A0BD05636F7754BCF41A24D7 /* OWSIncompleteCallsJob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSIncompleteCallsJob.h; sourceTree = ""; }; + 9670CC6BD5A38458F1AE75089A7F6845 /* DataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DataSource.h; sourceTree = ""; }; + 96EDF820174086266CCDE80038180DB3 /* YapDatabaseCloudCorePipeline.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCorePipeline.m; path = YapDatabase/Extensions/CloudCore/Utilities/Execution/YapDatabaseCloudCorePipeline.m; sourceTree = ""; }; + 96FEFDD95B5A58AF1A86366439475955 /* LokiPublicChatManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiPublicChatManager.swift; sourceTree = ""; }; + 970E6A4ABBE1079AD1DA80924A430F47 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallSpinFadeLoader.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallSpinFadeLoader.swift; sourceTree = ""; }; + 970E6D34635C0D6D05466CB8DA34B905 /* DDLegacyMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLegacyMacros.h; path = Classes/DDLegacyMacros.h; sourceTree = ""; }; + 97703459B20649EF8DA03DF65056A801 /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; + 977F32156DB21155C633A0E816DA08AA /* OWSOutgoingSyncMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOutgoingSyncMessage.m; sourceTree = ""; }; + 978A084C4BC1D7A11D128506B501555D /* CLSReport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSReport.h; path = iOS/Crashlytics.framework/Headers/CLSReport.h; sourceTree = ""; }; + 979D0C4A6395C89FAF7A93FA1AE7694A /* YapDatabaseConnectionConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseConnectionConfig.m; path = YapDatabase/Utilities/YapDatabaseConnectionConfig.m; sourceTree = ""; }; + 980569568FD76AB9DC9B88BFAD3E0AB7 /* NSDictionary+MTLMappingAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLMappingAdditions.h"; path = "Mantle/NSDictionary+MTLMappingAdditions.h"; sourceTree = ""; }; + 9805D97C70F7D6F553D1EEEFCAAC97EC /* ge_p2_dbl.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p2_dbl.c; path = Sources/ed25519/ge_p2_dbl.c; sourceTree = ""; }; + 986B8B1E6A67391BEB812C28FC89F5A2 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = Classes/DDAbstractDatabaseLogger.h; sourceTree = ""; }; + 98730961D595CE7605A5E80BD88E0F99 /* YDBCKMergeInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKMergeInfo.m; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKMergeInfo.m; sourceTree = ""; }; + 98889BDD5B9ED19D24A4417CE60DD286 /* GCDWebServerURLEncodedFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerURLEncodedFormRequest.h; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h; sourceTree = ""; }; + 98A43BE790A3E00B9E373E58F98E1DC1 /* YapDatabaseViewMappings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewMappings.m; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewMappings.m; sourceTree = ""; }; + 98B654DBB0F3186879DB4D2D52EA9343 /* ALView+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ALView+PureLayout.m"; path = "PureLayout/PureLayout/ALView+PureLayout.m"; sourceTree = ""; }; + 98C82EF89E1B515989B34867F939D816 /* YapDatabaseViewChange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewChange.h; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewChange.h; sourceTree = ""; }; + 98D104A49DA005D2C599AD56569270C7 /* mz_compat.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_compat.c; path = SSZipArchive/minizip/mz_compat.c; sourceTree = ""; }; + 98F3BF9EB61411D9B7C460CE43B72D8A /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleRippleMultiple.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleRippleMultiple.swift; sourceTree = ""; }; + 9900C3991D13B9136E3FAD106F9DFDC4 /* SignalServiceKit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "SignalServiceKit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; + 99362A4D58521B3961420E3FA40C0DDC /* FIRAnalyticsConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAnalyticsConfiguration.h; path = Firebase/Core/Private/FIRAnalyticsConfiguration.h; sourceTree = ""; }; + 994A9C01EDB5971911FADD32A270354F /* SCKExceptionWrapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SCKExceptionWrapper.h; path = SignalCoreKit/src/SCKExceptionWrapper.h; sourceTree = ""; }; + 996BA20DF2254D32107214FA38130BC3 /* HKDFKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = HKDFKit.modulemap; sourceTree = ""; }; + 99755190C9AEA33978C4F2359B1FA4D3 /* YapDatabaseViewRangeOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewRangeOptions.m; path = YapDatabase/Extensions/View/Utilities/YapDatabaseViewRangeOptions.m; sourceTree = ""; }; + 9985E1366901B03A78F8F3BDE8E9B603 /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; + 99B242B9EABF91F1A9E15F6B81336D58 /* Curve25519.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Curve25519.m; path = Classes/Curve25519.m; sourceTree = ""; }; + 99C1820B45CB93C53815334D47A09EBB /* OWSAttachmentDownloads.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSAttachmentDownloads.h; sourceTree = ""; }; + 99C33014B5F8A7B017401B7090520F9B /* SMKObjCTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SMKObjCTest.m; path = SignalMetadataKitTests/src/SMKObjCTest.m; sourceTree = ""; }; + 99D8BA181D775DC2584C2F463744EC79 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; + 99F0B8F9A32F69F79A8B39E1F5172D22 /* SwiftProtobuf-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftProtobuf-umbrella.h"; sourceTree = ""; }; + 9A163A53C30B24E4215F1561BA56608B /* ge_tobytes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_tobytes.c; path = Sources/ed25519/ge_tobytes.c; sourceTree = ""; }; + 9A3DDCFF59017B5A4716D209C301964D /* YDBCKChangeSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKChangeSet.m; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKChangeSet.m; sourceTree = ""; }; + 9B6AA86D1978D8F92AF68B7DD9596FAF /* CLSAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSAttributes.h; path = iOS/Crashlytics.framework/Headers/CLSAttributes.h; sourceTree = ""; }; + 9BB1818B110A33C4394DD07396FFF9DC /* OWSHTTPSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSHTTPSecurityPolicy.h; sourceTree = ""; }; + 9BC5A5EE170101833EB0A50EBEA56B65 /* AtomFeed + mapAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AtomFeed + mapAttributes.swift"; path = "Sources/FeedKit/Models/Atom/AtomFeed + mapAttributes.swift"; sourceTree = ""; }; + 9BDB6831C53C6E7582DFCF65F16D7086 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; + 9BFA2B8806A2C7966C15CE6555CA1EC1 /* OWSPrimaryStorage+SessionStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+SessionStore.h"; sourceTree = ""; }; + 9C2AA05929CA2ED254D3299C189EC805 /* SignalServiceKit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SignalServiceKit-Unit-Tests-Info.plist"; sourceTree = ""; }; + 9C57FC3CD792DB128556E346CA0E42FB /* OWSLogs.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OWSLogs.m; path = SignalCoreKit/src/OWSLogs.m; sourceTree = ""; }; + 9C586159EA37D1219E061D260F9CEEF0 /* AxolotlKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AxolotlKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9C6B2B979BE457C1EF73E8F69ED2666C /* ge_msub.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_msub.c; path = Sources/ed25519/ge_msub.c; sourceTree = ""; }; + 9C7BCA9885439744E248BE23951ACFD1 /* SMKSenderCertificateTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKSenderCertificateTest.swift; path = SignalMetadataKitTests/src/SMKSenderCertificateTest.swift; sourceTree = ""; }; + 9C7FEB43F38DB5DFAD56E657B9145C34 /* RFC822DateFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RFC822DateFormatter.swift; path = Sources/FeedKit/Dates/RFC822DateFormatter.swift; sourceTree = ""; }; + 9CB15126782652F34CED29272E48A800 /* NVActivityIndicatorAnimationOrbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationOrbit.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationOrbit.swift; sourceTree = ""; }; + 9CB5EEA2E66E77F0B306AC4F707218A1 /* NBNumberFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBNumberFormat.m; path = libPhoneNumber/NBNumberFormat.m; sourceTree = ""; }; + 9CB9B8EFF2743CBD38FBEFDFFBA129BD /* YapDatabaseConnectionState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseConnectionState.h; path = YapDatabase/Internal/YapDatabaseConnectionState.h; sourceTree = ""; }; + 9CD1077C9C472864A27AE1087A88F676 /* NSDictionary+MTLJSONKeyPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLJSONKeyPath.h"; path = "Mantle/NSDictionary+MTLJSONKeyPath.h"; sourceTree = ""; }; + 9CDF994136FB1FD5AF87D5B5E96F4818 /* OWSBackgroundTask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSBackgroundTask.m; sourceTree = ""; }; + 9CF13D11004536F81C272A504F13B1E4 /* SAMKeychain-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SAMKeychain-umbrella.h"; sourceTree = ""; }; + 9D7C74EDDBBACEF5B0BAFB2EBA275E7A /* libPhoneNumber_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libPhoneNumber_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9D888C81FE887D26FA0F4A155A3A2588 /* MediaCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaCategory.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaCategory.swift; sourceTree = ""; }; + 9D89BD6A4BC9E3B7111C97B1D565EC51 /* OWSPrimaryStorage+Loki.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+Loki.m"; sourceTree = ""; }; + 9D96B7B3CF5CF3A7330850D6FF869F7B /* NSDate+OWS.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = "NSDate+OWS.mm"; path = "SignalCoreKit/src/NSDate+OWS.mm"; sourceTree = ""; }; + 9DE1B7BE32F6B802D5145DB11A379868 /* YapDatabase.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YapDatabase.xcconfig; sourceTree = ""; }; + 9DEE22A19AC81D812574FD6FE73538D1 /* TSDerivedSecrets.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = TSDerivedSecrets.m; path = AxolotlKit/Classes/Ratchet/TSDerivedSecrets.m; sourceTree = ""; }; + 9DFDC5BA7AEE736A89EF7792348EF0CE /* SignalIOSProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalIOSProto.swift; sourceTree = ""; }; + 9E5EF666C3777B01BA33BB9E1A6EBDEA /* curve_sigs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = curve_sigs.h; path = Sources/ed25519/additions/curve_sigs.h; sourceTree = ""; }; + 9E69E72CD7BEFA8D85CEFD505BA9D6B0 /* FirebaseCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FirebaseCore-umbrella.h"; sourceTree = ""; }; + 9E84F540AE3BAB4B11077FD9B755025B /* NSError+MTLModelException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSError+MTLModelException.h"; path = "Mantle/NSError+MTLModelException.h"; sourceTree = ""; }; + 9EA86193B5CF675984E39DF738400B89 /* Pods_LokiPushNotificationService.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LokiPushNotificationService.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9EBFE227324EC1172BFC6701EEA87032 /* AppReadiness.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = AppReadiness.h; sourceTree = ""; }; + 9ED842EA487D27CA0ED70F5701A584F3 /* YapDatabaseSearchResultsView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSearchResultsView.m; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsView.m; sourceTree = ""; }; + 9F07BB25B7A1CAB93EE0A74C83166CFE /* HKDFKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HKDFKit-prefix.pch"; sourceTree = ""; }; + 9F1B97F6D181F1792D2E4941D96B11F4 /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; + 9F37439DD2CF12B2EECE215A9D56F11A /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; + 9F60676AAB9BEB62F8274248381E79CD /* YYImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YYImage.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9F947CE805FB333673DE7FEDAF7EFC15 /* SSKEnvironment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSKEnvironment.h; path = SignalServiceKit/src/SSKEnvironment.h; sourceTree = ""; }; + 9FCF38741E2FBFC8F59D8BB3CEBEAA0D /* PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-prefix.pch"; sourceTree = ""; }; + 9FD73A8D99752B83054B11F5731B875D /* AtomFeedEntrySource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntrySource.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntrySource.swift; sourceTree = ""; }; + 9FE5854A0EE5B879075D8D82A11AB5C5 /* RSSFeed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeed.swift; path = Sources/FeedKit/Models/RSS/RSSFeed.swift; sourceTree = ""; }; + A00C77991649618DD44104F4020BF649 /* Pods-SignalMessaging.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalMessaging.app store release.xcconfig"; sourceTree = ""; }; + A01F34C43DF501F3290D6665F2A07F66 /* YapDatabaseActionManagerTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseActionManagerTransaction.h; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerTransaction.h; sourceTree = ""; }; + A04B6EAFBBCFDD3D016388088D9BC7FC /* URL + replacingScheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL + replacingScheme.swift"; path = "Sources/FeedKit/Extensions/URL + replacingScheme.swift"; sourceTree = ""; }; + A05D400B610131618F0D8C2E7C13BD96 /* YapDatabaseConnectionPool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseConnectionPool.m; path = YapDatabase/Extensions/ConnectionPool/YapDatabaseConnectionPool.m; sourceTree = ""; }; + A07743F71DEB3115984B36FE9DB3A440 /* CryptographyTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CryptographyTests.m; path = SignalCoreKitTests/src/CryptographyTests.m; sourceTree = ""; }; + A0A60E631921F29CB06A22FB5654AF85 /* WhisperMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WhisperMessage.m; path = AxolotlKit/Classes/CipherMessage/WhisperMessage.m; sourceTree = ""; }; + A0D71B398978E1469A95E3580FD63504 /* YapDatabaseViewChangePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewChangePrivate.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewChangePrivate.h; sourceTree = ""; }; + A0DF1596CA2B97964A42F6F4A524E6A4 /* spanish.txt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = spanish.txt; sourceTree = ""; }; + A0F3DD41B2A4FB566573F08A42C637B5 /* YapDatabaseCloudCoreOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreOperation.h; path = YapDatabase/Extensions/CloudCore/Utilities/Operations/YapDatabaseCloudCoreOperation.h; sourceTree = ""; }; + A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalCoreKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A139408622C6BACD87BE86B06E607798 /* AxolotlKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AxolotlKit-prefix.pch"; sourceTree = ""; }; + A179A0A87B886424D086DE201B7416FF /* DisplayNameUtilities.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DisplayNameUtilities.swift; sourceTree = ""; }; + A19868C471F08CD4F8C7377BE20C4808 /* YapDatabaseSecondaryIndexPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexPrivate.h; path = YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexPrivate.h; sourceTree = ""; }; + A1A3834BC506B7D4C32B3FFE05A7CCD7 /* YapWhitelistBlacklist.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapWhitelistBlacklist.m; path = YapDatabase/Utilities/YapWhitelistBlacklist.m; sourceTree = ""; }; + A1B8F50B14F105E2F56684C233DB30D4 /* YapDatabaseHooksConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseHooksConnection.h; path = YapDatabase/Extensions/Hooks/YapDatabaseHooksConnection.h; sourceTree = ""; }; + A1C9F281F7C66EEDB34181E360EE8BA4 /* YapDatabaseCloudKitOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKitOptions.h; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitOptions.h; sourceTree = ""; }; + A219050BE03C07F9F785A7EF3487BB9B /* SerializationUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SerializationUtilities.h; path = AxolotlKit/Classes/Utility/SerializationUtilities.h; sourceTree = ""; }; + A274E54D6784D4B37774313239CF3911 /* LKSyncOpenGroupsMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKSyncOpenGroupsMessage.h; sourceTree = ""; }; + A276459C826DC2DE64A583C122E39390 /* fe_frombytes.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_frombytes.c; path = Sources/ed25519/fe_frombytes.c; sourceTree = ""; }; + A2928849EBD9FB50F2FE711E0299425A /* MediaLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaLocation.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaLocation.swift; sourceTree = ""; }; + A2E465C9B49CFEDEC4DE76CBAD64B804 /* HKDFKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = HKDFKit.xcconfig; sourceTree = ""; }; + A30BD9CB500093D34946901830A5A94E /* Pods-SignalShareExtension-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SignalShareExtension-resources.sh"; sourceTree = ""; }; + A373AF26151C91A348BF349098E5240C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A377D7E078990F3F0D6470DF2A2040DA /* YapDatabaseCloudCorePipelineDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCorePipelineDelegate.h; path = YapDatabase/Extensions/CloudCore/Utilities/Execution/YapDatabaseCloudCorePipelineDelegate.h; sourceTree = ""; }; + A3A02FBBD251AC9DBBC0B9F77EAAB4E3 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; + A3AD37E42FBB615C00DE6CC756ED355F /* ContactParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ContactParser.swift; sourceTree = ""; }; + A4567D67C63DA694B17CB5E9E50D4F27 /* timestamp.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = timestamp.pb.swift; path = Sources/SwiftProtobuf/timestamp.pb.swift; sourceTree = ""; }; + A4D975B2188A155EC0F9658AA3CC6EFC /* JSONEncodingOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONEncodingOptions.swift; path = Sources/SwiftProtobuf/JSONEncodingOptions.swift; sourceTree = ""; }; + A523DEFD57182710833031A067DFA4BA /* FIRAnalyticsConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRAnalyticsConfiguration.m; path = Firebase/Core/FIRAnalyticsConfiguration.m; sourceTree = ""; }; + A5328390412660B58FC5FC61A9F18EB0 /* YapDatabaseViewState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewState.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewState.h; sourceTree = ""; }; + A53BBF570BFC7847A1E3D0928E2066A3 /* GCDWebServerConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerConnection.h; path = GCDWebServer/Core/GCDWebServerConnection.h; sourceTree = ""; }; + A5AC926BAC19490D3705A40FB83A071B /* OWSPrimaryStorage+SignedPreKeyStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+SignedPreKeyStore.m"; sourceTree = ""; }; + A5B737091E441E20888B31151C8AEC3F /* YapDatabase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YapDatabase-umbrella.h"; sourceTree = ""; }; + A5BC40FAA76DF3A5A6062BC2393BDB68 /* TSDatabaseView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSDatabaseView.h; sourceTree = ""; }; + A5C656098BF28ECD9F78DE16F4B16E4D /* OWSRecordTranscriptJob.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSRecordTranscriptJob.m; sourceTree = ""; }; + A5CBEE56783985FA6CDCA84A9D02F9E9 /* MediaGroup.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaGroup.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaGroup.swift; sourceTree = ""; }; + A5E389E3D15FE8DA3E2F25EC343C19BF /* SMKError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKError.swift; path = SignalMetadataKit/src/SMKError.swift; sourceTree = ""; }; + A6000A25829DAB1FB3D391C2770CF019 /* MTLTransformerErrorHandling.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLTransformerErrorHandling.h; path = Mantle/MTLTransformerErrorHandling.h; sourceTree = ""; }; + A6213775ABBE523338C76ED1559AAC7D /* OWSSignalService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSignalService.h; sourceTree = ""; }; + A641065EAE51CB1DCD784A99C9DC4D03 /* TSPrefix.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TSPrefix.h; path = SignalServiceKit/src/TSPrefix.h; sourceTree = ""; }; + A6A109E8B61F7ACEA20A02C3B0274F5C /* AtomFeedContributor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedContributor.swift; path = Sources/FeedKit/Models/Atom/AtomFeedContributor.swift; sourceTree = ""; }; + A6D361CA842FB811BDFDC83CF8F66098 /* YapDatabaseRelationshipTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRelationshipTransaction.m; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.m; sourceTree = ""; }; + A6E107F5404F68094F14CE786F010536 /* LKUserDefaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LKUserDefaults.swift; sourceTree = ""; }; + A738B27162F7646E405A7666DCAE41AE /* GroupParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GroupParser.swift; sourceTree = ""; }; + A7449FA22C9E14580A559E78138976FD /* NBAsYouTypeFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBAsYouTypeFormatter.m; path = libPhoneNumber/NBAsYouTypeFormatter.m; sourceTree = ""; }; + A74C46C23B5D910F826B629B0A0ADF87 /* YapDatabaseViewRangeOptionsPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewRangeOptionsPrivate.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewRangeOptionsPrivate.h; sourceTree = ""; }; + A75A22C969934BA745427914F76F22AC /* RSSPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSPath.swift; path = Sources/FeedKit/Models/RSS/RSSPath.swift; sourceTree = ""; }; + A7736B4649ECA336B8E25AA05CA87BEB /* JSONMapEncodingVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONMapEncodingVisitor.swift; path = Sources/SwiftProtobuf/JSONMapEncodingVisitor.swift; sourceTree = ""; }; + A7A1483C85706A63C478909AAD5D1AC5 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; + A7CE3D0A7292561DB231A23BD4C91AB1 /* OWSReadReceiptManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSReadReceiptManager.h; sourceTree = ""; }; + A83D3402FE63F389406F813A83DD1D11 /* ContentProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ContentProxy.swift; sourceTree = ""; }; + A88C0AF91250808E0D47A7BF74D2B5FA /* RSSFeedItemCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedItemCategory.swift; path = Sources/FeedKit/Models/RSS/RSSFeedItemCategory.swift; sourceTree = ""; }; + A8A894A7A99EFC77DA222F2D11EB6971 /* JSONEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONEncoder.swift; path = Sources/SwiftProtobuf/JSONEncoder.swift; sourceTree = ""; }; + A8B1C6540076CF956EEB3030A06BD1C2 /* MTLModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLModel.h; path = Mantle/MTLModel.h; sourceTree = ""; }; + A8E15B909864FF1A06D11E4CDE83D2D1 /* YapDatabaseViewConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewConnection.h; path = YapDatabase/Extensions/View/YapDatabaseViewConnection.h; sourceTree = ""; }; + A8F19C43E851743779404B4A0849C08D /* SignalCoreKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SignalCoreKit.modulemap; sourceTree = ""; }; + A9198F718E338FB8A3218F277F97C9AF /* OWSOutgoingReceiptManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOutgoingReceiptManager.m; sourceTree = ""; }; + A98528BAB1EC157E598A3A856D60E4DE /* SSKSwiftTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSKSwiftTests.swift; path = SignalServiceKit/tests/SSKSwiftTests.swift; sourceTree = ""; }; + A9B1147D50693D6EEE26F9864A9E939F /* YapDatabaseConnection+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YapDatabaseConnection+OWS.h"; sourceTree = ""; }; + A9B3872571418A0096AACA3473D110EE /* Message+JSONAdditions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Message+JSONAdditions.swift"; path = "Sources/SwiftProtobuf/Message+JSONAdditions.swift"; sourceTree = ""; }; + A9E20C5010DE5A7AC9F9FC2AA3B315D5 /* Google_Protobuf_Value+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Value+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Value+Extensions.swift"; sourceTree = ""; }; + A9EEFFFF355AFBEF42883C77A72B62A3 /* YapDatabase+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "YapDatabase+Promise.swift"; sourceTree = ""; }; + A9FF00E6ED25CEFCBF3EA9DD18145938 /* OWSDisappearingMessageFinderTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessageFinderTest.m; sourceTree = ""; }; + AA18A9DD37830478AE558B8074BC258A /* Threading.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Threading.m; path = SignalCoreKit/src/Threading.m; sourceTree = ""; }; + AA57E77C74F7AA2C2A33849B4BD9362F /* YapDatabaseFullTextSearchPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearchPrivate.h; path = YapDatabase/Extensions/FullTextSearch/Internal/YapDatabaseFullTextSearchPrivate.h; sourceTree = ""; }; + AA7D47D24ADCDABBCBFF106D233246B3 /* FIRLibrary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLibrary.h; path = Firebase/Core/Private/FIRLibrary.h; sourceTree = ""; }; + AA813150DF47950EBEFF9EA93F28B583 /* AtomFeedEntryLink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntryLink.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntryLink.swift; sourceTree = ""; }; + AA89955220A6D3EAB8F8CBC0296E4180 /* TSInteraction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSInteraction.h; sourceTree = ""; }; + AA8B8BF0B5CFA54433EA0A4EE9DA138C /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; + AA9A5016CA0EA16D29403E4AB70BC82C /* ByteParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ByteParser.h; sourceTree = ""; }; + AAC299CEFB12B494047110B15F0AB495 /* NBPhoneMetaData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBPhoneMetaData.m; path = libPhoneNumber/NBPhoneMetaData.m; sourceTree = ""; }; + AAD2E132E6B53D84CBC177E8102E4979 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; + AB5DA5AEF9C04FB5837546E7D0245970 /* SQLCipher-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLCipher-prefix.pch"; sourceTree = ""; }; + AB73F1C7F811C80B7C63D83F648DC709 /* PureLayout.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PureLayout.modulemap; sourceTree = ""; }; + ABC984A0A616EE29A85E956D4D20B849 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + ABE44DE2616203B43B80D35889205E46 /* MediaCommunity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaCommunity.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaCommunity.swift; sourceTree = ""; }; + AC3D792BCA25D36DDABED989893BFA5F /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; + AC61492FDC4222CB99D49A27EA5FA4C3 /* Factories.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Factories.swift; sourceTree = ""; }; + AC681F498ED2CB5003D603AC04872660 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; + AC6D472967EFED2D68C255DFAF9E8DF1 /* SQLCipher.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SQLCipher.modulemap; sourceTree = ""; }; + AC87C33B56EFC451C538317D354882A6 /* ContentNamespace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContentNamespace.swift; path = Sources/FeedKit/Models/Namespaces/Content/ContentNamespace.swift; sourceTree = ""; }; + AC8D3D15716E9D4AB71751DCF7E16EE7 /* PhoneNumber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PhoneNumber.m; sourceTree = ""; }; + AC9919CDBA3BFAFDFC15C0E47B71D276 /* SCKSwiftTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SCKSwiftTests.swift; path = SignalCoreKitTests/src/SCKSwiftTests.swift; sourceTree = ""; }; + AC9FA3DC4FD8142BA1CCBB808B6D066B /* SSZipArchive.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SSZipArchive.xcconfig; sourceTree = ""; }; + ACC65907DEC181C4D0C1A3CE50265853 /* NSString+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+OWS.h"; path = "SignalCoreKit/src/NSString+OWS.h"; sourceTree = ""; }; + AD2B6B4A5339918384EF7DA7B21849B1 /* YapCollectionKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapCollectionKey.h; path = YapDatabase/Utilities/YapCollectionKey.h; sourceTree = ""; }; + AD2D931AE93ED75C6B3B8CE536FEC146 /* JSONFeedAuthor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeedAuthor.swift; path = Sources/FeedKit/Models/JSON/JSONFeedAuthor.swift; sourceTree = ""; }; + AD2DEDB9CBDDAF5C48B5787CB2D6AA75 /* AppVersion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = AppVersion.m; sourceTree = ""; }; + AD51EE550E5167B22B67D0809D11784C /* GULLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULLogger.h; path = GoogleUtilities/Logger/Private/GULLogger.h; sourceTree = ""; }; + AD53055E142A9DD74372E1941BB29632 /* YapDatabaseAtomic.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseAtomic.h; path = YapDatabase/Internal/YapDatabaseAtomic.h; sourceTree = ""; }; + AD6A5D3D59860A49095AF2C1202E6A70 /* CustomJSONCodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomJSONCodable.swift; path = Sources/SwiftProtobuf/CustomJSONCodable.swift; sourceTree = ""; }; + AD75D614ACD450BD1990E9B23A2DD507 /* YapDatabaseConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseConnection.h; path = YapDatabase/YapDatabaseConnection.h; sourceTree = ""; }; + AD947E111E79EF9C696F6610EC9269EF /* OWSBackgroundTask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSBackgroundTask.h; sourceTree = ""; }; + ADA81A9CEE78CB2CECD3985CE9B1BDE1 /* Data+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extensions.swift"; path = "Sources/SwiftProtobuf/Data+Extensions.swift"; sourceTree = ""; }; + ADDC721A494E39701B1246580BAEEF27 /* Pods-LokiPushNotificationService-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LokiPushNotificationService-resources.sh"; sourceTree = ""; }; + AE079559BB057CF01273974278F581FE /* TSErrorMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSErrorMessage.m; sourceTree = ""; }; + AE0D4CF1CC84CA392A9FA283026FEBB0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + AE0DD6C213D6785D38A828DA7D5C4638 /* field_mask.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = field_mask.pb.swift; path = Sources/SwiftProtobuf/field_mask.pb.swift; sourceTree = ""; }; + AE21FDD8140C93B896AC54FA53E37D40 /* ge_precomp_0.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_precomp_0.c; path = Sources/ed25519/ge_precomp_0.c; sourceTree = ""; }; + AE2AF3033B3533660F695CFF30550207 /* BobAxolotlParameters.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BobAxolotlParameters.h; path = AxolotlKit/Classes/Ratchet/BobAxolotlParameters.h; sourceTree = ""; }; + AE3F35E6B39DF54C6494E6757CE036AF /* AtomFeedGenerator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedGenerator.swift; path = Sources/FeedKit/Models/Atom/AtomFeedGenerator.swift; sourceTree = ""; }; + AE4BE0B138955AF01D814F04A89BF3FB /* ECPrivateKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECPrivateKey.swift; path = SignalMetadataKit/src/ECPrivateKey.swift; sourceTree = ""; }; + AE507CCEEA45F7DDD8283A94069DA9AF /* fe_0.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_0.c; path = Sources/ed25519/fe_0.c; sourceTree = ""; }; + AE524F6642F28A057C6D4E4FB4453374 /* Starscream-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Starscream-dummy.m"; sourceTree = ""; }; + AE5419DF03304DF123A6E5C7376D3382 /* YapDatabaseQuery.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseQuery.m; path = YapDatabase/Utilities/YapDatabaseQuery.m; sourceTree = ""; }; + AE6249C0105E1F986E982F867B337918 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; + AE6735D2A0D744A15BA25DF093F85642 /* YapDatabaseTransaction+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YapDatabaseTransaction+OWS.m"; sourceTree = ""; }; + AE7830067DD05659427DB766C3A2F084 /* OWSSyncConfigurationMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSyncConfigurationMessage.h; sourceTree = ""; }; + AE7E3A4278B82EBB937B1BAC669B4BD9 /* YapDatabaseHooksTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseHooksTransaction.h; path = YapDatabase/Extensions/Hooks/YapDatabaseHooksTransaction.h; sourceTree = ""; }; + AE88B87DF1548FA87C6363C1596C08EE /* mz_strm_buf.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_buf.c; path = SSZipArchive/minizip/mz_strm_buf.c; sourceTree = ""; }; + AEA14B88E74AE471FB820A0CF9CBF507 /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotatePulse.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotatePulse.swift; sourceTree = ""; }; + AEB8281E224094872B442319CB0B9D92 /* JSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSON.swift; sourceTree = ""; }; + AED2C668962B942843C29BF002DF97D5 /* GoogleUtilities-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GoogleUtilities-umbrella.h"; sourceTree = ""; }; + AF11B3D9D938C8E2C6CE42CCD561FA63 /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; + AF12FBA6B6A93B273F6B0BFC4035F5AE /* YapDatabaseCrossProcessNotificationConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCrossProcessNotificationConnection.m; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationConnection.m; sourceTree = ""; }; + AF3CC55F7116473F75AA8C98F1001F74 /* NBPhoneMetaData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBPhoneMetaData.h; path = libPhoneNumber/NBPhoneMetaData.h; sourceTree = ""; }; + AF479C95A8ED4A8D710B6EFC1539CD64 /* LKAddressMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKAddressMessage.h; sourceTree = ""; }; + AF770CD9DB788430963B24F2D95301F4 /* YapDatabaseOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseOptions.m; path = YapDatabase/YapDatabaseOptions.m; sourceTree = ""; }; + AFBD6D8B1B82988A9B55DF3EBBAC4AC8 /* Pods-Signal-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Signal-dummy.m"; sourceTree = ""; }; + AFFF3C68CA9762627C6FAFD0483EBA0C /* english.txt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = english.txt; sourceTree = ""; }; + B00B58932A24C90F671C2C2421C1B42C /* Curve25519KitSwiftTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Curve25519KitSwiftTests.swift; path = BuildTests/BuildTestsTests/Curve25519KitSwiftTests.swift; sourceTree = ""; }; + B01A37F9FF4F8CC784C64327B7ED6135 /* Starscream.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Starscream.modulemap; sourceTree = ""; }; + B03B36DD6487CE97D336AA5E1FCF1EAA /* NSURLSessionDataTask+StatusCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSURLSessionDataTask+StatusCode.h"; sourceTree = ""; }; + B080BBBF0546377D4E4BAA767359A569 /* PreKeyBundleTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PreKeyBundleTests.m; path = AxolotlKitTests/PreKeyBundleTests.m; sourceTree = ""; }; + B08205867C54B8A3370DD0295DAF2ED7 /* YapDatabaseFullTextSearchSnippetOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFullTextSearchSnippetOptions.m; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.m; sourceTree = ""; }; + B08A33BBAD4F33F05DE2CC6C7CEF5B33 /* crypto_sign_edwards25519sha512batch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_sign_edwards25519sha512batch.h; path = Sources/ed25519/nacl_includes/crypto_sign_edwards25519sha512batch.h; sourceTree = ""; }; + B096835B035F70E70AFFFF7BEC8820DE /* Message.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Message.swift; path = Sources/SwiftProtobuf/Message.swift; sourceTree = ""; }; + B0B8A06ABF59F0E5F648AFA4F55A6006 /* Promise+Hashing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Promise+Hashing.swift"; sourceTree = ""; }; + B0CBE088B9C0CBD646AAFAAF3937E688 /* TSAccountManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSAccountManager.h; sourceTree = ""; }; + B103E938632823FAC6B35C92E96000E8 /* AES-CBC.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AES-CBC.h"; path = "AxolotlKit/Classes/Crypto/AES-CBC.h"; sourceTree = ""; }; + B1417590DD671EB59DD3BF1392F48C55 /* YapWhitelistBlacklist.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapWhitelistBlacklist.h; path = YapDatabase/Utilities/YapWhitelistBlacklist.h; sourceTree = ""; }; + B145F614354B60EDDC8A1F755F13A8DB /* YapDatabaseCloudCoreGraph.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudCoreGraph.m; path = YapDatabase/Extensions/CloudCore/Utilities/Execution/YapDatabaseCloudCoreGraph.m; sourceTree = ""; }; + B1482177C91A8763017C2DE854CC0A70 /* TSQuotedMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSQuotedMessage.m; sourceTree = ""; }; + B1842991FE75624B0B9158158328A9F3 /* AtomFeedSubtitle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedSubtitle.swift; path = Sources/FeedKit/Models/Atom/AtomFeedSubtitle.swift; sourceTree = ""; }; + B19F9A481EAFF6688AF08BFDAB591901 /* YDBCKRecordInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKRecordInfo.m; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecordInfo.m; sourceTree = ""; }; + B1ADE9D436FA0F972FA5FC4F0F97D872 /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Starscream/Compression.swift; sourceTree = ""; }; + B20DC6E2C71F1B1327D01DF1FF4AC0BA /* OWSPrimaryStorage+keyFromIntLong.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+keyFromIntLong.m"; sourceTree = ""; }; + B2181050783C987C6E69D532FF44DBEF /* YapDatabaseViewTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewTransaction.h; path = YapDatabase/Extensions/View/YapDatabaseViewTransaction.h; sourceTree = ""; }; + B236ED821159D7EF83C32E1ED79990E0 /* ContactsUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ContactsUpdater.h; sourceTree = ""; }; + B241D15B067AF39A7ACBCA721F15C87F /* ProfileManagerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ProfileManagerProtocol.h; sourceTree = ""; }; + B2B1B93B632415BF79F3195CFD53F74C /* fe_invert.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_invert.c; path = Sources/ed25519/fe_invert.c; sourceTree = ""; }; + B2C3DC2ED3A9BB31FF2CAAF0F5D151E7 /* DDFileLogger+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDFileLogger+Internal.h"; path = "Classes/DDFileLogger+Internal.h"; sourceTree = ""; }; + B304CEF121DF49E7EC45DD223614FCA5 /* NSTimer+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSTimer+OWS.m"; sourceTree = ""; }; + B314B49B458D308453B2AA3E84CFC55D /* FingerprintProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FingerprintProto.swift; sourceTree = ""; }; + B3562FB15FB1E03F2A26AEB39B13C2B0 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; + B38DB750060EF6410579BA9CB943663B /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; + B39B9129BD96150ABF44C21C5F0807D0 /* PreKeyStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PreKeyStore.h; path = AxolotlKit/Classes/State/PreKeyStore.h; sourceTree = ""; }; + B3B97A30C50986F1EC0C93522DB434D9 /* ChainAndIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ChainAndIndex.m; path = AxolotlKit/Classes/Ratchet/ChainAndIndex.m; sourceTree = ""; }; + B3D3EBCB1C9FFE497C21D4DF99CAC346 /* TSContactThread.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSContactThread.h; sourceTree = ""; }; + B3E2721933951933A41131DC1A9BDC6A /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallZigZagDeflect.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallZigZagDeflect.swift; sourceTree = ""; }; + B3FC9D2830FB4D71BADC72A46E34A75C /* ContactDiscoveryService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ContactDiscoveryService.h; sourceTree = ""; }; + B4415AC40425F73B397D9F56207F5DC7 /* OWSOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSOperation.h; sourceTree = ""; }; + B4429DCA263A489F1BC46808EBD1D38A /* YapMurmurHash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapMurmurHash.h; path = YapDatabase/Utilities/YapMurmurHash.h; sourceTree = ""; }; + B45DFF9B53890EF41500CE8A83059B41 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; + B46248EEF69343ACF4AF870F249C29A9 /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; + B4749130B0428530C084F80D9DEC14A6 /* YapDatabaseSecondaryIndexConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexConnection.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.h; sourceTree = ""; }; + B4B11B597A8168030F1E53FCC81A7B00 /* TSAttachmentPointer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSAttachmentPointer.h; sourceTree = ""; }; + B4C079D71C50C4C82AB0F1188F8ED3A7 /* OWSMessageUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageUtils.m; sourceTree = ""; }; + B4C32EEBAA16F900E40CB02966456C05 /* NVActivityIndicatorAnimationBlank.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBlank.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBlank.swift; sourceTree = ""; }; + B4E3E6296BA56A800BA9EA4F2F56B039 /* YYImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImageCoder.h; path = YYImage/YYImageCoder.h; sourceTree = ""; }; + B518EEE74CFF1C17640A6459B8539ECB /* RKCK.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RKCK.m; path = AxolotlKit/Classes/Ratchet/RKCK.m; sourceTree = ""; }; + B59E88A6F078C455F734815BE38A024E /* MessageKeys.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MessageKeys.m; path = AxolotlKit/Classes/Ratchet/MessageKeys.m; sourceTree = ""; }; + B5B4789F8F5D43AD2422B048FAD9E448 /* OWSDisappearingMessagesConfigurationMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesConfigurationMessage.m; sourceTree = ""; }; + B5DB338AC76502494299EAC5D859D6E8 /* SQLCipher.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SQLCipher.xcconfig; sourceTree = ""; }; + B5DB93A939681345D9AE378145026133 /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; + B665D8E160D5D5EF79C0A01592DC7756 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; + B6E6649425DBCAB3914CE9AE0D10E392 /* GIAG2.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = GIAG2.crt; sourceTree = ""; }; + B6EE6D86C53E435CB53F1EBE83D6802A /* OWSBlockingManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSBlockingManager.m; sourceTree = ""; }; + B708A78A722BD5E64C6F2D3704278BE7 /* LKDeviceLinkMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKDeviceLinkMessage.h; sourceTree = ""; }; + B72148D7D749E91133EA4F6A3F0EC82A /* TextFormatDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextFormatDecoder.swift; path = Sources/SwiftProtobuf/TextFormatDecoder.swift; sourceTree = ""; }; + B73D696F786A2E3BAAE9FFEBA697A985 /* YapDatabaseSecondaryIndexOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexOptions.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexOptions.h; sourceTree = ""; }; + B74A8F46260AE1578EB57BA8FD814BFB /* mz_strm_zlib.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_zlib.h; path = SSZipArchive/minizip/mz_strm_zlib.h; sourceTree = ""; }; + B75349465A082ACB2FE24F2ACBC0F76D /* NSDate+YapDatabase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDate+YapDatabase.m"; path = "YapDatabase/Internal/NSDate+YapDatabase.m"; sourceTree = ""; }; + B7864E07B92881A1ABD68285F8287B22 /* MTLModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLModel.m; path = Mantle/MTLModel.m; sourceTree = ""; }; + B7875289BD421941FBC20497F536B33E /* SerializationUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SerializationUtilities.m; path = AxolotlKit/Classes/Utility/SerializationUtilities.m; sourceTree = ""; }; + B78C2F2F8297D52340DAD6F3C906B40E /* OWSMessageServiceParams.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageServiceParams.h; sourceTree = ""; }; + B7E4788C2F0B04AB54D6E51E6D97C902 /* AtomFeedEntryContent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedEntryContent.swift; path = Sources/FeedKit/Models/Atom/AtomFeedEntryContent.swift; sourceTree = ""; }; + B8399F92B6E063A28D10B624B81E91A8 /* TSMessageTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSMessageTest.m; sourceTree = ""; }; + B83BCE8D69D31A9C7140EC04530D6C3F /* Google_Protobuf_Duration+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Duration+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Duration+Extensions.swift"; sourceTree = ""; }; + B86C526C08E9564535BAAD8B8E15B93E /* YapDatabase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabase.m; path = YapDatabase/YapDatabase.m; sourceTree = ""; }; + B8795ED992106A0C6C7B49985C1C78E3 /* YapProxyObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapProxyObject.m; path = YapDatabase/Utilities/YapProxyObject.m; sourceTree = ""; }; + B8A527B28A5BD8266ED5B1852A64EC56 /* YapDatabaseManualViewTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseManualViewTransaction.m; path = YapDatabase/Extensions/ManualView/YapDatabaseManualViewTransaction.m; sourceTree = ""; }; + B8A544D48AD636438F860717A584D5E6 /* OWSOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSOperation.m; sourceTree = ""; }; + B8B2D395DF453F8C71810305C03BE714 /* Array + Equatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array + Equatable.swift"; path = "Sources/FeedKit/Extensions/Array + Equatable.swift"; sourceTree = ""; }; + B8B419DB4C4CAD5B28CBA5FACA618F47 /* sqrtm1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = sqrtm1.h; path = Sources/ed25519/sqrtm1.h; sourceTree = ""; }; + B8EB9788516BAAFC8621B9C02B52D493 /* EXTRuntimeExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXTRuntimeExtensions.m; path = Mantle/extobjc/EXTRuntimeExtensions.m; sourceTree = ""; }; + B91E31A3031C58750E2EBC08C18FD362 /* NBPhoneNumberUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBPhoneNumberUtil.m; path = libPhoneNumber/NBPhoneNumberUtil.m; sourceTree = ""; }; + B947C70E512B065B70987FE000E42E05 /* OWSLinkPreview.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSLinkPreview.swift; sourceTree = ""; }; + B9BA5433BEED5A90D0AB69BE76522BD8 /* LokiAPITarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiAPITarget.swift; sourceTree = ""; }; + B9BB0433F8351A4AC9BCBCDE1F3F3356 /* ProtobufMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ProtobufMap.swift; path = Sources/SwiftProtobuf/ProtobufMap.swift; sourceTree = ""; }; + B9DC6D8A79AB584380A675B3F0D4521C /* YapDatabaseExtensionTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseExtensionTransaction.h; path = YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.h; sourceTree = ""; }; + B9E1CD059EE25558091DA91BF4A1161A /* FIROptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIROptions.h; path = Firebase/Core/Public/FIROptions.h; sourceTree = ""; }; + B9F65E4BEAC99780D7E84696AC571A9F /* MockSSKEnvironment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MockSSKEnvironment.h; sourceTree = ""; }; + B9FA49004D8C3251E0309D949F7BF358 /* LokiRSSFeed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiRSSFeed.swift; sourceTree = ""; }; + BA4DDF706AC38D51FA90C834FEF78AA5 /* ge_p3_to_cached.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_p3_to_cached.c; path = Sources/ed25519/ge_p3_to_cached.c; sourceTree = ""; }; + BA59EB966E125F8F3D7EE13CDC287052 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; + BABDB440796260F0C0E9AFC67E125175 /* OWSDataParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OWSDataParser.swift; path = SignalCoreKit/src/OWSDataParser.swift; sourceTree = ""; }; + BAC7C474947349CA631CDA2BB94B33A9 /* blocks.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = blocks.c; path = Sources/ed25519/nacl_sha512/blocks.c; sourceTree = ""; }; + BAE0ECE7D40C946207DF3F5660B90D19 /* SQLCipher-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLCipher-umbrella.h"; sourceTree = ""; }; + BAE4913CE949D6FFAB9C16693F747B83 /* Data+Streaming.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Data+Streaming.swift"; sourceTree = ""; }; + BAF318C7357456C959A869C0D173F68A /* NSRegularExpression+SSK.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NSRegularExpression+SSK.swift"; sourceTree = ""; }; + BB159A73B50AE396DC2250542ED75F20 /* FIRVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRVersion.h; path = Firebase/Core/Private/FIRVersion.h; sourceTree = ""; }; + BB9AB7D78FAD18DA0BA6CCAFE0A58E25 /* OWSWebSocket.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSWebSocket.h; sourceTree = ""; }; + BBA1D012A7541F2466D0067E8BD0E8E2 /* OutageDetection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OutageDetection.swift; sourceTree = ""; }; + BBBDE92D28473A223156B3B17467C8F0 /* SignalService.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalService.pb.swift; sourceTree = ""; }; + BBDD117E0CEC753072A28DE3461D67C8 /* SignalCoreKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalCoreKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BBF9A7752C1A6F2EF0387037350A579B /* NSData+messagePadding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+messagePadding.m"; path = "SignalMetadataKit/src/NSData+messagePadding.m"; sourceTree = ""; }; + BC3BC486FFABA76F890D6E9BEA391DDA /* DDOSLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDOSLogger.h; path = Classes/DDOSLogger.h; sourceTree = ""; }; + BC60FD7F02E42CFC568E361118EB9EE4 /* YapDatabaseAutoViewTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseAutoViewTransaction.h; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoViewTransaction.h; sourceTree = ""; }; + BC75BEF7C180542380538C81E4F07E0C /* YapDatabaseCrossProcessNotificationPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCrossProcessNotificationPrivate.h; path = YapDatabase/Extensions/CrossProcessNotification/Internal/YapDatabaseCrossProcessNotificationPrivate.h; sourceTree = ""; }; + BCF228D443F9038A08CC8D14388EB89B /* JSONFeed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONFeed.swift; path = Sources/FeedKit/Models/JSON/JSONFeed.swift; sourceTree = ""; }; + BCFE5B2841669ABF0D9D518BF768B4A2 /* Reachability.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Reachability.modulemap; sourceTree = ""; }; + BD040719E8DFBE5D58E7D1CFCDBC0299 /* OWSAnalyticsTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAnalyticsTests.m; sourceTree = ""; }; + BD37F1BF3BC9AB05B905A19B37CABF5A /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; + BD6E8C7F138AD0C52B88D3A671ECC0F1 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; + BDA8451360E2AB07DD3F9079F4E7C251 /* YapDatabaseSecondaryIndexTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSecondaryIndexTransaction.h; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.h; sourceTree = ""; }; + BDC9480EC8933190C7CAC4AA78EA0532 /* NVActivityIndicatorView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = NVActivityIndicatorView.modulemap; sourceTree = ""; }; + BDFB4E43AB0C5E4099E30A9FBDDD77A7 /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; + BDFBDBF065DBBD1736705E9DD0D91748 /* YapDatabaseRTreeIndexHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndexHandler.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexHandler.m; sourceTree = ""; }; + BE632F175CCBA09B1D95BC8BAA7CDFD0 /* WeakTimer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WeakTimer.swift; sourceTree = ""; }; + BE98CFCC08221EF9BA2F06551F476D54 /* GCDWebServer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GCDWebServer.modulemap; sourceTree = ""; }; + BE99BC50EC31A5153FAE196AFF894F2E /* sc_reduce.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = sc_reduce.c; path = Sources/ed25519/sc_reduce.c; sourceTree = ""; }; + BE9BC9309AABD7995F9A9A3AD8E3DCE0 /* FirebaseCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseCore.h; path = Firebase/Core/Public/FirebaseCore.h; sourceTree = ""; }; + BF06C3E40AC432815EE4C9FB596C3207 /* MediaEmbed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaEmbed.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaEmbed.swift; sourceTree = ""; }; + BF6F62F20C1E33A39BC249C446DE46E3 /* NSDictionary+YapDatabase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+YapDatabase.h"; path = "YapDatabase/Internal/NSDictionary+YapDatabase.h"; sourceTree = ""; }; + BFB31D0D1B1313FE686DE11AA452B561 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; + BFBE2D32DB7DFB39B8A07BDD18E33FF9 /* LokiFileServerAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiFileServerAPI.swift; sourceTree = ""; }; + BFD9DF03D8048C9063C5E3C11022373C /* TSConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TSConstants.h; path = SignalServiceKit/src/TSConstants.h; sourceTree = ""; }; + BFDECBE4B37085DF2E2428127BDDB253 /* mz_crypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_crypt.h; path = SSZipArchive/minizip/mz_crypt.h; sourceTree = ""; }; + C00E20E3A983125BE3CB825B7CE76ED9 /* FIRAppInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAppInternal.h; path = Firebase/Core/Private/FIRAppInternal.h; sourceTree = ""; }; + C0557383B119CBB116697C3C95D33074 /* YapDatabaseSearchResultsView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchResultsView.h; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsView.h; sourceTree = ""; }; + C08226F70ED7891E41D1C88F1E72AB5B /* RSSFeedTextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedTextInput.swift; path = Sources/FeedKit/Models/RSS/RSSFeedTextInput.swift; sourceTree = ""; }; + C082D225F9B87F65802CAA27F78CCB92 /* ContactsUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ContactsUpdater.m; sourceTree = ""; }; + C0AD9D49F1B43F6BC0C998F08B053522 /* GULLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULLogger.m; path = GoogleUtilities/Logger/GULLogger.m; sourceTree = ""; }; + C0C47BA16F8CC25CC9D2DE247AFD1BA5 /* YapDatabaseViewTypes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewTypes.m; path = YapDatabase/Extensions/AutoView/YapDatabaseViewTypes.m; sourceTree = ""; }; + C11909A4726953F688D2CFF62D39BB10 /* DDLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = Classes/DDLog.h; sourceTree = ""; }; + C1223A8B4899E362FFC948BCB68FAC86 /* Date + codingStrategy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date + codingStrategy.swift"; path = "Sources/FeedKit/Extensions/Date + codingStrategy.swift"; sourceTree = ""; }; + C127D9361133C3643F2FE0417F1773B3 /* OWSDisappearingConfigurationUpdateInfoMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDisappearingConfigurationUpdateInfoMessage.h; sourceTree = ""; }; + C14314BD4BD1D66796E9CE3A4568D2D1 /* PreKeyRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PreKeyRecord.m; path = AxolotlKit/Classes/Prekeys/PreKeyRecord.m; sourceTree = ""; }; + C1790FAA277639A452B4CD57BDC3C0DD /* TSRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSRequest.m; sourceTree = ""; }; + C1828410A76771D1C39D1A808C305D79 /* SSKBaseTestObjC.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SSKBaseTestObjC.m; path = SignalServiceKit/tests/SSKBaseTestObjC.m; sourceTree = ""; }; + C193C71309D8ED8C4536609D28DCB6E8 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + C1D0ECCE0F6D688793F4C2B0A8E06FE7 /* DateSpec.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateSpec.swift; path = Sources/FeedKit/Dates/DateSpec.swift; sourceTree = ""; }; + C2182246DCE20DC1D397525F32A8CE2B /* DDASLLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = Classes/DDASLLogger.h; sourceTree = ""; }; + C22AE0ED262B59834E0DFBCEE548B252 /* YapDatabaseRTreeIndexPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexPrivate.h; path = YapDatabase/Extensions/RTreeIndex/Internal/YapDatabaseRTreeIndexPrivate.h; sourceTree = ""; }; + C23CE7D14E4377DD0FD8D22147720D69 /* Curve25519Kit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Curve25519Kit-prefix.pch"; sourceTree = ""; }; + C2534B381A760F3CB8C061A82C8B68A9 /* Mnemonic.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Mnemonic.swift; sourceTree = ""; }; + C273652FB3FB689CE6E4D7F315529992 /* ge.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge.h; path = Sources/ed25519/ge.h; sourceTree = ""; }; + C295DCF50D17EC0F4E1FD3FD717A7250 /* SessionBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionBuilder.h; path = AxolotlKit/Classes/Sessions/SessionBuilder.h; sourceTree = ""; }; + C2C15C0953FEE789BD08B93DBCCEBB6A /* OWSAddToProfileWhitelistOfferMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSAddToProfileWhitelistOfferMessage.m; sourceTree = ""; }; + C2CBD2301C6ACFA0A5BD9D1A6C91A687 /* libPhoneNumber-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "libPhoneNumber-iOS.xcconfig"; sourceTree = ""; }; + C2E0CAFA4F755C9C7FB173F682113313 /* YapDatabaseActionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseActionManager.h; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManager.h; sourceTree = ""; }; + C326981867D81268BDF288F5CB95372E /* NVActivityIndicatorView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NVActivityIndicatorView.xcconfig; sourceTree = ""; }; + C388607ADA118252C700DB6E34BED80F /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; + C389470A93C5FD013BE86CEE1F0C3AF6 /* SSKIncrementingIdFinder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SSKIncrementingIdFinder.swift; sourceTree = ""; }; + C3FE80BA706FBEDC7C6A07CE803F7D4A /* OWSContactDiscoveryOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSContactDiscoveryOperation.swift; sourceTree = ""; }; + C406693BB6559BCC7C508910CD3B728F /* OWSLinkedDeviceReadReceipt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSLinkedDeviceReadReceipt.h; sourceTree = ""; }; + C4343C9C1EFCE16404755FEEE2A1DD3F /* japanese.txt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = japanese.txt; sourceTree = ""; }; + C45585D219CC0E3F057849350C06357D /* AnyPromise+Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "AnyPromise+Conversion.swift"; sourceTree = ""; }; + C46F0C11FDBA81761BD180C88D20EB4C /* empty.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = empty.pb.swift; path = Sources/SwiftProtobuf/empty.pb.swift; sourceTree = ""; }; + C470798A46DAE61CE27D44C1DCD40BDB /* YYImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YYImage.xcconfig; sourceTree = ""; }; + C47687913B01578DEBE0266C88E6085F /* SignalServiceKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SignalServiceKit.h; path = SignalServiceKit/src/SignalServiceKit.h; sourceTree = ""; }; + C4B6A6268319A30F3EB2D687A5A1B10F /* Reachability.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Reachability.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C4BD42AA3152F98D06D0B32E72454448 /* hash.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = hash.c; path = Sources/ed25519/nacl_sha512/hash.c; sourceTree = ""; }; + C4CAA212BA015C00D7AA7E6503CAC516 /* MediaHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaHash.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaHash.swift; sourceTree = ""; }; + C4E090CDEE9AC8EA80B30856FC904706 /* YapDatabaseFullTextSearchTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFullTextSearchTransaction.m; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.m; sourceTree = ""; }; + C55423988A91ED5FCD9F4E9DB5653580 /* SignalServiceKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalServiceKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C559A15FE0C0CBC35068EBA1F86AD472 /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; + C5AB250F11BA27C161B35A3968996485 /* ge_double_scalarmult.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = ge_double_scalarmult.c; path = Sources/ed25519/ge_double_scalarmult.c; sourceTree = ""; }; + C5AD3DFE84B6C2B6B07A78714AF53441 /* GCDWebServerRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerRequest.h; path = GCDWebServer/Core/GCDWebServerRequest.h; sourceTree = ""; }; + C602B9F2FD639FB2661B469F328D899D /* Curve25519Kit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "Curve25519Kit-Unit-Tests"; path = "Curve25519Kit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + C60AC69A844FB6C600825328C63D22E7 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; + C6905CA24C336F21965392752B34BF5D /* Contact.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Contact.h; sourceTree = ""; }; + C6C95F5BCC98FA47BC6B4035A0CB899C /* RSSFeedCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedCategory.swift; path = Sources/FeedKit/Models/RSS/RSSFeedCategory.swift; sourceTree = ""; }; + C6E69B77B9E3FEB68E5AA54AD672F91A /* CLSLogging.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSLogging.h; path = iOS/Crashlytics.framework/Headers/CLSLogging.h; sourceTree = ""; }; + C6E937F35B878409DE498FDA476200D4 /* DDLoggerNames.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDLoggerNames.m; path = Classes/DDLoggerNames.m; sourceTree = ""; }; + C700CDF54CBFFCC29FAB18DA450AE0B7 /* OWSIncomingMessageFinderTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSIncomingMessageFinderTest.m; sourceTree = ""; }; + C72915A837933F6049CE8ED9C24BFD64 /* SignalServiceKit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SignalServiceKit-Unit-Tests"; path = "SignalServiceKit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + C72EF2884FD26FF09E56D8D1C4EA1349 /* iTunesImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = iTunesImage.swift; path = Sources/FeedKit/Models/Namespaces/iTunes/iTunesImage.swift; sourceTree = ""; }; + C792A246FDBE3C1EBC608F725B61AC64 /* OWSDisappearingConfigurationUpdateInfoMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingConfigurationUpdateInfoMessage.m; sourceTree = ""; }; + C7B17AFB318EEBE013B3161DF148C073 /* YDBCKChangeRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKChangeRecord.m; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeRecord.m; sourceTree = ""; }; + C7D67B73903409AF639B1FBD26443E04 /* Reachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = ""; }; + C7DC8C2100A288FC3A3C8BCE40DC60FD /* Chain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Chain.h; path = AxolotlKit/Classes/Ratchet/Chain.h; sourceTree = ""; }; + C801360E523A27760275A306B45BD8C9 /* PreKeyWhisperMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PreKeyWhisperMessage.h; path = AxolotlKit/Classes/CipherMessage/PreKeyWhisperMessage.h; sourceTree = ""; }; + C80E253C73B643C2715C5EACEE758DD6 /* OWSDisappearingMessagesJobTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesJobTest.m; sourceTree = ""; }; + C869931B940B1E8F7C80963A4862ABB3 /* iTunesCategory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = iTunesCategory.swift; path = Sources/FeedKit/Models/Namespaces/iTunes/iTunesCategory.swift; sourceTree = ""; }; + C87346F261AD7073E23A3A83135C1AE7 /* MediaSubTitle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaSubTitle.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaSubTitle.swift; sourceTree = ""; }; + C885495F25A202343D01C2C2CD473B85 /* Mantle.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Mantle.xcconfig; sourceTree = ""; }; + C89B14A1CDD4C1EC8C256B767686B774 /* Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Internal.swift; path = Sources/SwiftProtobuf/Internal.swift; sourceTree = ""; }; + C89CAC9887B61894868EB8A830E49A5D /* SignalServiceClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalServiceClient.swift; sourceTree = ""; }; + C8B5A43EE9F27493AC2464D1CC7F18ED /* NSData+keyVersionByte.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+keyVersionByte.h"; path = "AxolotlKit/Classes/Utility/NSData+keyVersionByte.h"; sourceTree = ""; }; + C8BBE92FDEBDD9376DB156DA00822B7F /* TSAttachmentPointer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSAttachmentPointer.m; sourceTree = ""; }; + C8C07EEF72CA3647D7EF90A6EA08F2B8 /* mz_crypt.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_crypt.c; path = SSZipArchive/minizip/mz_crypt.c; sourceTree = ""; }; + C94A7BCF56C2FF6924E9A2A578D269FF /* YapDatabaseConnection+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YapDatabaseConnection+OWS.m"; sourceTree = ""; }; + C984F10529B24C1EE06A0F769FBD77D8 /* CipherMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CipherMessage.h; path = AxolotlKit/Classes/CipherMessage/CipherMessage.h; sourceTree = ""; }; + C98A99DFA917ADDE208587DC9D46A0A6 /* YapMurmurHash.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapMurmurHash.m; path = YapDatabase/Utilities/YapMurmurHash.m; sourceTree = ""; }; + C98D31E99928753FE5479A771F7500A9 /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; + C9BC6ED0B0CB87F33F6CA3CFF52DB801 /* SessionRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SessionRecord.h; path = AxolotlKit/Classes/Sessions/SessionRecord.h; sourceTree = ""; }; + C9E514F42AC74F38A10B7680E92DC523 /* PromiseKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PromiseKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CA58CC64AE29643A5BE3E94D26F94A1F /* OWSCountryMetadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSCountryMetadata.h; sourceTree = ""; }; + CA62A2C2C71C28EC024E153EB721398B /* SMKProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKProto.swift; path = SignalMetadataKit/src/Generated/SMKProto.swift; sourceTree = ""; }; + CA7FF88E89962054C080EF2F42576584 /* SwiftProtobuf-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftProtobuf-prefix.pch"; sourceTree = ""; }; + CAD6FC846B1E23F9C41DA0D8F99E1935 /* sc.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = sc.h; path = Sources/ed25519/sc.h; sourceTree = ""; }; + CAF72B52DB3B9843A89AB3D0BABF4BE4 /* NSData+Image.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSData+Image.h"; sourceTree = ""; }; + CB3137C4B3BC4CA4E69789E52DA87C4F /* YapDirtyDictionary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDirtyDictionary.h; path = YapDatabase/Utilities/YapDirtyDictionary.h; sourceTree = ""; }; + CB464C8C8CAEB4F478DC2E710336D621 /* YYImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImage.m; path = YYImage/YYImage.m; sourceTree = ""; }; + CC065B5B1C46AAC9AAE0A904CB145FE2 /* RSSFeed + mapCharacters.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RSSFeed + mapCharacters.swift"; path = "Sources/FeedKit/Models/RSS/RSSFeed + mapCharacters.swift"; sourceTree = ""; }; + CC863A8CC6D4BE6101A90DE1D25C8498 /* EXTRuntimeExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTRuntimeExtensions.h; path = Mantle/extobjc/EXTRuntimeExtensions.h; sourceTree = ""; }; + CC907524ED982FB557424B5D8CD88891 /* YDBCKRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKRecord.h; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecord.h; sourceTree = ""; }; + CCBB5BE6B55A40D62F9A732B5E5E1857 /* RSSFeed + mapAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RSSFeed + mapAttributes.swift"; path = "Sources/FeedKit/Models/RSS/RSSFeed + mapAttributes.swift"; sourceTree = ""; }; + CCBB6BBCB02DEB9D49968BA1666B1887 /* OWSIncompleteCallsJob.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSIncompleteCallsJob.m; sourceTree = ""; }; + CCE09C67222379F3EBF8D708A9D970A8 /* OWSGroupsOutputStream.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSGroupsOutputStream.m; sourceTree = ""; }; + CCFCBF79410871845253A5E83235F2F7 /* OWSIdentityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSIdentityManager.m; sourceTree = ""; }; + CCFF7F92732FDF4272A02E0FCD84A825 /* GCDWebServer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-umbrella.h"; sourceTree = ""; }; + CD32E50FD0F490DED11F1BB5630B1479 /* Curve25519Kit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Curve25519Kit.unit.xcconfig; sourceTree = ""; }; + CD76B7520B6AEF41B86DDCC390B6E761 /* SendingChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SendingChain.m; path = AxolotlKit/Classes/Ratchet/SendingChain.m; sourceTree = ""; }; + CD7EA77166DF2FC4FBED66D176AE01BA /* BinaryEncodingSizeVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryEncodingSizeVisitor.swift; path = Sources/SwiftProtobuf/BinaryEncodingSizeVisitor.swift; sourceTree = ""; }; + CDAA8EA554CC2E5BDAE02EF52B82EA99 /* MessageExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MessageExtension.swift; path = Sources/SwiftProtobuf/MessageExtension.swift; sourceTree = ""; }; + CDF6850BBB0640D51A0A78DB567FFB7E /* ANSCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ANSCompatibility.h; path = iOS/Crashlytics.framework/Headers/ANSCompatibility.h; sourceTree = ""; }; + CE446B41E16596A01DD85A2FC62538A5 /* TestKeychainStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TestKeychainStorage.swift; sourceTree = ""; }; + CE64D05FE4D2964016F64854B2A98B33 /* PreKeyRefreshOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PreKeyRefreshOperation.swift; sourceTree = ""; }; + CE8925D78BE9C4BFAF1141E721131B3A /* TypingIndicators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TypingIndicators.swift; sourceTree = ""; }; + CE899D1860ACAD7D81286A2AD1383717 /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; + CEAC6B14C9D0FCFEBBB4908EDAE82B1E /* mz_strm_split.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_strm_split.c; path = SSZipArchive/minizip/mz_strm_split.c; sourceTree = ""; }; + CECFEF17D3016932C94A23ECE569310D /* SignedPreKeyStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SignedPreKeyStore.h; path = AxolotlKit/Classes/State/SignedPreKeyStore.h; sourceTree = ""; }; + CEE2D1C79EFDAB086717ADEF25017B09 /* Pods-SignalShareExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalShareExtension.debug.xcconfig"; sourceTree = ""; }; + CF0CCA9E129D37E1BCD8534634F2160D /* TSAttachmentStream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSAttachmentStream.h; sourceTree = ""; }; + CF3B3B0D497C958E3D7DC33225B3643F /* HKDFKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "HKDFKit-dummy.m"; sourceTree = ""; }; + CF46AFC7959B175C0E1F836D72C58D95 /* YDBCKRecordTableInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKRecordTableInfo.h; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKRecordTableInfo.h; sourceTree = ""; }; + CF4D7EEC01E984D052ECAB138C9DDA1A /* crypto_sign.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_sign.h; path = Sources/ed25519/nacl_includes/crypto_sign.h; sourceTree = ""; }; + CF53912804BF50E7EA57EAF687CD6823 /* CDSQuote.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CDSQuote.h; sourceTree = ""; }; + CF53DAE56E088DC155166F8D1D06AF02 /* SAMKeychain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SAMKeychain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CF8B4D94DF2883E3383739D883B6A1AD /* DDMultiFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMultiFormatter.m; path = Classes/Extensions/DDMultiFormatter.m; sourceTree = ""; }; + CF97C901A486D87130948778E759CBB3 /* SSKProto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SSKProto.swift; sourceTree = ""; }; + CFB006A439A7256EFEF2CDA21D5C0826 /* NoopNotificationsManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NoopNotificationsManager.swift; sourceTree = ""; }; + CFCD6488993B3C3B8F3B9C7564F604E1 /* SSKBaseTestObjC.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSKBaseTestObjC.h; path = SignalServiceKit/tests/SSKBaseTestObjC.h; sourceTree = ""; }; + CFE3AA208B80846E8DA3B80CDD11033C /* YapDatabaseStatement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseStatement.m; path = YapDatabase/Internal/YapDatabaseStatement.m; sourceTree = ""; }; + CFEB6068CD6D606350B907CAF60625C6 /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; + D02D33950D4BB905023506E56F425268 /* OWSMessageDecrypter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageDecrypter.h; sourceTree = ""; }; + D0636057655653F0064C9EA33D74BC60 /* LokiPublicChat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiPublicChat.swift; sourceTree = ""; }; + D0831278D554467E6C00EBBC26B999AF /* YDBCKMergeInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKMergeInfo.h; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKMergeInfo.h; sourceTree = ""; }; + D087FA072CE85078A18D30A456439DEE /* OWSVerificationStateChangeMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSVerificationStateChangeMessage.h; sourceTree = ""; }; + D123F0B67BCA6427AC255C7DCDEF2E77 /* SwiftProtobuf.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftProtobuf.modulemap; sourceTree = ""; }; + D132DC0ECF8C44B87F4D3A00C575B55B /* HKDFKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HKDFKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D185A629847E9F817B45FF1FC6704BC7 /* RSSFeedImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedImage.swift; path = Sources/FeedKit/Models/RSS/RSSFeedImage.swift; sourceTree = ""; }; + D18E0335322D6750AC5C10A7D443B7ED /* Pods-LokiPushNotificationService-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LokiPushNotificationService-dummy.m"; sourceTree = ""; }; + D1929BF5C3937C168F3A7CC9B482E8B1 /* OWSSyncContactsMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSyncContactsMessage.h; sourceTree = ""; }; + D194D97B57B963E492AC540FAF10728D /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; + D1BD123F5275ACDF1FAC05E85EDB34A5 /* SignalRecipient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SignalRecipient.h; sourceTree = ""; }; + D1F4A2290C3A3E8474CC3A0D0F39540F /* FIRConfigurationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRConfigurationInternal.h; path = Firebase/Core/Private/FIRConfigurationInternal.h; sourceTree = ""; }; + D20AC90654D8CF8ECDBBDAE294E5A0B4 /* YapDatabaseExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseExtension.h; path = YapDatabase/Extensions/Protocol/YapDatabaseExtension.h; sourceTree = ""; }; + D217374FB5EAFA7085767CBA17AAA397 /* YapDatabaseRelationshipConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRelationshipConnection.m; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.m; sourceTree = ""; }; + D2310FA02B636F3A8F6FE46D55264DD3 /* YapCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapCache.m; path = YapDatabase/Utilities/YapCache.m; sourceTree = ""; }; + D23400F835A29FD241D7BD2F432FF7F2 /* FIRApp.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRApp.m; path = Firebase/Core/FIRApp.m; sourceTree = ""; }; + D271DC9D11B04E2B1069D881AA61B205 /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; + D2B1FEB458AC5D579A00D9ABCA98ABE3 /* YapProxyObjectPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapProxyObjectPrivate.h; path = YapDatabase/Internal/YapProxyObjectPrivate.h; sourceTree = ""; }; + D2CD125F2E1D52BCD25D4E0DD0B5FFDB /* RSSFeedItemSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RSSFeedItemSource.swift; path = Sources/FeedKit/Models/RSS/RSSFeedItemSource.swift; sourceTree = ""; }; + D2D02F2E32388AD29975F0CB62526E8C /* GULLoggerLevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULLoggerLevel.h; path = GoogleUtilities/Logger/Public/GULLoggerLevel.h; sourceTree = ""; }; + D2D227C80F943F297B9D753ADCC8FA88 /* TSErrorMessage_privateConstructor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSErrorMessage_privateConstructor.h; sourceTree = ""; }; + D2DAD7A23CC8ECFDB5BFB373320DE797 /* YapDatabaseFilteredViewConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFilteredViewConnection.h; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewConnection.h; sourceTree = ""; }; + D2DC99CD7A106AA884C9C0DF835B2FF5 /* YapDatabaseCryptoUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCryptoUtils.m; path = YapDatabase/Utilities/YapDatabaseCryptoUtils.m; sourceTree = ""; }; + D3226A006C1B8F5744C4EA403BCDBB0F /* OWSSwiftUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OWSSwiftUtils.swift; path = SignalCoreKit/src/OWSSwiftUtils.swift; sourceTree = ""; }; + D331228123C3E034EF32396A5F78B849 /* GCDWebServerResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerResponse.m; path = GCDWebServer/Core/GCDWebServerResponse.m; sourceTree = ""; }; + D336B734034978529A1EE0F3A6203E5D /* YapDatabaseFullTextSearch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFullTextSearch.m; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.m; sourceTree = ""; }; + D346AC201E59C1DB2399D4C014F2C471 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + D34EFDC3257FE3575E487FCDA5FD1DE4 /* FirebaseCore.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseCore.xcconfig; sourceTree = ""; }; + D37B5936EC87AAC9306016CDE41BE0F6 /* Enum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enum.swift; path = Sources/SwiftProtobuf/Enum.swift; sourceTree = ""; }; + D384D79ADBE4C0BDD927186FD5BDEE1C /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; + D395D334AE2FEF300983606510DCC347 /* LKSessionRestoreMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKSessionRestoreMessage.h; sourceTree = ""; }; + D3D8DC81CC082F6C473DA7861A213E53 /* SignalMetadataKit-Unit-Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SignalMetadataKit-Unit-Tests"; path = "SignalMetadataKit-Unit-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + D3EBDECBB0B3DDC68F3E7CE7CE4E98AE /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; + D420B079F9BBEABCBF643CE5C7A7B957 /* OWSDeviceProvisioningCodeService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDeviceProvisioningCodeService.h; sourceTree = ""; }; + D43B8ED524AE5A6DA6389CBF84E78693 /* Pods-SignalTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SignalTests-dummy.m"; sourceTree = ""; }; + D44ED824FB31ADD217E61D2C70E3A60E /* DigiCertGlobalRootG2.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = DigiCertGlobalRootG2.crt; sourceTree = ""; }; + D45CCBDFAD5A5860A4C5D47BD03B3450 /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; + D46146CF83F610837DF34E5A8A20CB58 /* OWSMessageReceiver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageReceiver.h; sourceTree = ""; }; + D49459D9A70D3A664C12B2CD1E24ABA9 /* FIRComponentContainerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentContainerInternal.h; path = Firebase/Core/Private/FIRComponentContainerInternal.h; sourceTree = ""; }; + D4A5B4BE05F44448199B50D029E5A60F /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CoreTelephony.framework; sourceTree = DEVELOPER_DIR; }; + D4D3F5EF827183826B9899BEC0C1F09D /* YapActionItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapActionItem.m; path = YapDatabase/Extensions/ActionManager/YapActionItem.m; sourceTree = ""; }; + D51DF0D031E2351A7D5298AC5938A2C1 /* SAMKeychain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SAMKeychain.h; path = Sources/SAMKeychain.h; sourceTree = ""; }; + D55BEF02ACDE2AB35B63C159425E153F /* YYImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYImage-prefix.pch"; sourceTree = ""; }; + D5C8E2E337891EE8DD0904152C3FF8CC /* YapDatabaseExtensionConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseExtensionConnection.m; path = YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.m; sourceTree = ""; }; + D5E4F3B8B9D983D33A8ECB273CFA6B64 /* NSDictionary+MTLJSONKeyPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLJSONKeyPath.m"; path = "Mantle/NSDictionary+MTLJSONKeyPath.m"; sourceTree = ""; }; + D5F9CC3F5873728B7CFD2C14641E6CE4 /* OWSFailedAttachmentDownloadsJob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFailedAttachmentDownloadsJob.h; sourceTree = ""; }; + D60C097DB7FBF12A762821A1A79982B3 /* SignalMetadataKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalMetadataKit-umbrella.h"; sourceTree = ""; }; + D61BAD5EB543EB2B18A0B7EA938A5B28 /* NBNumberFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBNumberFormat.h; path = libPhoneNumber/NBNumberFormat.h; sourceTree = ""; }; + D6326A5BB73AFFDFEC12155D231CCD45 /* ZigZag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZigZag.swift; path = Sources/SwiftProtobuf/ZigZag.swift; sourceTree = ""; }; + D63A7107AB610A3A95590C4DBBC9AA74 /* Pods-SignalTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalTests.debug.xcconfig"; sourceTree = ""; }; + D63D2EE507F01BE1359FB7672DF75AB9 /* OWSDisappearingMessagesConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDisappearingMessagesConfiguration.h; sourceTree = ""; }; + D640CF29A534821FF53479EE2ED5A5B9 /* Starscream.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.xcconfig; sourceTree = ""; }; + D6466BCC59FD4BF6F93F21383F1071D7 /* OWSBatchMessageProcessor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSBatchMessageProcessor.h; sourceTree = ""; }; + D65CE8B851F97F4FBC9F1FC3F41302D8 /* TSGroupThreadTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSGroupThreadTest.m; sourceTree = ""; }; + D66A3E292FF16690B2E3E765F165A792 /* NSTimer+OWS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSTimer+OWS.h"; sourceTree = ""; }; + D6873113E0D0E7D73ABBC650C43A5233 /* YYImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImage.h; path = YYImage/YYImage.h; sourceTree = ""; }; + D690407BE016C39B67A7533126943E8B /* Mantle-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Mantle-dummy.m"; sourceTree = ""; }; + D69B64800F675FF8E09FA71C4A163B89 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; + D6B4A9C40C38A2A202368FC9EC32EC45 /* OWSSignalAddressTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSSignalAddressTest.swift; sourceTree = ""; }; + D6CB228D0A13DA02C75D76DCE41E7955 /* FIRErrors.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRErrors.m; path = Firebase/Core/FIRErrors.m; sourceTree = ""; }; + D6D50EC3E626DD017834A1312DFBB856 /* SignalCoreKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SignalCoreKit-dummy.m"; sourceTree = ""; }; + D6F9AAF4F843157DEB1D2F580ECB41BA /* OWSPrimaryStorage+Calling.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+Calling.h"; sourceTree = ""; }; + D701F9D2ECF411361309B9F90D470B7D /* Pods-LokiPushNotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LokiPushNotificationService.release.xcconfig"; sourceTree = ""; }; + D704A2AE0D901CF145CE6D7DDA7CBFDB /* OWSFakeNetworkManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFakeNetworkManager.m; sourceTree = ""; }; + D707D19FDBD2F7B3AC25A6ADBFDFF77A /* DoubleFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DoubleFormatter.swift; path = Sources/SwiftProtobuf/DoubleFormatter.swift; sourceTree = ""; }; + D728D1F866EC435408DF94C31D0FABCC /* FieldTag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FieldTag.swift; path = Sources/SwiftProtobuf/FieldTag.swift; sourceTree = ""; }; + D72B8D9F026552E914C88BE40712F6A0 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; + D743C47DE691FA9CAE7C1234349A1DC0 /* SPKMockProtocolStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPKMockProtocolStore.m; path = AxolotlKit/Classes/TestUtils/SPKMockProtocolStore.m; sourceTree = ""; }; + D75FC383B515B9D60DB00CFBF5052051 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; + D786375C7083F1D8963F7F2ADD424524 /* MediaStatistics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaStatistics.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaStatistics.swift; sourceTree = ""; }; + D79957FB9EDC3489CC34ED71EF4A467A /* NameMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NameMap.swift; path = Sources/SwiftProtobuf/NameMap.swift; sourceTree = ""; }; + D7B3F6601015874F5580A99B4F1B5E1B /* YapDatabaseFullTextSearchConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFullTextSearchConnection.m; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.m; sourceTree = ""; }; + D7BA2733BCD2863349FB3809C1FB1532 /* DeviceNames.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceNames.swift; sourceTree = ""; }; + D7BCF09BDC8D58419AA35C97D965F1D8 /* YapDatabaseSearchResultsViewConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchResultsViewConnection.h; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewConnection.h; sourceTree = ""; }; + D7D8C8B79F109630174A9C322F593CA8 /* YDBCKRecordInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YDBCKRecordInfo.h; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecordInfo.h; sourceTree = ""; }; + D7DD5C6B0DEA38DCE441B21DBB006DCA /* BinaryDecodingError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDecodingError.swift; path = Sources/SwiftProtobuf/BinaryDecodingError.swift; sourceTree = ""; }; + D7EE1121D7447DC57437DBA390F1ABA6 /* SSKEnvironment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SSKEnvironment.m; path = SignalServiceKit/src/SSKEnvironment.m; sourceTree = ""; }; + D86FB6002C554A954B40770EDACB79FB /* YapDatabaseCrossProcessNotificationTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCrossProcessNotificationTransaction.h; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationTransaction.h; sourceTree = ""; }; + D88EF6B3A2D169068607C7366C36DF51 /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; + D8A7265B5CAF3A4DFB8253D3B37DD936 /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; + D8A924900971AC7A277200B23CF4A192 /* Curve25519Kit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Curve25519Kit-dummy.m"; sourceTree = ""; }; + D8E97BBC635A675CAC498501BD7BFCD3 /* NBPhoneNumber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBPhoneNumber.m; path = libPhoneNumber/NBPhoneNumber.m; sourceTree = ""; }; + D8FCF97186566FBEECDEEDF93390B479 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Sources/FeedKit/Parser/Result.swift; sourceTree = ""; }; + D9133DAEBA618BF560476BEC1A15287D /* GoogleUtilities.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GoogleUtilities.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D9214F0DF7C8D8C8D8CF8AB2D5B50F95 /* NVActivityIndicatorAnimationBallScaleRipple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallScaleRipple.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallScaleRipple.swift; sourceTree = ""; }; + D93D5AD99D02E835CC05091E2D77E2FE /* mz_zip.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mz_zip.c; path = SSZipArchive/minizip/mz_zip.c; sourceTree = ""; }; + D94C36CCB1FB119D9C8B404B5DEC932A /* TSDatabaseView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSDatabaseView.m; sourceTree = ""; }; + D9A2DB42F8F5C243B264B452F514E46B /* AxolotlKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AxolotlKit.xcconfig; sourceTree = ""; }; + D9F2073C41BE615D4F3B59077474924F /* NVActivityIndicatorAnimationBallTrianglePath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallTrianglePath.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallTrianglePath.swift; sourceTree = ""; }; + DA1B86A4E77C8652C1547E3249058EFA /* NVActivityIndicatorShape.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorShape.swift; path = Source/NVActivityIndicatorView/NVActivityIndicatorShape.swift; sourceTree = ""; }; + DA25C1D9520A6FBBD9C44EDD2A55264E /* YapDatabaseSecondaryIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSecondaryIndex.m; path = YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.m; sourceTree = ""; }; + DA2EEA903C84CCBA47F253B06D935522 /* SSKAsserts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SSKAsserts.h; sourceTree = ""; }; + DA40C55BDD6120B32FCBA8998BB9FD24 /* OWSPrimaryStorage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSPrimaryStorage.m; sourceTree = ""; }; + DA5313A874DED8C6872D5844E057765B /* YYImage-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYImage-umbrella.h"; sourceTree = ""; }; + DA6FF94C4BCC0272AC67CF8FF42C4BB1 /* YapDatabaseRelationshipConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipConnection.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.h; sourceTree = ""; }; + DA83BB9172B56C8D73E89BA4B5FEBAD6 /* DeviceLinkingSession.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceLinkingSession.swift; sourceTree = ""; }; + DAD84B9C79AB1D30CADF7CA378A51E96 /* OWSSignalService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSSignalService.m; sourceTree = ""; }; + DAE333843A9EAFE42AA37FFEE7A7F447 /* YapDatabaseSearchResultsViewTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseSearchResultsViewTransaction.h; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewTransaction.h; sourceTree = ""; }; + DAF166029235C8FD41FE0981CB288016 /* RDFPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RDFPath.swift; path = Sources/FeedKit/Models/RSS/RDFPath.swift; sourceTree = ""; }; + DAFBCEF8EE24C48A5491EAFCBA6FB1BD /* MessageSender+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "MessageSender+Promise.swift"; sourceTree = ""; }; + DB036B3AB4346C667E4DFD7F4C110FA8 /* SendingChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SendingChain.h; path = AxolotlKit/Classes/Ratchet/SendingChain.h; sourceTree = ""; }; + DB36651977DC94E4FD806826CAD68018 /* AtomFeedAuthor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomFeedAuthor.swift; path = Sources/FeedKit/Models/Atom/AtomFeedAuthor.swift; sourceTree = ""; }; + DBA039CF47ECB02EB31CA9003F9D69F8 /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; + DBB1BB6456CEEBFCB47B5391D16FAA78 /* CDSSigningCertificate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CDSSigningCertificate.h; sourceTree = ""; }; + DC14BE8B691FC354CEAEA090D739A0C0 /* ge_add.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ge_add.h; path = Sources/ed25519/ge_add.h; sourceTree = ""; }; + DC6D871493A3454F2F6ABD2A3F1706FB /* Pods-LokiPushNotificationService.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LokiPushNotificationService.app store release.xcconfig"; sourceTree = ""; }; + DC76C2874E0717E6F16AE355DE9B3D5E /* Cryptography.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cryptography.h; path = SignalCoreKit/src/Cryptography.h; sourceTree = ""; }; + DCC86836636E3585E84CB5E9856603B4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + DCF9F56A3C5B39191186DE30B398EB07 /* NVActivityIndicatorAnimationBallPulse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallPulse.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallPulse.swift; sourceTree = ""; }; + DD4913EEE98DB15557D20A46CFDB00DF /* crypto_uint64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_uint64.h; path = Sources/ed25519/nacl_includes/crypto_uint64.h; sourceTree = ""; }; + DDCE1278AE56A54F909A9FF18A149202 /* SessionRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionRecord.m; path = AxolotlKit/Classes/Sessions/SessionRecord.m; sourceTree = ""; }; + DDEDA285B30963897F47E11D0DD33F79 /* MTLJSONAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLJSONAdapter.h; path = Mantle/MTLJSONAdapter.h; sourceTree = ""; }; + DE0911FEEB04922545AD0D1042EF2E3C /* duration.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = duration.pb.swift; path = Sources/SwiftProtobuf/duration.pb.swift; sourceTree = ""; }; + DE52C111D3F081C20A9A61E33DB75DC6 /* Constants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Constants.h; path = AxolotlKit/Classes/Constants.h; sourceTree = ""; }; + DE5F81B69D105BE21635B3A27CE8348B /* NVActivityIndicatorView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NVActivityIndicatorView-dummy.m"; sourceTree = ""; }; + DE81D5975DA752A1C90323BAEB980B2B /* SignalServiceKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SignalServiceKit-prefix.pch"; sourceTree = ""; }; + DE9B34074ADB6EAD954D55184E7E5B9E /* DeviceLinkingSessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceLinkingSessionDelegate.swift; sourceTree = ""; }; + DEB12A9EB01B67A1636AB60A11A7059A /* TSDatabaseSecondaryIndexes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSDatabaseSecondaryIndexes.m; sourceTree = ""; }; + DED0FEDC27EBFE0445768750D54DBA41 /* FriendRequestExpirationJob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FriendRequestExpirationJob.swift; sourceTree = ""; }; + DEE4F18431D6D6DE5C9EE8C37C90A731 /* Pods-Signal.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Signal.app store release.xcconfig"; sourceTree = ""; }; + DEF1BBB7240C7E7A90DB2CC42F7374F6 /* YapDatabaseCloudKitConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCloudKitConnection.m; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitConnection.m; sourceTree = ""; }; + DF49CDD67C98BA5D7D30AD6409B6B4CB /* SSKJobRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SSKJobRecord.m; sourceTree = ""; }; + DF625FBCC038A1C094DCE8A363CC23B6 /* CLIColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLIColor.h; path = Classes/CLI/CLIColor.h; sourceTree = ""; }; + DF6A071C7A4DB1F9DB12F9DF37F99530 /* YDBCKChangeQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKChangeQueue.m; path = YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeQueue.m; sourceTree = ""; }; + DF752968EB8BEA27791E2A72E7339017 /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; + DF8CBFBF595FBA9DC508F93AD5856507 /* TSGroupModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSGroupModel.m; sourceTree = ""; }; + DF9EF7AE85B6237503F82C2201110111 /* OWSDevicesService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDevicesService.h; sourceTree = ""; }; + DFCAAA79DA10F324765CE416A065D69F /* YapDatabaseRelationshipEdge.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipEdge.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.h; sourceTree = ""; }; + DFD2890CA41BD9FDDBD1B7084077CFF9 /* libPhoneNumber-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "libPhoneNumber-iOS.modulemap"; sourceTree = ""; }; + DFE4D3EEB9F9F8F927F36C993D5D251E /* Varint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Varint.swift; path = Sources/SwiftProtobuf/Varint.swift; sourceTree = ""; }; + DFEA6178CDEC9267F8F13DC77B0AB41D /* YapDatabaseActionManagerTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseActionManagerTransaction.m; path = YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerTransaction.m; sourceTree = ""; }; + E014E13C0EC6BFBA884F63935E41C035 /* TSGroupThread.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSGroupThread.m; sourceTree = ""; }; + E0207AF074DB23F127E20DEECCA9CB62 /* OWSStorage+Subclass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSStorage+Subclass.h"; sourceTree = ""; }; + E0590D8306EB7157774AFDFEC59237E4 /* BinaryEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryEncoder.swift; path = Sources/SwiftProtobuf/BinaryEncoder.swift; sourceTree = ""; }; + E073D0CDC3B2333565C0DAA89FE4C573 /* BuildConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BuildConfiguration.swift; sourceTree = ""; }; + E0799DD3286718BF809F92E5B657E93F /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDContextFilterLogFormatter.h; path = Classes/Extensions/DDContextFilterLogFormatter.h; sourceTree = ""; }; + E0ABB6F6B6667230BDA49A625608C594 /* NSArray+MTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MTLManipulationAdditions.m"; path = "Mantle/NSArray+MTLManipulationAdditions.m"; sourceTree = ""; }; + E0E9AC1D11C48B35E9ED5D428F0E44CB /* YapDatabaseAutoViewTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseAutoViewTransaction.m; path = YapDatabase/Extensions/AutoView/YapDatabaseAutoViewTransaction.m; sourceTree = ""; }; + E0F8D03AF7C377A34DCD1697D30CFC2D /* YapDatabaseFullTextSearchTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearchTransaction.h; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.h; sourceTree = ""; }; + E120687137D0DA9D4E1A37F4CE40A765 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + E12D592A08C2F25FCFC10BE86A7E049A /* OWSMessageSender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageSender.h; sourceTree = ""; }; + E15F292EEC71F1CA6B1B8AD844F2F09D /* String + toBool.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String + toBool.swift"; path = "Sources/FeedKit/Extensions/String + toBool.swift"; sourceTree = ""; }; + E16A01779815BFC31176196EA7B72D7B /* OWSProfileKeyMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSProfileKeyMessage.h; sourceTree = ""; }; + E17AC3035E1283DD7EE15C7638F5E952 /* OWSEndSessionMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSEndSessionMessage.h; sourceTree = ""; }; + E1833048746C36F32EDD5C4BE5E3649F /* Fabric.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Fabric.framework; path = iOS/Fabric.framework; sourceTree = ""; }; + E188E0BB4325972AD6DC59DA05CCC04E /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+MTLPredefinedTransformerAdditions.m"; path = "Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.m"; sourceTree = ""; }; + E18BF09110D3A842DAEDC8B1B77F38EE /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; + E19B6669F62FB0A536138275893CCEA9 /* NVActivityIndicatorAnimationBallDoubleBounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallDoubleBounce.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallDoubleBounce.swift; sourceTree = ""; }; + E207B727B3B84A72B917562A664ADBAA /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; + E2118CA94270DFA4D5811B592B9F68B7 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScalePulseOutRapid.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScalePulseOutRapid.swift; sourceTree = ""; }; + E22346CE7C5D358EBE0A05D23F503F44 /* NSObject+MTLComparisonAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MTLComparisonAdditions.m"; path = "Mantle/NSObject+MTLComparisonAdditions.m"; sourceTree = ""; }; + E22662E50C7C862E76E42D7E1552B60D /* zeroize.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = zeroize.c; path = Sources/ed25519/additions/zeroize.c; sourceTree = ""; }; + E26A603EA42160DF1BCE76EE27591482 /* SignalCoreKit-Unit-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SignalCoreKit-Unit-Tests-Info.plist"; sourceTree = ""; }; + E2D289131471BA4BF77355866AFB8376 /* FullTextSearchFinder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FullTextSearchFinder.swift; sourceTree = ""; }; + E32CA4AF4958231340ABE402AC7D512A /* Visitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Visitor.swift; path = Sources/SwiftProtobuf/Visitor.swift; sourceTree = ""; }; + E338886DBAA35B0E025D158AB1BF398A /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; + E356109B12FC9F0482CD263F7E687FE2 /* LKSessionRequestMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LKSessionRequestMessage.h; sourceTree = ""; }; + E3A56D8E6D13D86447FBC2AF5919CFCE /* Pods-SignalMessaging-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SignalMessaging-dummy.m"; sourceTree = ""; }; + E3B77C4E9DAC16C48272F191CA8F85F8 /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; + E3E59A793B646F47B14E750BF71CFA35 /* FakeContactsManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FakeContactsManager.swift; sourceTree = ""; }; + E3F7E5A334EF2CA2420C17AA7053BFD7 /* OWSDisappearingMessagesFinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesFinder.m; sourceTree = ""; }; + E42551366B5564DC7446AAA522953A58 /* sqlite3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = sqlite3.h; sourceTree = ""; }; + E463E70EDF92A8FED0B587DA42DD6692 /* NVActivityIndicatorAnimationLineScaleParty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineScaleParty.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineScaleParty.swift; sourceTree = ""; }; + E4DF52CD2F8B17C9621634E1896E3F1D /* openssl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = openssl.framework; path = "OpenSSL-iOS/bin/openssl.framework"; sourceTree = ""; }; + E503D21A51B4B5053131905F89571FE7 /* OWSDeviceProvisioner.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceProvisioner.m; sourceTree = ""; }; + E50FC5014F5A9D42DB03F91F0023C5E2 /* Crashlytics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Crashlytics.h; path = iOS/Crashlytics.framework/Headers/Crashlytics.h; sourceTree = ""; }; + E558BA4EBB561979B2A8719113CCD947 /* YapDatabaseRTreeIndexTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexTransaction.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexTransaction.h; sourceTree = ""; }; + E590D89CB3181FD4969F1F2DBCBC8FBB /* Contact.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Contact.m; sourceTree = ""; }; + E5CC8E0BE9BD233A7DE8D1432A4DC13D /* DeviceLink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceLink.swift; sourceTree = ""; }; + E5E4D4083754E9DF70670309E3CA8D36 /* pow22523.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = pow22523.h; path = Sources/ed25519/pow22523.h; sourceTree = ""; }; + E61493E7E40B083643A67B584984E927 /* NSArray+NBAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+NBAdditions.m"; path = "libPhoneNumber/NSArray+NBAdditions.m"; sourceTree = ""; }; + E61508F9100AF1A8C438C04BB965A853 /* OWSFakeCallMessageHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFakeCallMessageHandler.m; sourceTree = ""; }; + E6720F86A70FAFDD9441F8C17B87A61B /* TSInvalidIdentityKeyErrorMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSInvalidIdentityKeyErrorMessage.h; sourceTree = ""; }; + E6863DB7664C6D8A946A9E37D8C00B66 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; + E6A1A174E15E83F7E54DF923F832717C /* Message+BinaryAdditions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Message+BinaryAdditions.swift"; path = "Sources/SwiftProtobuf/Message+BinaryAdditions.swift"; sourceTree = ""; }; + E6C0E995E0451DED0A7F2853830584DF /* AppContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = AppContext.m; sourceTree = ""; }; + E6E2C97C4174A9BE9146FC78DB4F710A /* Pods-SignalTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SignalTests-acknowledgements.markdown"; sourceTree = ""; }; + E713497EFC2616CDEA3727DE24E0C17B /* SignalMetadataKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalMetadataKit.xcconfig; sourceTree = ""; }; + E751AD36C4343AE53F1FB0BAB48FC255 /* OWSVerificationStateSyncMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSVerificationStateSyncMessage.m; sourceTree = ""; }; + E78BF696F5651613E80C102DA5FAACE5 /* BobAxolotlParameters.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BobAxolotlParameters.m; path = AxolotlKit/Classes/Ratchet/BobAxolotlParameters.m; sourceTree = ""; }; + E7996409322641ECB1E7BBE4FAF6759C /* HKDFKit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HKDFKit-Unit-Tests-prefix.pch"; sourceTree = ""; }; + E7A74D354C541DF54139F6715ABC84CE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + E7AA520B597EA2280BD05A35F5970B3B /* NVActivityIndicatorAnimationBallClipRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallClipRotate.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallClipRotate.swift; sourceTree = ""; }; + E7D0CC305297FDB945E43BF6A9C05FD9 /* RotateSignedKeyOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RotateSignedKeyOperation.swift; sourceTree = ""; }; + E7DFA755012D9C9F7F827BB4E37936E4 /* ExtensionFields.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtensionFields.swift; path = Sources/SwiftProtobuf/ExtensionFields.swift; sourceTree = ""; }; + E8052EE21BA2EC950A714EC10062CAF8 /* TSNetworkManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSNetworkManager.h; sourceTree = ""; }; + E8085776C33E22160A52C90C6ADEB9B6 /* OWSAnalyticsEvents.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSAnalyticsEvents.h; sourceTree = ""; }; + E80DDBE542295F7D991282136F2BB17C /* FeedParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FeedParser.swift; path = Sources/FeedKit/Parser/FeedParser.swift; sourceTree = ""; }; + E837B3EF36DB408C33F61ED53D9D55D4 /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E84D196E7CD43DA30666C10A44A46C15 /* YapSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapSet.m; path = YapDatabase/Utilities/YapSet.m; sourceTree = ""; }; + E854981C7D32C92A6B0FCE685EC2601D /* ParserError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParserError.swift; path = Sources/FeedKit/Parser/ParserError.swift; sourceTree = ""; }; + E854C0175259A8B6582D93ECEB259968 /* YapDatabaseFilteredViewTypes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFilteredViewTypes.m; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredViewTypes.m; sourceTree = ""; }; + E86D03480839B5CD2EDE44AE992B608F /* OWSMessageHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMessageHandler.h; sourceTree = ""; }; + E8708739015E2A76728236B3511F4EA0 /* YapDatabaseRTreeIndexConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexConnection.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexConnection.h; sourceTree = ""; }; + E877941B3E32D1F0A027602ACB56A655 /* FunctionalUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = FunctionalUtil.h; sourceTree = ""; }; + E880FDFCA718C0049203F62ED1C89253 /* Answers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Answers.h; path = iOS/Crashlytics.framework/Headers/Answers.h; sourceTree = ""; }; + E89CC6D555EFFADE482CC73CB6F8EF8A /* OWSFileSystem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFileSystem.h; sourceTree = ""; }; + E8CA9DDFE3897FAB7FD3EEE017AE6BC6 /* Message+TextFormatAdditions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Message+TextFormatAdditions.swift"; path = "Sources/SwiftProtobuf/Message+TextFormatAdditions.swift"; sourceTree = ""; }; + E914D199A8499D475A36A668FA17142D /* iTunesOwner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = iTunesOwner.swift; path = Sources/FeedKit/Models/Namespaces/iTunes/iTunesOwner.swift; sourceTree = ""; }; + E916EF59BB0AC73DF7908C9AB35F0129 /* YapDatabaseFilteredViewPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFilteredViewPrivate.h; path = YapDatabase/Extensions/FilteredView/Internal/YapDatabaseFilteredViewPrivate.h; sourceTree = ""; }; + E91C52D10BEF526E52DE1C078D2C7302 /* Google_Protobuf_Any+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Any+Extensions.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Any+Extensions.swift"; sourceTree = ""; }; + E97D953E7ADD8166217980C2156300AB /* OWSPrimaryStorage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSPrimaryStorage.h; sourceTree = ""; }; + E985599FA552932998D7602FB5FEA74B /* Pods-SignalTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SignalTests-frameworks.sh"; sourceTree = ""; }; + E9D64F337793A13291717BB2A2F638AA /* libPhoneNumber-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "libPhoneNumber-iOS-dummy.m"; sourceTree = ""; }; + E9F8093345F960B32F9F6996387E4122 /* SMKTestUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SMKTestUtils.swift; path = SignalMetadataKitTests/src/SMKTestUtils.swift; sourceTree = ""; }; + EA10C5D586B47850F899422FD393047D /* TSIncomingMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSIncomingMessage.m; sourceTree = ""; }; + EA2397B146ECDD840ADC6297F07843D9 /* YapDatabaseCloudKitTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudKitTransaction.h; path = YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTransaction.h; sourceTree = ""; }; + EA2ADBE8C4AE22D1579EC5C6253DC368 /* Curve25519Kit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Curve25519Kit.modulemap; sourceTree = ""; }; + EA37CD3D0F68C7B67B46AEF07D13629A /* BinaryDecodingOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDecodingOptions.swift; path = Sources/SwiftProtobuf/BinaryDecodingOptions.swift; sourceTree = ""; }; + EA50E7B2159788D9B0FEAC7A8E0A1BC4 /* NSObject+OWS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+OWS.m"; path = "SignalCoreKit/src/NSObject+OWS.m"; sourceTree = ""; }; + EA869D1A800BAFB85E3E766A8FB1C9DF /* DDLogMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLogMacros.h; path = Classes/DDLogMacros.h; sourceTree = ""; }; + EA8CD908B22D7684251467A1DBD5470E /* Pods-Signal-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Signal-acknowledgements.plist"; sourceTree = ""; }; + EAA2F8C2B86AD435A6A975EF9FE16C82 /* OWSPrimaryStorage+Calling.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+Calling.m"; sourceTree = ""; }; + EAD9A14ECA46198D89D8D9A8935A7FE0 /* OWSMessageSend.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OWSMessageSend.swift; sourceTree = ""; }; + EAF21128F34C978A1C18693D941CD1E3 /* SSKKeychainStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SSKKeychainStorage.swift; sourceTree = ""; }; + EAF332322AE1DA8A323E3770D19DFD3A /* TSMessageStorageTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSMessageStorageTests.m; sourceTree = ""; }; + EB167397E22A0B2F7F2149C40FC9D8AE /* OWSQueues.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSQueues.h; sourceTree = ""; }; + EB38BB58EF7A4D9713F88DB601E9EB5C /* YapDatabaseQuery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseQuery.h; path = YapDatabase/Utilities/YapDatabaseQuery.h; sourceTree = ""; }; + EB54F97B28ACE0A021A31B79ABE8AF71 /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; + EB7C9B86EF6075ACA80AF6511CAB6927 /* Pods-SignalTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalTests.release.xcconfig"; sourceTree = ""; }; + EBA18DDD4181A3A812C611E645D97173 /* LKFriendRequestMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LKFriendRequestMessage.m; sourceTree = ""; }; + EBBFB5109DB45456AF54AB7DB029E4FD /* HKDFKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HKDFKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EBEA26214AF977D08E32D4677AF7EE46 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; + EBEC8A9481E2A3A04625E261CB76DD3C /* SessionCipher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SessionCipher.m; path = AxolotlKit/Classes/SessionCipher.m; sourceTree = ""; }; + EC01664282A4BCBD8FB54C793EDA64A7 /* OWSFailedAttachmentDownloadsJob.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFailedAttachmentDownloadsJob.m; sourceTree = ""; }; + EC016BAAFFD031DD978ADB1E1111ED8C /* SignalServiceProfile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SignalServiceProfile.swift; sourceTree = ""; }; + EC0F2ECD8CF70F23D1E97D54ACAD7D60 /* Reachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = ""; }; + EC54F42C6C18D2738704C95B2E6ACCDA /* RootKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RootKey.h; path = AxolotlKit/Classes/Ratchet/RootKey.h; sourceTree = ""; }; + EC5E66586F609125D718A0126C87E944 /* DeviceLinkIndex.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceLinkIndex.swift; sourceTree = ""; }; + EC77CB7F0E39E16597394DEC6FAFD12E /* YapDatabaseSearchResultsViewConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSearchResultsViewConnection.m; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewConnection.m; sourceTree = ""; }; + ECB871E33721A9CD04B989614934B7E1 /* YapDatabaseViewMappingsPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseViewMappingsPrivate.h; path = YapDatabase/Extensions/View/Internal/YapDatabaseViewMappingsPrivate.h; sourceTree = ""; }; + ECBC422E82DCC449075501EB0E163D91 /* OWSPrimaryStorage+SignedPreKeyStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OWSPrimaryStorage+SignedPreKeyStore.h"; sourceTree = ""; }; + ECC7CCD50D9F888C9C921619C2A27EF0 /* PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PureLayout.xcconfig; sourceTree = ""; }; + ED40A71A2F957993F8EFD7B6CBACEB68 /* RKCK.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RKCK.h; path = AxolotlKit/Classes/Ratchet/RKCK.h; sourceTree = ""; }; + ED6C65193871BFE0EC331ED479BFF604 /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; + ED8591100F2C806D6DB748953961CEBB /* Pods-Signal-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Signal-frameworks.sh"; sourceTree = ""; }; + ED890EC6703B0F989142D901169D2BBB /* ProtoUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ProtoUtils.m; sourceTree = ""; }; + EDB9D311D235AA42D12AFBD513FFE6FD /* SSZipArchive-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SSZipArchive-prefix.pch"; sourceTree = ""; }; + EE5C8E62A98EACDDE4FA3216B5BE9B10 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + EEB8DF446532037A949735E13B7631BA /* OWSFakeProfileManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFakeProfileManager.m; sourceTree = ""; }; + EEB900F6A62E5277C8C071F2D27BEC36 /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; + EEDFF7BC112BDFCEC7837070F38B84F6 /* OWSFakeContactsUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSFakeContactsUpdater.h; sourceTree = ""; }; + EEED420B9E26D8C0ECFC8728865B70C7 /* iOSVersions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = iOSVersions.h; path = SignalCoreKit/src/iOSVersions.h; sourceTree = ""; }; + EF01FF30AC116FEC7CDD6770446CF361 /* MTLReflection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLReflection.m; path = Mantle/MTLReflection.m; sourceTree = ""; }; + EF1C70EB1F920668F66E872523625E2B /* BinaryEncodingVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryEncodingVisitor.swift; path = Sources/SwiftProtobuf/BinaryEncodingVisitor.swift; sourceTree = ""; }; + EF9DE47D10C0A1E4A5027AE1D79926D2 /* DigiCertSHA2HighAssuranceServerCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file; path = DigiCertSHA2HighAssuranceServerCA.crt; sourceTree = ""; }; + EFB4D6476B78ADF91DFCD53D31CD6825 /* SSLSecurity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLSecurity.swift; path = Sources/Starscream/SSLSecurity.swift; sourceTree = ""; }; + EFC2E9CB39F0D3C36100B58BD9920F69 /* YDBCKRecord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YDBCKRecord.m; path = YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecord.m; sourceTree = ""; }; + EFEAFAA2D1980D61E234DAD4624840DD /* YapDatabaseRTreeIndexTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndexTransaction.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexTransaction.m; sourceTree = ""; }; + EFF7E54FA0A453DBD9E0328E9E9CD5BC /* Curve25519Kit-Unit-Tests-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Curve25519Kit-Unit-Tests-prefix.pch"; sourceTree = ""; }; + EFF961CCC805140F0B5C37EBA85CC84A /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationLineSpinFadeLoader.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationLineSpinFadeLoader.swift; sourceTree = ""; }; + F028C282B45695B92B38676C0A459DE1 /* HKDFKit-Unit-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "HKDFKit-Unit-Tests-frameworks.sh"; sourceTree = ""; }; + F036F5E2E835EE45BD901DCDB175C0B4 /* FIRDependency.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRDependency.h; path = Firebase/Core/Private/FIRDependency.h; sourceTree = ""; }; + F04B9AE44564A608031E5D799EC6FB49 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; + F06885A9BAD502125B6883DEC13E24A7 /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; + F09D3191225302A5C8BE2E3074399E1C /* fe_isnonzero.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = fe_isnonzero.c; path = Sources/ed25519/fe_isnonzero.c; sourceTree = ""; }; + F0F0399FFDE2D3181E2B17010A3B4E52 /* AxolotlKit-Unit-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "AxolotlKit-Unit-Tests-resources.sh"; sourceTree = ""; }; + F11225A445571C55C46D973512749527 /* Pods-LokiPushNotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LokiPushNotificationService.debug.xcconfig"; sourceTree = ""; }; + F128D88F6B3AD9E7D01FF245D6E62512 /* WhisperMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WhisperMessage.h; path = AxolotlKit/Classes/CipherMessage/WhisperMessage.h; sourceTree = ""; }; + F19DDAF1CC1AB90EF96904864201D36F /* FIRDependency.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRDependency.m; path = Firebase/Core/FIRDependency.m; sourceTree = ""; }; + F1A9F1CB5BA5EB28EA0C0111D2B92C51 /* OWSDisappearingMessagesFinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDisappearingMessagesFinder.h; sourceTree = ""; }; + F1DBFD8A7B6A80B3778DE74CAFE1EE14 /* Reachability-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-prefix.pch"; sourceTree = ""; }; + F2210E9390B9DA61D8856AD08AE96DA2 /* DataSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DataSource.m; sourceTree = ""; }; + F22BEAB9BD66FF2FEB3C5C2E67E4E447 /* YapDatabaseTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseTransaction.m; path = YapDatabase/YapDatabaseTransaction.m; sourceTree = ""; }; + F2BE6D6B18DBBDD05FEE5CF1F16B8B8D /* YapDatabaseLogging.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseLogging.h; path = YapDatabase/Internal/YapDatabaseLogging.h; sourceTree = ""; }; + F30C9BCE07D75A23D509CA65FA7CB9D5 /* Pods-SignalMessaging.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalMessaging.debug.xcconfig"; sourceTree = ""; }; + F31404D4995B3B8A3F58813119DC8D84 /* compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = compare.h; path = Sources/ed25519/additions/compare.h; sourceTree = ""; }; + F31E6578BC4DFDED46E3AE82B5A5D87B /* NVActivityIndicatorAnimationSemiCircleSpin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationSemiCircleSpin.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationSemiCircleSpin.swift; sourceTree = ""; }; + F34FC2D0A98D903A6FBEE1504C489AE9 /* DDAssertMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDAssertMacros.h; path = Classes/DDAssertMacros.h; sourceTree = ""; }; + F370C6DBDBDB58ADE2D78159D271D98C /* YapDatabase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YapDatabase-dummy.m"; sourceTree = ""; }; + F3797A8B219A85820FF666FEB5E9B333 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; + F37A62E06A107433CD1790CEC48A931E /* YapDatabaseRTreeIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseRTreeIndex.m; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndex.m; sourceTree = ""; }; + F381FF8833B58762D9CDE21F4C7A3B1A /* OWSRequestBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSRequestBuilder.m; sourceTree = ""; }; + F382DD115A304C1F57995B7A86E1D73B /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; + F3EF496ABADB39CC9024D184D31DDDBF /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; + F42CFA321E1B4FE42A2A52F846D74DF2 /* YapDatabaseRTreeIndexHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRTreeIndexHandler.h; path = YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexHandler.h; sourceTree = ""; }; + F4623D39CFB847781B74062E3AC9780F /* YapDatabaseManualView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseManualView.h; path = YapDatabase/Extensions/ManualView/YapDatabaseManualView.h; sourceTree = ""; }; + F462E6CB34B40AB6AC3EDF3923322E09 /* OWSMath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSMath.h; sourceTree = ""; }; + F49E8B809A703D769676D6DC0733578C /* TSInfoMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSInfoMessage.h; sourceTree = ""; }; + F4DE000F6DD39FCD4447C6D14AF437A0 /* SyndicationUpdatePeriod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SyndicationUpdatePeriod.swift; path = Sources/FeedKit/Models/Namespaces/Syndication/SyndicationUpdatePeriod.swift; sourceTree = ""; }; + F50C0DAACED9FCFBDDC9CA58B167DED1 /* GULAppEnvironmentUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULAppEnvironmentUtil.m; path = GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.m; sourceTree = ""; }; + F51EC573198A59C99ECDE62702FAC818 /* TSPreKeyManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSPreKeyManager.h; sourceTree = ""; }; + F556BF3540AFEF74E83896F56FB572D2 /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; + F59ADB56DD41D95ACE6B4128F9DCE169 /* YapDatabaseFilteredView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFilteredView.h; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredView.h; sourceTree = ""; }; + F5F71894E688975E4833B55FB4F5AB74 /* FIRBundleUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRBundleUtil.h; path = Firebase/Core/Private/FIRBundleUtil.h; sourceTree = ""; }; + F619ADFA2517074EC7057711C610BB04 /* MessageSendJobQueueTest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MessageSendJobQueueTest.swift; sourceTree = ""; }; + F644B32A21F0973F9F2088FD92E8A00C /* TSInfoMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSInfoMessage.m; sourceTree = ""; }; + F646B4B6FCD10071FB07787B643F2D82 /* Reachability-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Reachability-dummy.m"; sourceTree = ""; }; + F6522EDB9FC27E3D9020A71F3F9FA14E /* AxolotlStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AxolotlStore.h; path = AxolotlKit/Classes/State/AxolotlStore.h; sourceTree = ""; }; + F66AEE7021D4FB5D974A19ED579825B4 /* OWSFakeMessageSender.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSFakeMessageSender.m; sourceTree = ""; }; + F66D78A8530914381BAF19A655C9C8B1 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; + F676E37CBD3D739D23C6B5D1EB5A2E2E /* GCDWebServer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GCDWebServer-dummy.m"; sourceTree = ""; }; + F69D6ADAA0B1F93609B01E85AF1A4DB0 /* PureLayout-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-umbrella.h"; sourceTree = ""; }; + F6B3D849E4B55E2B4FF64BEB201E4621 /* YapDatabaseCloudCoreTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreTransaction.h; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreTransaction.h; sourceTree = ""; }; + F742A8528CE3E21283FFA1CB8E076179 /* OWSContactsOutputStream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSContactsOutputStream.h; sourceTree = ""; }; + F74583E9D90FFE261E14CAE00952CC48 /* YapDatabaseManualViewTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseManualViewTransaction.h; path = YapDatabase/Extensions/ManualView/YapDatabaseManualViewTransaction.h; sourceTree = ""; }; + F7A1579BEDBFFB64F60DD16E3FC8AF2E /* LokiSnodeProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiSnodeProxy.swift; sourceTree = ""; }; + F7B3FA92300D00F308E2F1B4662CAF8B /* YapDatabaseCrossProcessNotificationTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseCrossProcessNotificationTransaction.m; path = YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationTransaction.m; sourceTree = ""; }; + F7DB7A62228713AE270257CB2FE27F52 /* FIRLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLogger.h; path = Firebase/Core/Private/FIRLogger.h; sourceTree = ""; }; + F840133138F36FACBAEED4B069BFE704 /* SignalMetadataKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SignalMetadataKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F8AFB9E6F94E639D4E09084556FAFF4A /* SMK-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SMK-Bridging-Header.h"; path = "SignalMetadataKit/src/SMK-Bridging-Header.h"; sourceTree = ""; }; + F8CEA39D4E1B71A29F35CDE08E1A93C8 /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; + F911C4433074EA9F553E20D3C2E8AFC7 /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; + F9474F09709A68B597B9AB2598712152 /* SwiftSingletons.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SwiftSingletons.swift; sourceTree = ""; }; + F95C4F2C65A640D0E04F96DB93228EF2 /* OWSBlockingManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSBlockingManager.h; sourceTree = ""; }; + F9786865261225576C78017325C69C57 /* FeedKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FeedKit-umbrella.h"; sourceTree = ""; }; + F99A10E79516EC8B8DF6A24DE0E28750 /* OWSDisappearingMessagesJob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSDisappearingMessagesJob.h; sourceTree = ""; }; + F99FBA27F50FC3C1AD1AAED4EA3F2715 /* mz_strm.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm.h; path = SSZipArchive/minizip/mz_strm.h; sourceTree = ""; }; + F9C726CCB7FEAA2147D0AF5B4407B531 /* SwiftProtobuf-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftProtobuf-dummy.m"; sourceTree = ""; }; + F9FDAB5D304DAB64232A74CEEBC27CA4 /* JSONDecodingError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONDecodingError.swift; path = Sources/SwiftProtobuf/JSONDecodingError.swift; sourceTree = ""; }; + FA2243153233A6BAAE81B9DEF8B2E68A /* YapDatabaseViewOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseViewOptions.m; path = YapDatabase/Extensions/View/YapDatabaseViewOptions.m; sourceTree = ""; }; + FA35A4D7F0E6F9D112F731070D8C1379 /* HashVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HashVisitor.swift; path = Sources/SwiftProtobuf/HashVisitor.swift; sourceTree = ""; }; + FA411D555C2864ED61BCB938895D3FD1 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FA4F045A1BCACC45DF9AAF7B1CB37CFB /* YapDatabaseFilteredView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseFilteredView.m; path = YapDatabase/Extensions/FilteredView/YapDatabaseFilteredView.m; sourceTree = ""; }; + FA73A7D61688D8DC872B099A485B4CC1 /* MessageKeys.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MessageKeys.h; path = AxolotlKit/Classes/Ratchet/MessageKeys.h; sourceTree = ""; }; + FAE861C7F973A0DF071C7B63E09D85D2 /* TSErrorMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSErrorMessage.h; sourceTree = ""; }; + FAF038E8BBB4239F544C58412F6D1902 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; + FB089DADB68A3A4E7C3262823A798622 /* SwiftProtobuf.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftProtobuf.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FB2C9C7C390ED2B52700047156BEC23B /* ContactsManagerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ContactsManagerProtocol.h; sourceTree = ""; }; + FB36012796B157779B454B1304367D3C /* AppContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = AppContext.h; sourceTree = ""; }; + FB69F6CB5FDE31293BBEA3FAF152655F /* TSInvalidIdentityKeyReceivingErrorMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TSInvalidIdentityKeyReceivingErrorMessage.h; sourceTree = ""; }; + FB6F7470F242D82D9F7F0B96FD745153 /* YapDatabaseCloudCoreOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseCloudCoreOptions.h; path = YapDatabase/Extensions/CloudCore/YapDatabaseCloudCoreOptions.h; sourceTree = ""; }; + FB7A10A44A9A5B7BD043BA91A28D5415 /* OWSPrimaryStorage+SessionStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OWSPrimaryStorage+SessionStore.m"; sourceTree = ""; }; + FB8411E0D6EC5E7C3975E1D696D91350 /* LokiPublicChatInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LokiPublicChatInfo.swift; sourceTree = ""; }; + FB8929BF1500B1289BC2C843A7217E87 /* YYImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImageCoder.m; path = YYImage/YYImageCoder.m; sourceTree = ""; }; + FBA7F772F423C73AF1886EB004F2BC59 /* TSMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSMessage.m; sourceTree = ""; }; + FBBE648FA4BFB87E6268CD5AE1B22711 /* SignedPrekeyRecord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SignedPrekeyRecord.h; path = AxolotlKit/Classes/Prekeys/SignedPrekeyRecord.h; sourceTree = ""; }; + FBEB02245D34AFFC172266F3CFE5F4D7 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Debugging.swift; sourceTree = ""; }; + FC46CABD76299A080A4BA822508761E6 /* SignalCoreKit.unit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SignalCoreKit.unit.xcconfig; sourceTree = ""; }; + FC7161ACF6C5B5F818CFAEE1B8955E45 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; + FC90A91DA025BCFBF6DA321BE4BC093E /* MediaContent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaContent.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaContent.swift; sourceTree = ""; }; + FCAC93848D79BE5BCCA83873C959DD5C /* OWSDisappearingMessagesConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSDisappearingMessagesConfiguration.m; sourceTree = ""; }; + FCB1DB1E4C7D0E27778AB488FD1C8F9D /* OWSAnalytics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSAnalytics.h; sourceTree = ""; }; + FCC541A7D3A1B653FFF8A8FA8E82EC99 /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; + FCF89CA14FBB4F671FCD79C2FD480DC7 /* YapDatabaseRelationshipOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseRelationshipOptions.h; path = YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.h; sourceTree = ""; }; + FD46F9DDA0A0B48E5AD4ED5E15BEF89D /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; + FD563C43386E0D5901D7D22D3CCAF0F4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FD60F15B0E692D73888727489C8D0771 /* OWSSyncGroupsMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSSyncGroupsMessage.h; sourceTree = ""; }; + FD892FC198FC96FA387AEE685E82AD45 /* FIRLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRLogger.m; path = Firebase/Core/FIRLogger.m; sourceTree = ""; }; + FDA4340B40697792BC28EDEC336F4AA1 /* SignalRecipient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SignalRecipient.m; sourceTree = ""; }; + FDACEA7EA3C4DDA359982CBF8FFF09B8 /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; + FDD4037F48D526A8FF019322027A0274 /* TSYapDatabaseObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TSYapDatabaseObject.m; sourceTree = ""; }; + FDD451695A06145271311FB4CF996955 /* GCDWebServerDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataResponse.m; path = GCDWebServer/Responses/GCDWebServerDataResponse.m; sourceTree = ""; }; + FDFD5A7CD55B27B0FA458EC6776755C7 /* Pods-SignalTests.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SignalTests.app store release.xcconfig"; sourceTree = ""; }; + FE16271656FE21753C367580FE6C9235 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; + FE19FBBA8FBE06DC1A340D1C54A31B21 /* MediaPeerLink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaPeerLink.swift; path = Sources/FeedKit/Models/Namespaces/Media/MediaPeerLink.swift; sourceTree = ""; }; + FE20A38DD227795D39D9D3953D16957A /* OWSStorage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = OWSStorage.h; sourceTree = ""; }; + FE58BDEF40CF839A5C7FEBD252FA5440 /* SSZipArchive.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSZipArchive.h; path = SSZipArchive/SSZipArchive.h; sourceTree = ""; }; + FE5EF6DCBC43E51F6A1D3725433893B4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FE77BC82A78E4C219A06A096CFB7D99E /* YapDatabaseFullTextSearchSnippetOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YapDatabaseFullTextSearchSnippetOptions.h; path = YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.h; sourceTree = ""; }; + FE8001C06EC37CBEB1A054D4182473E1 /* Pods-LokiPushNotificationService-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LokiPushNotificationService-umbrella.h"; sourceTree = ""; }; + FE818358B61D0F153782FB81BD204985 /* OWSMessageSenderTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = OWSMessageSenderTest.m; sourceTree = ""; }; + FE8F7D2AA442954F4E0B42C8EE6ECEB8 /* Starscream-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-umbrella.h"; sourceTree = ""; }; + FF058C33BDB4447A779247DA0BEBC2AA /* AxolotlKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AxolotlKit.modulemap; sourceTree = ""; }; + FF63183B095F0EB4B518918D1A1F546F /* XMLFeedParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XMLFeedParser.swift; path = Sources/FeedKit/Parser/XMLFeedParser.swift; sourceTree = ""; }; + FF8900FEA049A8C43E28BB5015B737B5 /* libPhoneNumber-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "libPhoneNumber-iOS-prefix.pch"; sourceTree = ""; }; + FF92B65132B679027788ECC2E04D47CB /* NVActivityIndicatorAnimationBallRotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NVActivityIndicatorAnimationBallRotate.swift; path = Source/NVActivityIndicatorView/Animations/NVActivityIndicatorAnimationBallRotate.swift; sourceTree = ""; }; + FFA273381F1A5A012982A30EA6A93372 /* YapDatabaseSearchResultsViewOptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YapDatabaseSearchResultsViewOptions.m; path = YapDatabase/Extensions/SearchResultsView/YapDatabaseSearchResultsViewOptions.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 03A0B52305EC20C9CFA48B9991680133 /* Frameworks */ = { + 00047786AA3C07E27FE40891BCA11FC5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D1F63AF955CE9E2E1DD4FAF8A10FF4EF /* Foundation.framework in Frameworks */, + 3E255B516567C1C471DB1EE171498183 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 10BB095509441C7BA5B953EEDEF03093 /* Frameworks */ = { + 048703C2577FE4B0E00CCA048D0A5443 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0B94C72941652CB6597334F1CE3240EC /* CocoaLumberjack.framework in Frameworks */, - 7C249A262E7B59862776D6D691D852AE /* Foundation.framework in Frameworks */, - D1F0AC42ED3DBC0AFE4E4EBC3F50720F /* SignalCoreKit.framework in Frameworks */, + 0CC079EEC3318B09E30B1C4EAF122E5B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1212A7DB37E237112BD07170CEA83206 /* Frameworks */ = { + 1165D038D1C6D7CE5E86FCED05278335 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5DFF785437F5272188701842A20C835E /* Foundation.framework in Frameworks */, + E1286AA879B8990D272754BB25850218 /* CocoaLumberjack.framework in Frameworks */, + 4E05A25C7EB71B8A1AFD6421483B8939 /* Foundation.framework in Frameworks */, + 24AE77E7EA8834B87F7188C443251AF2 /* HKDFKit.framework in Frameworks */, + 18028077BB303C918CE2F113E27CA4EC /* SignalCoreKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 129DF61E3E98FC83E38215F02F861576 /* Frameworks */ = { + 22C314BD45798D96D1D21D64DBA86277 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1ABD93B5537B92562B19D45B52927C86 /* Foundation.framework in Frameworks */, - 03603051194D859CE928E54CDACF8709 /* SystemConfiguration.framework in Frameworks */, + 54476460680BA21A3C70929FAD9C3797 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1CB331DD20723D6F138471CFA861CAEE /* Frameworks */ = { + 252B0F4C078E67578A6BE0B47B01460D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 267AF36256688E245DD58585E2F199D5 /* Foundation.framework in Frameworks */, + B8014C7A0E378208CF14DB1F32F409B6 /* CocoaLumberjack.framework in Frameworks */, + C8A35245B66E7AE99E693577E9EE3349 /* Foundation.framework in Frameworks */, + 73779DD79EBDB7CA8D1FE6A6F3C40EF5 /* Security.framework in Frameworks */, + F933E8A801D140AFFB85B75D4582110F /* SignalCoreKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3A5B32CC1D2D51C137A3FDC85D92A75B /* Frameworks */ = { + 26750B28E8C2FE2549A8078F38645BF4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DC97E04B2029939A0520C4F167063F1B /* CocoaLumberjack.framework in Frameworks */, - 64673F7277EE9CC9B0D4A13127013349 /* Curve25519Kit.framework in Frameworks */, - B3752997C1F8031A6A090A0DBA013C9F /* Foundation.framework in Frameworks */, - 204196583E261184703C8DFB2484375F /* HKDFKit.framework in Frameworks */, - 7A5A8C26A590DE08B7CA5DE8C13F8585 /* SignalCoreKit.framework in Frameworks */, - C584201CE577B8538B228F8E03BAE122 /* SwiftProtobuf.framework in Frameworks */, + A2C2BFDA1FAEFC90B4126D95CD1DB601 /* AxolotlKit.framework in Frameworks */, + BE822EAEB585BA9C4A15CD941A388F62 /* CocoaLumberjack.framework in Frameworks */, + 607E8853D7C74D9B7677BFBEC5842596 /* Curve25519Kit.framework in Frameworks */, + 8CCF9AC5205CCCE9B167A18B51C777FC /* Foundation.framework in Frameworks */, + 0DC1223CD2D52007EF19CC78C0176AA9 /* HKDFKit.framework in Frameworks */, + CB5B44E9EC53D070DF50915DDA4A6782 /* SignalCoreKit.framework in Frameworks */, + 0ADFE7501C18C2EAF78DDC9D57D325FB /* SignalMetadataKit.framework in Frameworks */, + DE9AE5327C0C427A643021405496C5D5 /* SwiftProtobuf.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 403151E8B56CE70C220E4172878E313D /* Frameworks */ = { + 2906998C4F096FC8F8035BF4BFB4DAD7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7AEC9E68B67C88EF9AD1057F39405A4B /* AFNetworking.framework in Frameworks */, - 93BF6DA2CB7CF67E455D90A709F86337 /* AxolotlKit.framework in Frameworks */, - 2616C88565E0053A13740A1680BD99BF /* CocoaLumberjack.framework in Frameworks */, - 0A513D1503C3F1320D23753100A4C006 /* CryptoSwift.framework in Frameworks */, - 28CAC30FC7A634040B6CCF91A0AA6579 /* Curve25519Kit.framework in Frameworks */, - D1DAA8738F969A19B4AAC3CBA4382658 /* Foundation.framework in Frameworks */, - 57CFA722841FB540CD61B871FF30DF7D /* HKDFKit.framework in Frameworks */, - 05E34BE4DE67660E5FE7BB39A25BE356 /* libPhoneNumber_iOS.framework in Frameworks */, - 3E62E943EF209B520126482672EAA8C9 /* Mantle.framework in Frameworks */, - 69ECDAC10ED80F99CE6B26A154C5C38D /* PromiseKit.framework in Frameworks */, - D63935A3084315646AC3AB01CFB8264C /* Reachability.framework in Frameworks */, - 6397BD4E607586227D858ACAEC89A93E /* SAMKeychain.framework in Frameworks */, - 900DD78860388169FC3D884706489114 /* SignalCoreKit.framework in Frameworks */, - EAAB4917B0B51F0C2F44C7BF1EA67A89 /* SignalMetadataKit.framework in Frameworks */, - 326E0F04EBF8CA1C9E7051A3E319DBAD /* SignalServiceKit.framework in Frameworks */, - B0A10F6E18E22D756D2A6750744473B5 /* SQLCipher.framework in Frameworks */, - F97473C4754350CC19DD391CA29DDDE5 /* Starscream.framework in Frameworks */, - 49EBB3945333C79DEFA82594E33DE889 /* SwiftProtobuf.framework in Frameworks */, - 9CBFD0C8E959F59318A7DC67DBB18A94 /* YapDatabase.framework in Frameworks */, + F643514C12960F89AE4F2160DBBE8AA8 /* CocoaLumberjack.framework in Frameworks */, + 299B3D6006D0F0821C676B61F41E08F7 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 41BE21E9E14A7F78348D92AFD6A84C9B /* Frameworks */ = { + 379680ABB8300A4D6B87360F686FF979 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FF89164DC0FE0515EE0F2C2C0D4ACE68 /* Foundation.framework in Frameworks */, + 1399A0A642DD7D46CF5DC57A7DD6DE07 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 420AB48CE28F1778D0C2F77BB2F7A662 /* Frameworks */ = { + 3E0D3A08F11C2F0B6B532E76BA7718F3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8F0510FA77F3C2C81EF471B7F75D6E26 /* Foundation.framework in Frameworks */, + F63014C7E78024060577428EA96D4B07 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 420F1D963817587EA101849E4856ACE0 /* Frameworks */ = { + 4479BE53C4DBB5AE6B82D40E2D323692 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5A7AF28012914CBED824737EB7F07901 /* Accelerate.framework in Frameworks */, - 7E695FFFD8E32ACD764E12DC0CDC7BB0 /* CoreGraphics.framework in Frameworks */, - 130813965322A8295675C9FFC2CA8150 /* CoreTelephony.framework in Frameworks */, - 99F18663F943A4E93A014BD11D7B549E /* Foundation.framework in Frameworks */, - 0D7C3AE66B7DD0F6ED501A87A4B4078D /* QuartzCore.framework in Frameworks */, - 8D8B55A1E509687A32FB297A5B310118 /* StoreKit.framework in Frameworks */, - 2F5D5F5672D923333F039D777B247BBB /* SystemConfiguration.framework in Frameworks */, - 5DE62DCAD431070383C32D5E63E6B3D7 /* UIKit.framework in Frameworks */, - 1D74BB5889D6E4ADBDA76D15BBC3C09C /* UserNotifications.framework in Frameworks */, + 9060246A2408C6D73A7941237D3176F1 /* AFNetworking.framework in Frameworks */, + 1355062324232578A0C95623BBFCED38 /* AxolotlKit.framework in Frameworks */, + 3DAB6014E5F28481954E1A1C08875181 /* CocoaLumberjack.framework in Frameworks */, + 5447524F6EEA14135B4DF40E43AED615 /* CryptoSwift.framework in Frameworks */, + 6363687D22FCE451EB580AB70ED2AE1D /* Curve25519Kit.framework in Frameworks */, + 7B572D1CF88FF1240DA96430F93FCF52 /* Foundation.framework in Frameworks */, + 1177058D6615CA293815F339233FF43C /* HKDFKit.framework in Frameworks */, + D5579532CAD44ED90AED7D1382CFCCAF /* libPhoneNumber_iOS.framework in Frameworks */, + B702548742524F54ECE3856185230E26 /* Mantle.framework in Frameworks */, + 70A026CC4134732BB8646D51C60FB762 /* PromiseKit.framework in Frameworks */, + 08ADF7374E7557C9087D7F97D875DE5C /* Reachability.framework in Frameworks */, + 7C84262AE23F37B98BB22449AD2B26C2 /* SAMKeychain.framework in Frameworks */, + C7D3B50152C2F3D7835F7711E45967D5 /* SignalCoreKit.framework in Frameworks */, + 559F4789E75B00DA7E9CC842F336CF76 /* SignalMetadataKit.framework in Frameworks */, + FCF308B86160B5B790D86B002E87DF6E /* SignalServiceKit.framework in Frameworks */, + F879E5AD3783A1B266998182682C89BC /* SQLCipher.framework in Frameworks */, + 47315659AFF5BA360569685485AC8194 /* Starscream.framework in Frameworks */, + C7B798D2E5DFC9F5ADB317DEBD35E691 /* SwiftProtobuf.framework in Frameworks */, + 6B99B62226F544944817F1C4A11D740F /* YapDatabase.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 45DCF49B8F09812073E706E37EC4163E /* Frameworks */ = { + 44FD3C0C4085A3862E7D7E0125E9F7D0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5CFC34E010CD2895E9D6B79DD9E6649F /* Foundation.framework in Frameworks */, - 24348C6D1A77BCC1D0D755C9776E0148 /* Security.framework in Frameworks */, + 54459023F1F50E721CB38D73B8345AD2 /* AFNetworking.framework in Frameworks */, + 5321640D5A0008F1E9308C46404A4535 /* AxolotlKit.framework in Frameworks */, + 97588B13B780CD919B54BC975822D2E9 /* CocoaLumberjack.framework in Frameworks */, + ED27C27D10FA7C3BFD233DF3EFF92F7A /* CryptoSwift.framework in Frameworks */, + 9495EB6C2FD8A0DFAC672AA6DE9A9658 /* Curve25519Kit.framework in Frameworks */, + C9BD9C8E29BC50D0E84CD3B506F3CB2B /* Foundation.framework in Frameworks */, + 9F3C246C8C2E3DB581569596FDB6B216 /* HKDFKit.framework in Frameworks */, + 421DF0262848B7FB232104E56AA49936 /* libPhoneNumber_iOS.framework in Frameworks */, + C580E7FE24B820C06926F168586AC0B8 /* Mantle.framework in Frameworks */, + 321E9123033AEA1B6877B52A0C580264 /* PromiseKit.framework in Frameworks */, + B13F246895AC42CCE555FEEC9157F517 /* Reachability.framework in Frameworks */, + 9B898540A1F326E3DDD16D51B88BD98A /* SAMKeychain.framework in Frameworks */, + CF24BFD76F4DB2461BAEA71F0B8F9DF3 /* SignalCoreKit.framework in Frameworks */, + 0E236E8AC47A0C6F521084E8845073FF /* SignalMetadataKit.framework in Frameworks */, + 6C201016CC61555F12C59B3B9962F0D1 /* Starscream.framework in Frameworks */, + 6EC15F982FF1B4F48294A2876A611F5D /* SwiftProtobuf.framework in Frameworks */, + E273834796456B47101A8FD9C97E2705 /* YapDatabase.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 46240D732C224D5A5FC8577F5EFAC24D /* Frameworks */ = { + 47EB504BA1BDC8A6B4E4B24D4ED6853F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 13198C65FA08F6346C7E97F2EBE3349B /* Foundation.framework in Frameworks */, + 0C8730DE0EC67F6BC01412E2BC50C720 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5133E57156A9E3DBC5999A0269263CFC /* Frameworks */ = { + 51E942A8A499173D61DC415C97D90FE1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B21E85D459EE78BF1F1A1EB939F2B112 /* Foundation.framework in Frameworks */, + 33AB990FD7C7139F3818B2594F0076A4 /* CocoaLumberjack.framework in Frameworks */, + 26B71F5BCB95BEE13528C18224FEF9B6 /* Foundation.framework in Frameworks */, + 1A60820FF5C52E46F4F406B7C9892795 /* SignalCoreKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 52F81BB47A2ACE5BD3FA1A6BA4055EF4 /* Frameworks */ = { + 606CC843FE434E96B9F5C6295A17CD41 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 266326A8965FFA35F5F13D5586296D00 /* Foundation.framework in Frameworks */, + 321BC23CF9EF6AE6EA19A82CE6145DAE /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5C58B4EEFB2038A19115356A50638E59 /* Frameworks */ = { + 6E34A9B3BA78D84835376BFBD6CA17DB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F79A70D331AFC5AF1BB8EAC0ADC300F8 /* CocoaLumberjack.framework in Frameworks */, - F539A14C18FF19A1CFF5117E0D190C02 /* Curve25519Kit.framework in Frameworks */, - FAC5E1B1A6683709B1B8004911CB0983 /* Foundation.framework in Frameworks */, - 702B6AC7117A76EB7E942065E1021A9D /* Security.framework in Frameworks */, - 752E898CD280FB7BEE9225332068F7C3 /* SignalCoreKit.framework in Frameworks */, + 1FD2D2A80F11AD8BC207C53C56DF4481 /* CocoaLumberjack.framework in Frameworks */, + 0A0D600F3FB4A03C2471C9E19DB6F0C6 /* Curve25519Kit.framework in Frameworks */, + 79AA398D6DA6C68C3DF33416CDD19AF3 /* Foundation.framework in Frameworks */, + 520B6D975F2278C8ED45C22084E2F1E4 /* Security.framework in Frameworks */, + 89A6517AAED94EE6E08E489BB78047ED /* SignalCoreKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 62FA98121BCA39FD226CCC7F09B780D7 /* Frameworks */ = { + 6E83B6D13897241D3EB97CAF8863A8E4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E206A663FFC5166854D136F8DFB544CA /* AxolotlKit.framework in Frameworks */, - 1D43DE78C5AE85F5BB42C0EC33146DA7 /* CocoaLumberjack.framework in Frameworks */, - 5C803DA984B2CDCD87E86E9BBD2CBA41 /* Curve25519Kit.framework in Frameworks */, - 0DA360F10BB2ADD91D4514FDD46D7F7D /* Foundation.framework in Frameworks */, - 0233379BF1797B5080D3D6CC94F2DFBC /* HKDFKit.framework in Frameworks */, - 72F8E61F48A3BFFE9964D79117CBB2DB /* SignalCoreKit.framework in Frameworks */, - 4F2D21BCAA9CBAB12C8728D92B24B046 /* SignalMetadataKit.framework in Frameworks */, - 32DC69F909CF455A9871D46960EE9DED /* SwiftProtobuf.framework in Frameworks */, + BCBFFE9B671FD664D40444C571313F46 /* AxolotlKit.framework in Frameworks */, + F3E1B4B278CC78B96115ECA0FAD500B7 /* CocoaLumberjack.framework in Frameworks */, + E791E9D0E743B59C74872B5B22AA1A78 /* Curve25519Kit.framework in Frameworks */, + A487904717B9C500FC0EB1C51C385653 /* Foundation.framework in Frameworks */, + F13281B5CE1AC52870673742639FD969 /* HKDFKit.framework in Frameworks */, + 30C7C7ADE0A057460A80393C5EC99030 /* SignalCoreKit.framework in Frameworks */, + 15808484B9B1220810673DE701C34134 /* SwiftProtobuf.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 661124BCCD5D362BB863E0AAF6C433F7 /* Frameworks */ = { + 709C5DE09F0E32B872BBA490080932A3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F2EAC96879F373041BC406681E82D243 /* Foundation.framework in Frameworks */, + 64A90662929B308CD723E997894018A8 /* CocoaLumberjack.framework in Frameworks */, + E57DA3915CE54F125392B28283C70C89 /* Curve25519Kit.framework in Frameworks */, + 4FE1C5DE41A056474BE2019063D91C4C /* Foundation.framework in Frameworks */, + 75947753ED78AC903A928261290E3D1D /* HKDFKit.framework in Frameworks */, + D39A9C3A6C9C8D04ECFE4F9D5364DB2D /* SignalCoreKit.framework in Frameworks */, + 8126CB9C3FF17FE6EBF8A288B1D45C06 /* SwiftProtobuf.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6864C91BFA0BD27C4699977FE8F11767 /* Frameworks */ = { + 76B3810EAAA5480E566E245D9FE7D8E7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 737038BCBF35D0C80287BEF8F3C90139 /* Foundation.framework in Frameworks */, + 0CC6F60E9CB80E2B105F7F48FE7DC510 /* Foundation.framework in Frameworks */, + 4B126EBB375742E3D1E2B7F73E7258B3 /* SystemConfiguration.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6D9B2E1894813460C07D69D8FAC51087 /* Frameworks */ = { + 7E8597FF818198DB3CE3BF12DDE86C16 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 940D76BD4680237F8C3373AC19B4C1DE /* AxolotlKit.framework in Frameworks */, - 22F570C3CCD222A4A43CB8977FA267AE /* CocoaLumberjack.framework in Frameworks */, - C7D689F0C704FFBFF04643EC7CB3A970 /* Curve25519Kit.framework in Frameworks */, - 618CAE4E65934E3F4107A9D420D2D41F /* Foundation.framework in Frameworks */, - 37FC4B5EC10C163069498827E0DFCEC5 /* HKDFKit.framework in Frameworks */, - 4EDDE5542084BA83A092A6946855C767 /* SignalCoreKit.framework in Frameworks */, - E34AFCD9D1463AC71690BF88EF6BDDCD /* SwiftProtobuf.framework in Frameworks */, + 8F5C06A71428852B1A578872A6446EC5 /* CFNetwork.framework in Frameworks */, + E64A57BFAEB2D6279F9AB9D69C0FE031 /* Foundation.framework in Frameworks */, + 4AE2A1F59BD582EB750D73FCA907D74D /* MobileCoreServices.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6F7A42DB75902F823614C3F34CB51021 /* Frameworks */ = { + 85CD002C37E7F3212EB0035A8EDF1177 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 299CCAE509B57A2180636FAA5FA66A93 /* CocoaLumberjack.framework in Frameworks */, - D2B90A3DB063E0EF0932E4452A458A71 /* Foundation.framework in Frameworks */, - 0CB7ABC872E57449ED67B2E783AADA1E /* HKDFKit.framework in Frameworks */, - E49FC3FE8A9E800AB46A0F4F8D8719C1 /* SignalCoreKit.framework in Frameworks */, + 0CA04194BB8AC489E2AA6E4C32832489 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 70BC52AC1F89CE7589FFF658DB4F1A3C /* Frameworks */ = { + 8A5153BE6CD45D36C81A53802A5AA5BB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F2C05817CDA8D445DF8C142B793C6096 /* CocoaLumberjack.framework in Frameworks */, - B0CB8FC655283C23F61D70280A4E0C3C /* Foundation.framework in Frameworks */, - 56286FFAE158CE1F56D9976030EEF4B2 /* SQLCipher.framework in Frameworks */, - 0BA2117830BD69AF1236E7A132A476F4 /* SystemConfiguration.framework in Frameworks */, + 016EE5EA41BDBDD2807F07DD3CA2B2B4 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 761B067EB6A419C3013198A4D6B4FEC4 /* Frameworks */ = { + 9E5DED77FB6E3C44A5C5AF562221EF02 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2DED4B28648CAEE3579A5B1311F865B3 /* Foundation.framework in Frameworks */, - 9A1FA30D5A127B8099DCEDAF996564F7 /* Security.framework in Frameworks */, + CF3262BE45C6BB7CC7524E747861D014 /* AxolotlKit.framework in Frameworks */, + CC50F4EF9060981F83E5A6774DD0CEE4 /* CocoaLumberjack.framework in Frameworks */, + DCA31620E0D075413EDF596993D240A0 /* Curve25519Kit.framework in Frameworks */, + 3D34E30B5D2B7C0C485A7DD6CFE45305 /* Foundation.framework in Frameworks */, + 9E9CC372D7BC805F2DF9862D978E2B85 /* HKDFKit.framework in Frameworks */, + 0D1B1F0D84279D4D41D693973DACFC83 /* SignalCoreKit.framework in Frameworks */, + A75E831471560EA35CB01F11C93BD879 /* SwiftProtobuf.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 763C4D9FC9727D31793D3CB52BCDF90A /* Frameworks */ = { + A06622BE8BDC36586646BE42D7B31BE4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 28A9FFA1A927C740FA09EA90A47A14D2 /* CFNetwork.framework in Frameworks */, - A1C2D7CB9ADCDD0678189739C8F9B053 /* Foundation.framework in Frameworks */, - B1BB18456F823EE9475D26D204D95964 /* MobileCoreServices.framework in Frameworks */, + 4DCA8CE5C4B89302EC92B34F7C69AC74 /* Foundation.framework in Frameworks */, + 23B0D8C2376F9B137D51109517D962D6 /* Security.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 79BBBAB95C72A17244DF491320816B46 /* Frameworks */ = { + AFAA70A5FDB357A75554BEC8CC82EF41 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C8EA29080B41F162B4F583190F61932A /* Foundation.framework in Frameworks */, - 3BEC0138A5B759E775FC7B8E97BEF8EA /* QuartzCore.framework in Frameworks */, - D2CB0673166FCDC83E0C8367B418ECFE /* UIKit.framework in Frameworks */, + 66AD26CEC52CAC41BD36EBD1872A0F17 /* Accelerate.framework in Frameworks */, + AAF0BD536F765FCE5DE3085F62B673E0 /* AssetsLibrary.framework in Frameworks */, + 8AFC2F62E3BE7A1E1B87CBEA23BDC2E7 /* CoreFoundation.framework in Frameworks */, + AC6CA046C35DF09C2C94C9ABBF9340A7 /* Foundation.framework in Frameworks */, + B63313175F3C4C24410FE1CAD410EB87 /* ImageIO.framework in Frameworks */, + 71B9AA1017EC509A757CD10EE48CB146 /* MobileCoreServices.framework in Frameworks */, + F7EF24780C12DED70A4E1F306CA0DC63 /* QuartzCore.framework in Frameworks */, + 480634C35A89F0D6E8904C780B4AE486 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7B8E0CC223FD5EC9D41F48E4F31488EB /* Frameworks */ = { + B0D7B9AB8AE6EABDC71D038D1FAF3121 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5CBC56409F4C6BB854213E0F60B4FFBA /* Foundation.framework in Frameworks */, + 6A3E2F43A7768124AE48CA3C51A22FFF /* Foundation.framework in Frameworks */, + CDCD62009BFDC2F1DD220FA128D3B300 /* QuartzCore.framework in Frameworks */, + C3E3B045BB1633A557473CFD373491FC /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7D639633FC24919E5EC6254EF4BAD396 /* Frameworks */ = { + C2D51708AA1DA53F598627D25248A23F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3D301898C361849FCB94E6DBE1016AB1 /* CocoaLumberjack.framework in Frameworks */, - 656C512C5FFFCCB3C635B6A042BA667D /* Foundation.framework in Frameworks */, + 742BE319049D2F77344E7DCBF8B6F535 /* CocoaLumberjack.framework in Frameworks */, + 00CE8A6A7A9851E2D1CBBEF89DB941B6 /* Foundation.framework in Frameworks */, + 20026A6E12326DEE7471ADCB8D3661D9 /* SQLCipher.framework in Frameworks */, + FC7CB7831949D28CCB75358EBCB59592 /* SystemConfiguration.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8B29F904F11B16A4BB6F54F954270435 /* Frameworks */ = { + C2F49112D64CF7681279B158DBC10B6C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 544E8D271F11FD0A267A217FDF361E43 /* CocoaLumberjack.framework in Frameworks */, - F87E078AF0AFC6AA31FB3A40C4D98D7C /* Foundation.framework in Frameworks */, - 3FC91E23B9A7ABF362E3D3EA2CA54C4E /* Security.framework in Frameworks */, - 3F487EFC0C1F3EB72C702E302AD85527 /* SignalCoreKit.framework in Frameworks */, + BA6FAD7FE716CE49C8F8E07AC85DB172 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8BCF0DA9480903A52DF4FEBDE0AE4D63 /* Frameworks */ = { + C3402798BED5D69AB55835423E8BFFCC /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C13F1C2F7720291478576082296546B5 /* Foundation.framework in Frameworks */, + ABDBDA7BCF403B356B42550D8ACBD2AA /* CoreTelephony.framework in Frameworks */, + 44771AF1259B846E586C6A1F1B227B02 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8DCE37DD7CCF3807155B0C9E16ED18FF /* Frameworks */ = { + C6E7C1A6ED92C8513DB16CE827274231 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5E08A977C58517F54B23868BA028C727 /* CocoaLumberjack.framework in Frameworks */, - 9E0B0D513857A7FD120E0027EC97AF8B /* Foundation.framework in Frameworks */, - EA2D24D1E971478BFF251920D3C476B2 /* SignalCoreKit.framework in Frameworks */, + 9DE083DE828EA8B62B4B17CA333EEDD3 /* CocoaLumberjack.framework in Frameworks */, + C6D49AE29E4995AAA2FE0139A8E5924D /* Foundation.framework in Frameworks */, + D392185CFE0E73B0BB8DA084BE1C30FD /* SignalCoreKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 942DE3A105085202237779C0301BD498 /* Frameworks */ = { + DB61192D5426C83B3FB52AA29481D463 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8D3CA59679BEFF67CAF48D7E0545B3C5 /* AxolotlKit.framework in Frameworks */, - 0B3ABECD4B85BFC83A407569146F5D28 /* CocoaLumberjack.framework in Frameworks */, - E559ECBCA508A60858F19B9B06A5B412 /* Curve25519Kit.framework in Frameworks */, - D11907E700723718060D98B65FD34ACE /* Foundation.framework in Frameworks */, - B7572CBD8DB264F55739907F49FE9615 /* HKDFKit.framework in Frameworks */, - 656322C64A1AACC2E8CD7D5E70D90E69 /* SignalCoreKit.framework in Frameworks */, - 460326DCF7AB327C4917C3E51C65ACC2 /* SwiftProtobuf.framework in Frameworks */, + D41F96D1EA2E21AFAD17040AFB7FEEAC /* Foundation.framework in Frameworks */, + 76B821A87849980AB87435CF80A83995 /* Security.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9C55C5B3D2C56ED274CCD30F676F4458 /* Frameworks */ = { + DDC82E94AAA15F3CA34AAF89EC0060F1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F1EDFABAF111674C4DBE3F2221C1B5BC /* CoreTelephony.framework in Frameworks */, - 08BCE600E053DDDBDCCBD56D5CC491A8 /* Foundation.framework in Frameworks */, + 0417D7E5FAF221081B935C0C481123A0 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - A3F65D35EEA2D175AB5C1F0CD08BC414 /* Frameworks */ = { + E6A45B69EA0C89461B46231278D1D1B1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 17DD6002EAF1B5DDEDEA3430DC3E22ED /* CoreGraphics.framework in Frameworks */, - E92C9044EBF89F78164CCF574241A0C7 /* Foundation.framework in Frameworks */, - 555BB7B0A7CE7C7B699384E915812523 /* MobileCoreServices.framework in Frameworks */, - 6AB2D604018721E470F084967F3B87EC /* Security.framework in Frameworks */, - D0A6D24CE1327C8E400547074AF637C7 /* SystemConfiguration.framework in Frameworks */, + 98C0AB0839F61A2369F30609104C4B44 /* Foundation.framework in Frameworks */, + 49AD74DF6DA83870984D269CEF68B168 /* Security.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BB5A81E22F9D3AE9C75D1AC95B81E517 /* Frameworks */ = { + EA388188061844673F0EB90F77BFDA2E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F7DAA36C441569CA3ADCBDEBF1946653 /* Foundation.framework in Frameworks */, - 473EC500B42F5BF3683C9938DF7C9916 /* UIKit.framework in Frameworks */, + 1854FD6B699999FC0D6A35E7B79CB150 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BBF035AFBA5A380F9772600D300ECCCD /* Frameworks */ = { + F34612A411F2DB99A83EB38C6B12A297 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9EC75457846C593BC0FB3345CC9A1316 /* Foundation.framework in Frameworks */, + E6A635AA2D74491B33DABC18B8994EE4 /* CoreGraphics.framework in Frameworks */, + 52EF488D441622CBB03E8A4B925C9968 /* Foundation.framework in Frameworks */, + B662F1DE75F0E717E88134C67AA45C9F /* MobileCoreServices.framework in Frameworks */, + 11A8CF295488031667A302CCE947384C /* Security.framework in Frameworks */, + CCB300080851CA94CACA8C0D7188043B /* SystemConfiguration.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - CF36527B8CB53C33DDBB9E5529330256 /* Frameworks */ = { + F6B77A3FB8FD9018336A8C117630F978 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1EA6CC53DCE2C022289AF4A9E6B774A3 /* AFNetworking.framework in Frameworks */, - 34ADD1AC3654FA7E32E5D0BB97D01507 /* AxolotlKit.framework in Frameworks */, - 65ED51C426BA9564CBE3D89AE0B4664E /* CocoaLumberjack.framework in Frameworks */, - 5C7D7EB68283421D53F6235A3FCAE510 /* CryptoSwift.framework in Frameworks */, - E8A25865E58DD98403E1787EF1032175 /* Curve25519Kit.framework in Frameworks */, - 24AD8E31FDFD451A14E10052DC06EBC8 /* Foundation.framework in Frameworks */, - F32C1A4B7EAC939FEB3B2E3E198B7DF0 /* HKDFKit.framework in Frameworks */, - 926C7C17EA571E57D8AF3F7CE4ECFBC0 /* libPhoneNumber_iOS.framework in Frameworks */, - 6F4370EFC44F23769BB3853F8BAA5F24 /* Mantle.framework in Frameworks */, - 4BCB8F6B876F2E7C555C07FCFF3D3F46 /* PromiseKit.framework in Frameworks */, - AE0C30C5A9A365C8B5239C0E642C371B /* Reachability.framework in Frameworks */, - BDDDC830DE847E5EFC049A46E5464BA3 /* SAMKeychain.framework in Frameworks */, - 85405E8D9323E3EC8F833657F59D0C3D /* SignalCoreKit.framework in Frameworks */, - F7892227D23B1241A61A8613B7A6BE3E /* SignalMetadataKit.framework in Frameworks */, - 6B74B43463E86A42356A50CCDE218A63 /* Starscream.framework in Frameworks */, - 30D80029A68AD4B241921ECD9A13D8E2 /* SwiftProtobuf.framework in Frameworks */, - 6DDB123FAE92445641CCD0312EE248FE /* YapDatabase.framework in Frameworks */, + A3221AF87BF3AE433D83EFC3B2A0078A /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D0A3CD299C7729FF2ED5C5D9A1556E26 /* Frameworks */ = { + FCA02ACA29A36250461939A344691B79 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8C2418524EBC663183DD99EA5DA531DB /* Accelerate.framework in Frameworks */, - 15276A1B6C5626D7F981B9B491DFE108 /* AssetsLibrary.framework in Frameworks */, - 7EDB9971280EFA46668402F91C53CDD3 /* CoreFoundation.framework in Frameworks */, - 7CB250A0264ED203103214200BD22957 /* Foundation.framework in Frameworks */, - 13A073970DBC371C2E4D075612F43B8F /* ImageIO.framework in Frameworks */, - B57C99A6E7E504407DBE0A0F9A1E2584 /* MobileCoreServices.framework in Frameworks */, - D1782530296163B76EBB67B9703BD2E1 /* QuartzCore.framework in Frameworks */, - 0114E6AEF684EAFE80EE9F5C0928B9E6 /* UIKit.framework in Frameworks */, + ED2602B38033762B9C132C84135BF19D /* Foundation.framework in Frameworks */, + 4B7B28824C268E90D931B2E57109705F /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - DE69DE6EE3167015C49F19EE083F2DD4 /* Frameworks */ = { + FD344C5B3A0DFA3E5AEC1C323BAE8132 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 851B51574825726DD17281F7B8AF4FA8 /* Foundation.framework in Frameworks */, - D5AF7C0B3D8C29081ACEA73396C95B8E /* Security.framework in Frameworks */, + E73550B6FBDC79BC654F3C35FBC98D97 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 01C5F12332FDBE226FDB84B6451447C3 /* Support Files */ = { - isa = PBXGroup; - children = ( - 8FBA10AF2B6E0098ED55D1138DF94AC6 /* Info.plist */, - 13AAB127D1DD98D9EF4A6A3F409DF91A /* YYImage.modulemap */, - 7A49B2C6D1554C1A58CEFEBB7841A6F8 /* YYImage.xcconfig */, - 53F14EFB1A105436762CAFBB43532367 /* YYImage-dummy.m */, - E586847A87DE314DFFCF42B5453FF766 /* YYImage-prefix.pch */, - AFCAEB8BC9F1B10BCE9F12B41E1CF2F4 /* YYImage-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/YYImage"; - sourceTree = ""; - }; - 07BB0418EE63654C87BF96E8BC036684 /* Support Files */ = { + 01AE3A110D684356A843DE301D019772 /* Support Files */ = { isa = PBXGroup; children = ( - 4CC3F7A8C50C78123EA5AEF31D63AEE3 /* Info.plist */, - 7E562697986C446613F29A258571ABBD /* SignalMetadataKit.modulemap */, - D1C88AB36E6C03EDAE79BF984F57ED9F /* SignalMetadataKit.xcconfig */, - 438B094A2687F028B3147C56E095EB39 /* SignalMetadataKit-dummy.m */, - D4D294048D1A65B3BECBFD7B4B2F089A /* SignalMetadataKit-prefix.pch */, - 007D9A80A2873E78CFDCD1AC9B037EDD /* SignalMetadataKit-umbrella.h */, - B3B7C9EB2F1578E1487401A528E63150 /* SignalMetadataKit-Unit-Tests-frameworks.sh */, - 30685EE39DA8C993AC2D573914109B2B /* SignalMetadataKit-Unit-Tests-Info.plist */, - BCA7045DEA2EC642674191F098EFBB47 /* SignalMetadataKit-Unit-Tests-prefix.pch */, - D928B4302ABB5DACE2A2ACD95FC10FD1 /* SignalMetadataKit-Unit-Tests-resources.sh */, - 9EF4C73A7A34D890C24283FB2FAC483E /* SignalMetadataKit.unit.xcconfig */, + 4D23DC3F9837E12C86822EEBDD29744B /* CryptoSwift.modulemap */, + 821E91DAE5C425140C8AB1EE16572C82 /* CryptoSwift.xcconfig */, + 2CF76CAC0AAA2ADDBE6FBAF73A4B2C03 /* CryptoSwift-dummy.m */, + 9F1B97F6D181F1792D2E4941D96B11F4 /* CryptoSwift-prefix.pch */, + 8479AA71B4F0990E2218270FD45E0096 /* CryptoSwift-umbrella.h */, + E120687137D0DA9D4E1A37F4CE40A765 /* Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/SignalMetadataKit"; + path = "../Target Support Files/CryptoSwift"; sourceTree = ""; }; - 087ECDEC7DAF0A7C2E64117DE8C53883 /* ActionManager */ = { + 03C60ABB412FCE643EC04CA5C7983CBE /* Loki */ = { isa = PBXGroup; children = ( - EE83F722232647037672AD17831CC49D /* YapActionable.h */, - 2EDBB277E96112EAA743405CB6931B68 /* YapActionItem.h */, - 87EDBD01858DECB144599EA60BA19642 /* YapActionItem.m */, - 8D0386A437339352391897DCF1966D18 /* YapActionItemPrivate.h */, - 8AFFF1C991DFBAB9B3A9DBDB9C05FB2A /* YapDatabaseActionManager.h */, - 698C8D781B29922D2E7935D527CB3EA9 /* YapDatabaseActionManager.m */, - 42B5403742673EA09E9B8897FD5B81FC /* YapDatabaseActionManagerConnection.h */, - 35910147F63B8583A48613E0F7300839 /* YapDatabaseActionManagerConnection.m */, - A3A2F8385D423448B94A04F54CDFF6C7 /* YapDatabaseActionManagerPrivate.h */, - B91E65B2CE172BD7279A233FD5F5090B /* YapDatabaseActionManagerTransaction.h */, - D5DCF6C1030AF788AA1DC245AD7BA793 /* YapDatabaseActionManagerTransaction.m */, - AA3B69181FADA38972E5464FD67308A9 /* YapReachability.h */, - BD2C0BAB9722F2B8FD74C997E180FD78 /* YapReachability.m */, + 748EBF49AF1DA51858FFB08A9A3746B7 /* Mnemonic */, ); - name = ActionManager; + path = Loki; sourceTree = ""; }; - 0AE59EAD4824E875E2B3722E9805DA86 /* ConnectionProxy */ = { + 0504592C791A0A23D2ECA284A95FD14D /* Pods-SignalMessaging */ = { isa = PBXGroup; children = ( - BCBAF0C6A1EECFAACC6345B7060332AE /* YapDatabaseConnectionProxy.h */, - 9F5D913AC04A1F666FB8592E766149E7 /* YapDatabaseConnectionProxy.m */, + 5BF50B6279AA4D986739BBECB0BB6E22 /* Info.plist */, + 26CFE6B2F67A36A13F020B5DC1A69CF2 /* Pods-SignalMessaging.modulemap */, + 09EA88C19286F3ED0B9F3DC748CD6676 /* Pods-SignalMessaging-acknowledgements.markdown */, + 4CBC6E2C97EFA30D387E2B8759C78D58 /* Pods-SignalMessaging-acknowledgements.plist */, + E3A56D8E6D13D86447FBC2AF5919CFCE /* Pods-SignalMessaging-dummy.m */, + 433622B193183A2BA5086EBE8987363E /* Pods-SignalMessaging-resources.sh */, + 66068E384B534B7C92B1138A2BF4F9D7 /* Pods-SignalMessaging-umbrella.h */, + A00C77991649618DD44104F4020BF649 /* Pods-SignalMessaging.app store release.xcconfig */, + F30C9BCE07D75A23D509CA65FA7CB9D5 /* Pods-SignalMessaging.debug.xcconfig */, + 41FE8B890FFF6BECFE26C28E2CA28B4A /* Pods-SignalMessaging.release.xcconfig */, ); - name = ConnectionProxy; + name = "Pods-SignalMessaging"; + path = "Target Support Files/Pods-SignalMessaging"; sourceTree = ""; }; - 0E1E971D9B8DDE298484D4D2C8FFB257 /* Resources */ = { + 0757F2066A22CA5EA667903BA10C9DFE /* Security */ = { isa = PBXGroup; children = ( - A9710C3B119EA8852448C8CBE6C3B33E /* MPArrowLeft.png */, - 6F47D26ACF68517B622CD007F2C2CCF3 /* MPArrowLeft@2x.png */, - 815423BA41C765ADC77D4F2CAFF95D6B /* MPArrowRight.png */, - 56FE1A27FCEC2ED793901240E1378288 /* MPArrowRight@2x.png */, - 27385AEBCA36967929610622FA424CFB /* MPCheckmark.png */, - B687746DD850D53663846FDFF0737B06 /* MPCheckmark@2x.png */, - 334CDC23CF6221375A2436F5C952D28E /* MPCloseButton.png */, - E67E200D0F75DFF621E0FA776CC8FD3E /* MPCloseButton@2x.png */, - D50E85DF7F351B42812C4C8AE52A635B /* MPCloseButton@3x.png */, - ED42058E5D33A27E9B16E968AA519CBA /* MPDismissKeyboard.png */, - AB1F7A92067DB667EF588846AAD61703 /* MPDismissKeyboard@2x.png */, - 2AFD3D47C1786FDF80982E3013F7512C /* MPLogo.png */, - B9041D76E011988971FB9F3972340130 /* MPLogo@2x.png */, - A70A4A84220B0C33D24B5E9820475DFB /* MPTakeoverNotificationViewController~ipad.xib */, - 0A86879A143B951C46F6E0D224404A98 /* MPTakeoverNotificationViewController~iphonelandscape.xib */, - 153CD8CCCC36B4A2E35E2C041A3985CD /* MPTakeoverNotificationViewController~iphoneportrait.xib */, - 46FE43816B1002F4227A73940FC43B9D /* placeholder-image.png */, + 2DA968F029BB54FFAE8D3BF08CACB774 /* OWSFingerprint.h */, + 1B7E34B3736162AC9F0536E03757BBA9 /* OWSFingerprint.m */, + 296FBEF90F7CBE2281B8919C8E534448 /* OWSFingerprintBuilder.h */, + 520CF2C720AEF29F262FFD565EEF2D60 /* OWSFingerprintBuilder.m */, + 9BB1818B110A33C4394DD07396FFF9DC /* OWSHTTPSecurityPolicy.h */, + 82CF7D5133AD14027C5049DC2AD6CEC4 /* OWSHTTPSecurityPolicy.m */, + 5ADE9303C0FA1956F3552F8B844E8DC1 /* OWSRecipientIdentity.h */, + 80700E2BFC702D4F029A185379287EB3 /* OWSRecipientIdentity.m */, ); - name = Resources; + name = Security; + path = SignalServiceKit/src/Security; sourceTree = ""; }; - 0F4E36B6EA682B04653F67DB66F24306 /* Pods */ = { + 087B835F8B5199B9F6121F6CBA5664B6 /* extobjc */ = { isa = PBXGroup; children = ( - CFD60FC8403EEF595BB40354390402A7 /* AFNetworking */, - 97F3F8272FDEF2A449F029240B53444C /* AxolotlKit */, - 240FD566A5794E8347A6A4B935CEFF36 /* CocoaLumberjack */, - DBD9FCCC21B2B56B795FC2DDB4D77500 /* Crashlytics */, - 7071A9D592A56702F7F1192917B90B32 /* CryptoSwift */, - ABA8C59527C76FC00E6623130A16FA47 /* Curve25519Kit */, - B946192C791BF5495056C777BA98818B /* Fabric */, - AA74FD66E654CF07F247122DCCB7F9BD /* FeedKit */, - C7CBEDD2A517CF95CF083C45FDDFF995 /* FirebaseCore */, - 5A5B360B4E8D4BEC9951C049CA6384E4 /* GCDWebServer */, - CC8B53C899B8DF3B9A53BB3276B4E7FB /* GoogleUtilities */, - 602A74A3CAB16B42A383165DDF5A5004 /* GRKOpenSSLFramework */, - C0B522C33FB3CE8A54AE037E203FE8DB /* HKDFKit */, - B2DD2A96BAD99FDC701EF49F88FE39BD /* libPhoneNumber-iOS */, - 3B0A831ACC87A0741B639787BFAEDE37 /* Mantle */, - BDAF7A9F2CCF001ACDD8D38BDA55D66B /* Mixpanel */, - 4FC13A444D2B7596D48AA1CB6C592399 /* NVActivityIndicatorView */, - DAAF355BA6A3D9C6999840882B7DAEB2 /* PromiseKit */, - B55F7F6F54AEEBEF2BFEAB436CF9ACB4 /* PureLayout */, - 3F5BC96F18034211E4631813C3B339DE /* Reachability */, - 1CBFCA9D38C0C3FA5F8CFBEE044ADA07 /* SAMKeychain */, - 91C20690F39366A7E37810C6D04B6074 /* SignalCoreKit */, - 13036EACEC510F0170A65B495596FEF8 /* SignalMetadataKit */, - 8BBCF11280C288FB415566FD840C2AC5 /* SQLCipher */, - 863D06FBEF84BFFE985EADC8CFC7EF77 /* SSZipArchive */, - CCD5DE7F501E93402922A02AD57A88F9 /* Starscream */, - E00844073EE84A5F402EE7A1E85D6497 /* SwiftProtobuf */, - FAAA01735AE8DEE516EE77135BD2D6FF /* YapDatabase */, - DCDB562B6C885A99DADBAAC37D448DF6 /* YYImage */, + 6EDEE6E4F0A11CB59646B8EAF2A7EA32 /* EXTKeyPathCoding.h */, + CC863A8CC6D4BE6101A90DE1D25C8498 /* EXTRuntimeExtensions.h */, + B8EB9788516BAAFC8621B9C02B52D493 /* EXTRuntimeExtensions.m */, + 7ED068C5B8A22CB68AC0CABDF886E903 /* EXTScope.h */, + 45EF441FFA8FC603519E46131DAB40E6 /* EXTScope.m */, + 627857228B1511A17E7AF0E2505E7C6C /* metamacros.h */, ); - name = Pods; + name = extobjc; sourceTree = ""; }; - 0FDA19979358B426CC3FA17B196A5857 /* Frameworks */ = { + 09A9EC0826DA1B89E3BA5BC9C478AB00 /* Starscream */ = { isa = PBXGroup; children = ( - 5D2B0857FA8291B44803404E7ECBAC94 /* Fabric.framework */, + B1ADE9D436FA0F972FA5FC4F0F97D872 /* Compression.swift */, + 02DD7FFB954A5D7807DE1602A169178A /* SSLClientCertificate.swift */, + EFB4D6476B78ADF91DFCD53D31CD6825 /* SSLSecurity.swift */, + 32CC7F56156032ED5990915E2C1346D0 /* WebSocket.swift */, + 23B5F2719CC068C9323DB64D9A85832B /* Support Files */, ); - name = Frameworks; + path = Starscream; sourceTree = ""; }; - 101FC426DF3C8F5CF5498846D1E16338 /* Tests */ = { + 09DEA6C8F1D57E6A8D7BD60EEB13B3EC /* Pods-SignalTests */ = { isa = PBXGroup; children = ( - 2F4EE810973AA3AB39B590B6E0A5C276 /* Data+SMKTests.swift */, - E3CEC797FCF2406CB0733E7A11B6F3AE /* MessagePaddingTests.m */, - 8D094427D91142E3CB3A83C53CDCB299 /* SMKMiscTest.swift */, - 55D5E2EA12FC9FFD629CC143AFEB7F68 /* SMKObjCTest.m */, - E2B193A48B098F57A1C1A39A5E2309CF /* SMKSecretSessionCipherTest.swift */, - 8CB2946DD7A74E635FDD56BF9B8CD833 /* SMKSenderCertificateTest.swift */, - 9E39D121D057ADE54A028CFA9F17C102 /* SMKServerCertificateTest.swift */, - CC2EAFB2226BA4C28FA465018D140C8B /* SMKSessionCipherTest.swift */, - 7780130E03AA3877B6BD1D8C12E5FBDE /* SMKTestUtils.swift */, - 7EC0618809333DA51F7CB755F9FF5CFE /* SMKUDAccessKeyTest.swift */, + 0B6B8F22F95544C46EDA6DF99D706A0F /* Info.plist */, + 134E5FEFE420662857079AF5CF1A85F7 /* Pods-SignalTests.modulemap */, + E6E2C97C4174A9BE9146FC78DB4F710A /* Pods-SignalTests-acknowledgements.markdown */, + 7D50A6E22E35A94CE9D560E4A07D62F9 /* Pods-SignalTests-acknowledgements.plist */, + D43B8ED524AE5A6DA6389CBF84E78693 /* Pods-SignalTests-dummy.m */, + E985599FA552932998D7602FB5FEA74B /* Pods-SignalTests-frameworks.sh */, + 8BC7E345C383B05CA1D88F09A6E9852F /* Pods-SignalTests-resources.sh */, + 4B22DA6582F45FB45323C85ACFB552D0 /* Pods-SignalTests-umbrella.h */, + FDFD5A7CD55B27B0FA458EC6776755C7 /* Pods-SignalTests.app store release.xcconfig */, + D63A7107AB610A3A95590C4DBBC9AA74 /* Pods-SignalTests.debug.xcconfig */, + EB7C9B86EF6075ACA80AF6511CAB6927 /* Pods-SignalTests.release.xcconfig */, ); - name = Tests; + name = "Pods-SignalTests"; + path = "Target Support Files/Pods-SignalTests"; sourceTree = ""; }; - 1027E5C4593856DDEA844D62AACE2913 /* Core */ = { + 0A74ABD636AEB8400F273A8CAD926505 /* Account */ = { isa = PBXGroup; children = ( - 9E51BA505BFD3EC5F4DBF656853893D0 /* CLIColor.h */, - 8953851E8CBFBBBED4BDB92F59260BB9 /* CLIColor.m */, - 927037EB8AF12624CD4FCA002198050D /* CocoaLumberjack.h */, - B0DC9F0C417EDF312E68E1447CCF3F2C /* DDAbstractDatabaseLogger.h */, - E9C9F7C14B78D565AEAED3A63DFA2A27 /* DDAbstractDatabaseLogger.m */, - A00127B55BA922F0B60A9AEA9CDAA95D /* DDASLLogCapture.h */, - F29CF1CC842A3AB4AC96A8B1E674C0FF /* DDASLLogCapture.m */, - 93B21D5C2F67E0CBED4A40FCD6199310 /* DDASLLogger.h */, - 0E1E5A21B78CFEDCCBEC90C9CB99E20B /* DDASLLogger.m */, - 99DB1C29EE7028E0C858F0A98C7673CD /* DDAssertMacros.h */, - 7BF095A368B3C52D81CC0EEDF7EA0145 /* DDContextFilterLogFormatter.h */, - F87CA39DC312E530F78579DB49AD0DE6 /* DDContextFilterLogFormatter.m */, - CA15015261EF2441A6D51249D641FFDB /* DDDispatchQueueLogFormatter.h */, - 84FC3C6188310F0A9E47C09F6A7CA252 /* DDDispatchQueueLogFormatter.m */, - AC7282D8C49392BA3AD10F85E0E05771 /* DDFileLogger.h */, - BCA1CF84B33FF26F286F49B9C548C2EE /* DDFileLogger.m */, - F5D157F55A52F85F1D544198AED473F6 /* DDFileLogger+Buffering.h */, - BE0EA0542EEC4176A79543E999B71E16 /* DDFileLogger+Buffering.m */, - CE0B810EC0B3638CBCD7CB0E38309C5C /* DDFileLogger+Internal.h */, - 666778DDCF44FBECCF2F3D292BC0B7B6 /* DDLegacyMacros.h */, - D6C2AE79EDA1AE29043593120506031B /* DDLog.h */, - B184469BBB445866EDDDB5C3C6FFE37B /* DDLog.m */, - 2921917B4D7AF534D55BFAE5EF95CB4F /* DDLog+LOGV.h */, - F3611177EC5C2F42EBF376EB06ED73AD /* DDLoggerNames.h */, - 239BC4DA11A97D319309931AEA35F8B8 /* DDLoggerNames.m */, - B994790A58371165DB6972C70EC37563 /* DDLogMacros.h */, - 26238F22A146C33DCB68E1B152330F22 /* DDMultiFormatter.h */, - 2D6D61E2F16376AE5A36EC72C5C99127 /* DDMultiFormatter.m */, - F290E3F2483BD303F4AC82EEB7F401F2 /* DDOSLogger.h */, - 1986C91CD031D3D220E3EAC788606980 /* DDOSLogger.m */, - A04AD6697BE26C082652F66CCAB70BC5 /* DDTTYLogger.h */, - 769E1AB970EC96DE14CC7A2F01533163 /* DDTTYLogger.m */, + 45FE3685F26ACF02812D0466ECE9ACE0 /* SignedPreKeyDeletionTests.m */, ); - name = Core; + name = Account; + path = SignalServiceKit/tests/Account; sourceTree = ""; }; - 10D701574915A21BE4D6F4A10B948E53 /* Support Files */ = { + 0B9E6CB31E7D170E62E4B07B61A83E43 /* Support Files */ = { isa = PBXGroup; children = ( - 9258E09F3744B5E764E7AABCA648356A /* Info.plist */, - 7C997569CE0B19029D9D87AC771E65F3 /* SignalServiceKit.modulemap */, - A80A4B1FAE3573E0BA830DD7FA68C751 /* SignalServiceKit.xcconfig */, - 7929DDC1131D4CB9B41A0157903FD9C5 /* SignalServiceKit-dummy.m */, - 8BA83F4B42D69076AD160656EE6ACACC /* SignalServiceKit-prefix.pch */, - CA58BE39E1AA124AB69BB9EA24F2370B /* SignalServiceKit-umbrella.h */, - 31CDE33D1F9F0A23F7FF5ADECFAE4332 /* SignalServiceKit-Unit-Tests-frameworks.sh */, - 78916D20E7993A2769B309B63D53FD8C /* SignalServiceKit-Unit-Tests-Info.plist */, - 8CA640606A8A7EA4F8DBC9FEBF8FBF34 /* SignalServiceKit-Unit-Tests-prefix.pch */, - C77EB0ABBCC17B45AD3B83DE5131E71A /* SignalServiceKit-Unit-Tests-resources.sh */, - C91E7E55D696BAF2E6453B43BE2C3CA6 /* SignalServiceKit.unit.xcconfig */, + 9506478AF65D01698CF76F637A1386FF /* Info.plist */, + DFD2890CA41BD9FDDBD1B7084077CFF9 /* libPhoneNumber-iOS.modulemap */, + C2CBD2301C6ACFA0A5BD9D1A6C91A687 /* libPhoneNumber-iOS.xcconfig */, + E9D64F337793A13291717BB2A2F638AA /* libPhoneNumber-iOS-dummy.m */, + FF8900FEA049A8C43E28BB5015B737B5 /* libPhoneNumber-iOS-prefix.pch */, + 79C04F50709C0EF3BD1F0F6471FD13BA /* libPhoneNumber-iOS-umbrella.h */, ); name = "Support Files"; - path = "Pods/Target Support Files/SignalServiceKit"; + path = "../Target Support Files/libPhoneNumber-iOS"; sourceTree = ""; }; - 13036EACEC510F0170A65B495596FEF8 /* SignalMetadataKit */ = { + 0DDF0A3F583F80D0D73CDE18CBD1F229 /* AutoView */ = { isa = PBXGroup; children = ( - B8E0BA5223E8DF6500A60168 /* Loki */, - FE057F396BEF9C563941FA95CBF10B5A /* ECPrivateKey.swift */, - BEF3E023E39D7061D467BC7D198A548E /* ECPublicKey.swift */, - 72174990EDC07CF015EDCEE4355BAD9E /* NSData+messagePadding.h */, - 3B7911A5D7D96A0A6DEDAA4B9E1AF242 /* NSData+messagePadding.m */, - D24D18FD22E85C8E5E29E95FE8EFB288 /* OWSUnidentifiedDelivery.pb.swift */, - AF7905CA4C6B86E76B2E2011CB17E4C3 /* SMK-Bridging-Header.h */, - C9CA2634C6852C02C374C9AE45C60230 /* SMKCertificateValidator.swift */, - 99F1011A9263D9B9A24363FA55A8FF73 /* SMKError.swift */, - 4FE96513BC8FCDA7213654A36510A339 /* SMKProto.swift */, - 93EE7EBEC1CBC17F8582BFC13FDD776D /* SMKSecretSessionCipher.swift */, - 3E4DA8F7E32B5AB0185D26142D4CAA64 /* SMKSenderCertificate.swift */, - 56619C2C1798FE84F0C0DE5265C5BA21 /* SMKServerCertificate.swift */, - 41C75E5F0D1445C254007BDCACE67837 /* SMKUDAccessKey.swift */, - F9A734220982F3B80BFCE445AE2A4013 /* SMKUnidentifiedSenderMessage.swift */, - 6B45310E748556DFCECF27D33603E686 /* SMKUnidentifiedSenderMessageContent.swift */, - 07BB0418EE63654C87BF96E8BC036684 /* Support Files */, - 101FC426DF3C8F5CF5498846D1E16338 /* Tests */, + 2A8E3C7688E3FDE147D4A2FF3495C6A7 /* YapDatabaseAutoView.h */, + 7C8B32409E6F503A6D50761E948C5CB9 /* YapDatabaseAutoView.m */, + 95416E57C55F3F6E5DFD2696865385E2 /* YapDatabaseAutoViewConnection.h */, + 2F979C376CA4C58351EB7B509BC484BB /* YapDatabaseAutoViewConnection.m */, + 12D5F8BE07105924F639D4AAFDFBB3AD /* YapDatabaseAutoViewPrivate.h */, + BC60FD7F02E42CFC568E361118EB9EE4 /* YapDatabaseAutoViewTransaction.h */, + E0E9AC1D11C48B35E9ED5D428F0E44CB /* YapDatabaseAutoViewTransaction.m */, + 6739C292AB20DDAAE1C40EBFA6E5C037 /* YapDatabaseViewTypes.h */, + C0C47BA16F8CC25CC9D2DE247AFD1BA5 /* YapDatabaseViewTypes.m */, ); - path = SignalMetadataKit; + name = AutoView; sourceTree = ""; }; - 157A653D97EEE67195998386E9A7F809 /* Support Files */ = { + 0FF94ED94B6E9EA2754BAFD30C361C5A /* CorePromise */ = { isa = PBXGroup; children = ( - 1E769584921D49C3BBAF11D4AA22CACF /* Info.plist */, - 5EDE8D54285E37C8969DCE3C6BC97DFD /* SignalCoreKit.modulemap */, - 74157F31BA77650E20A77CB229FB6956 /* SignalCoreKit.xcconfig */, - 439D4E53A4C0F9EED2C5C94B5E4E871E /* SignalCoreKit-dummy.m */, - 11A870BCAAF95CCA4EA2023BB49E6611 /* SignalCoreKit-prefix.pch */, - 222B60328C041F116E901BF5D3F54600 /* SignalCoreKit-umbrella.h */, - ACC18DB31017DAD9DF9A7F81FCA0AA6E /* SignalCoreKit-Unit-Tests-frameworks.sh */, - 28A639EFFE5674AC0D8CAB18C0C78CC8 /* SignalCoreKit-Unit-Tests-Info.plist */, - 7088781848DA6696EC9AC2D03882036C /* SignalCoreKit-Unit-Tests-prefix.pch */, - C1B323ECE7200B6E638DC553E6474D2A /* SignalCoreKit-Unit-Tests-resources.sh */, - EE0E3939F89AC26E5096BDD7443CF1AA /* SignalCoreKit.unit.xcconfig */, + 179C664FC333700DF942080E1B82ADB4 /* after.m */, + 2E128CC0FBA3C5BB81648E680AE95C84 /* after.swift */, + 37B92A263F880F81AF07B1D4701F8FAD /* AnyPromise.h */, + 3C42E7261730FAEF43F887A129BF15A2 /* AnyPromise.m */, + 49735AA786C97666C9A9BAE0533B1D00 /* AnyPromise.swift */, + 6D217CAD56D7955EA1E2E5B39B97EC2F /* Box.swift */, + B45DFF9B53890EF41500CE8A83059B41 /* Catchable.swift */, + 71F8EC2FA817FCA5CC82D9CD737E75CF /* Configuration.swift */, + 35C39B479A0DEADE7F78A2169D5757C2 /* CustomStringConvertible.swift */, + 46D5743D007BA7EAB49BE2C2CE4DFEEE /* Deprecations.swift */, + C559A15FE0C0CBC35068EBA1F86AD472 /* dispatch_promise.m */, + 3C52DF223A41E25744225F462F964A26 /* Error.swift */, + 9985E1366901B03A78F8F3BDE8E9B603 /* firstly.swift */, + 514CDE68295847C799C345EDC7F083A0 /* fwd.h */, + F8CEA39D4E1B71A29F35CDE08E1A93C8 /* Guarantee.swift */, + 29A1D35CFC36ACD74526136A1A38A723 /* hang.m */, + 677AB4B0603D8AC3BBB1D42729ED5272 /* hang.swift */, + 8012E7090FE443E44D90F18BA1CF435D /* join.m */, + D271DC9D11B04E2B1069D881AA61B205 /* Promise.swift */, + BA59EB966E125F8F3D7EE13CDC287052 /* PromiseKit.h */, + F3797A8B219A85820FF666FEB5E9B333 /* race.m */, + 5FD2ACC5B69A948C05F4807355677C38 /* race.swift */, + 5EC8C25A4B32C71058CBE824D5945061 /* Resolver.swift */, + 6F2B4421C52EE36C3F01FC370A9FFC07 /* Thenable.swift */, + 5ADF7A9A73B0C212742D5A90688934FD /* when.m */, + F911C4433074EA9F553E20D3C2E8AFC7 /* when.swift */, ); - name = "Support Files"; - path = "../Target Support Files/SignalCoreKit"; + name = CorePromise; sourceTree = ""; }; - 159AFB7B2DD54BB62200A8EBEF1A6651 /* Security */ = { + 1088A9AB7F153435422B0937CB5B18C7 /* API */ = { isa = PBXGroup; children = ( - 8E7D47289F93F299AB1CB1C6903D8FBD /* OWSFingerprint.h */, - CD3915B3FC28EEAF1BEE61436DA6CB0F /* OWSFingerprint.m */, - 85729F4F35B966FDEF9344C1C2EBDBF5 /* OWSFingerprintBuilder.h */, - A625ECFAEC44790D96356613F1426EF2 /* OWSFingerprintBuilder.m */, - 9249E751DBB3F74BBCB03B10759A75E2 /* OWSHTTPSecurityPolicy.h */, - E3FB52E74AD2BEA8D3472F5936630845 /* OWSHTTPSecurityPolicy.m */, - DB6B8461F2C7A60329CDD6EF5E76280B /* OWSRecipientIdentity.h */, - 80B2B15E60142E2C6CEB342793F59E6C /* OWSRecipientIdentity.m */, + 1469F7DE72F2CE22524A4CE50A6486FD /* LokiAPI.swift */, + 88CB908E6F9906FE43E749E27A5E6C11 /* LokiAPI+SwarmAPI.swift */, + B9BA5433BEED5A90D0AB69BE76522BD8 /* LokiAPITarget.swift */, + 1866BE414F45B6B457664C21A6FB938C /* LokiDotNetAPI.swift */, + BFBE2D32DB7DFB39B8A07BDD18E33FF9 /* LokiFileServerAPI.swift */, + 37EBEAFB54C877806394E385523A4EDC /* LokiFileServerProxy.swift */, + 8BEDA6DFCB00EFF31CDF76353AB49116 /* LokiHttpClient.swift */, + 345C80B25641E86DA4E7018ACE906C24 /* LokiLongPoller.swift */, + 158ED4C30B6E64505F5C50154ADDCD73 /* LokiMessage.swift */, + B9FA49004D8C3251E0309D949F7BF358 /* LokiRSSFeed.swift */, + 86CA7A38E9C01E2870740CE3C877ECB2 /* LokiRSSFeedProxy.swift */, + F7A1579BEDBFFB64F60DD16E3FC8AF2E /* LokiSnodeProxy.swift */, + 6941FB5795C185B861899E00D9B65E33 /* SignalMessage.swift */, + AD4CB9645D36DCAC319A723A61806B31 /* Multi Device */, + 2682B16D4523000ED3CECDEDB40DC6B0 /* Public Chats */, ); - name = Security; - path = SignalServiceKit/src/Security; + path = API; sourceTree = ""; }; - 18E828C85CA8849CCB3C8251450DFC89 /* Frameworks */ = { + 10919EB47DF7B8C58BD6D5A6658F079C /* CryptoSwift */ = { isa = PBXGroup; children = ( - 42B15E45AC4A145C03C0296266CE60F1 /* AFNetworking.framework */, - 9F5903C61564B32D705EF64FC9D179AE /* AxolotlKit.framework */, - 7B5A30EA4F3E294FB669738117513DB1 /* CocoaLumberjack.framework */, - 4300FBD3AAC0B1C67C6F69A9C765375B /* CryptoSwift.framework */, - 5F7993D01DE96F7753A686B12C1C44FF /* Curve25519Kit.framework */, - 95342B2FCCBD8EF1BEBDF18C2BFE917B /* HKDFKit.framework */, - DF15350AEFF50AFA01BDBDFE2B4090B1 /* libPhoneNumber_iOS.framework */, - CBD7C83FEC618F35E95EF7AF700AF4B9 /* Mantle.framework */, - D432B892D2EF3509AA9D80EA8B8CBDD7 /* PromiseKit.framework */, - 29369BEA76FE6E8664A895B8F132C1DC /* Reachability.framework */, - E010FFA0D46CC76E71CC8200DF1A6C7B /* SAMKeychain.framework */, - 2C77FAC54752FAC36C415B8789696499 /* SignalCoreKit.framework */, - BF561178336CC23023460B392536083B /* SignalMetadataKit.framework */, - 4B4FBEA230E2D880E1078A9C43CE3A6A /* SignalServiceKit.framework */, - 086B66EB1446232C6C359E0A1A3C53B0 /* SQLCipher.framework */, - D1FCB05B64D6B37B8EF1364672EF3312 /* Starscream.framework */, - AB614DC0631AFDEEBB786026406B114E /* SwiftProtobuf.framework */, - 97E57B2BF9B3F4D08A12C3BB89C2A42E /* YapDatabase.framework */, - D6149D00400620562D6531FFF4BDCC90 /* iOS */, + 9BDB6831C53C6E7582DFCF65F16D7086 /* AEAD.swift */, + 557EF19FAC9F1DF421B03B94E712FAC3 /* AEADChaCha20Poly1305.swift */, + 178CF8657E78AB03FB248CE3E12F1255 /* AES.swift */, + 2DAF770772B108D66EB6822F6F7184AD /* AES+Foundation.swift */, + 707C377369A9ADB60BEF9AC220B19DEF /* AES.Cryptors.swift */, + 2E4EE0771D7B119CC3B4DAB5733BE6FD /* Array+Extension.swift */, + B46248EEF69343ACF4AF870F249C29A9 /* Array+Foundation.swift */, + DBA039CF47ECB02EB31CA9003F9D69F8 /* Authenticator.swift */, + 5E03DEB054A959815EA9F9C46DC4104B /* BatchedCollection.swift */, + 7546937EB48D33BD1A88237D24B9923B /* Bit.swift */, + 2C3267C50B05C137236CF2ED1481076D /* BlockCipher.swift */, + 44C587F81E9A03B6B10670BC3CAFA072 /* BlockDecryptor.swift */, + AE6249C0105E1F986E982F867B337918 /* BlockEncryptor.swift */, + 4B2D6777257F40087791E2E92323E6E8 /* BlockMode.swift */, + 674D92D24689DF2D66EDD2F38A1ACFE2 /* BlockModeOptions.swift */, + 700BAD87F1D471885FC64E53B152231B /* Blowfish.swift */, + 35098B4FADC45D3D99CC837FC0879A81 /* Blowfish+Foundation.swift */, + 91C5F50FAC049383195E8D9CE1B8872B /* CBC.swift */, + 60FF6A33E806622BCA53777E6C284DFC /* CBCMAC.swift */, + 0111E35A25061E829A6415B39E470ED0 /* CCM.swift */, + 4244BB9A166F6E5EAEC0A5F81D955B5E /* CFB.swift */, + 44ECCA6DD6E1784922152336E1047529 /* ChaCha20.swift */, + 1BCA28A93E0D511657E73CE163C89049 /* ChaCha20+Foundation.swift */, + 95EE59242422FC71E3AB1D67692FBB6B /* Checksum.swift */, + 329E75346572A22B19D7C2DED3BD219F /* Cipher.swift */, + 647331C1A56F17B81152C5B970E44C6F /* CipherModeWorker.swift */, + 388F5C7FAF550336EE733CDA695DC590 /* CMAC.swift */, + 33BB5F475CD2947B39B81646B2E0F48B /* Collection+Extension.swift */, + 16C17DC61C4394C4BD527AB7837FD174 /* CompactMap.swift */, + F3EF496ABADB39CC9024D184D31DDDBF /* Cryptor.swift */, + 1C9D41C5F09C861DE9E11FAEEF2A1DAD /* Cryptors.swift */, + 95EC2103B502BC3B7564B1637A305D03 /* CTR.swift */, + 6AC02E4218612F802AA47C312260C04D /* Data+Extension.swift */, + 7A5E71F66CB714475637EE1229E31F45 /* Digest.swift */, + 5F5ABDB9F38A98AEA91967695AADB3F7 /* DigestType.swift */, + 0ADB9948253C70E0A939236F2A7C41BD /* ECB.swift */, + E338886DBAA35B0E025D158AB1BF398A /* GCM.swift */, + 9229E0829E79ADD6B3A184643906E83D /* Generics.swift */, + BDFB4E43AB0C5E4099E30A9FBDDD77A7 /* HKDF.swift */, + D69B64800F675FF8E09FA71C4A163B89 /* HMAC.swift */, + 276B371A6ECA9BE71CF7D3B0BEE5638C /* HMAC+Foundation.swift */, + C60AC69A844FB6C600825328C63D22E7 /* Int+Extension.swift */, + 42185DFB7BB9F70207D1E66F7BBC06E6 /* MD5.swift */, + 59B198BA3EB652E2192942B5FAFE96B9 /* NoPadding.swift */, + 11D1254C1F6BC9A70801A1E0E7D36897 /* OFB.swift */, + F556BF3540AFEF74E83896F56FB572D2 /* Operators.swift */, + 7682637D8C3070442552AB2CB2FE20B8 /* Padding.swift */, + 458B23ED61A87641E7095310B4A3B59A /* PBKDF1.swift */, + AC3D792BCA25D36DDABED989893BFA5F /* PBKDF2.swift */, + 444179510EDDF15CC6A977ED01F5CF29 /* PCBC.swift */, + 3C954EF9FF5819C403718E83394CF1D6 /* PKCS5.swift */, + 25AE8FD32A6D2D0EF34DA6A743CD9363 /* PKCS7.swift */, + 1130C5962C391DBBCA497C3CAEA7F5AF /* PKCS7Padding.swift */, + CFEB6068CD6D606350B907CAF60625C6 /* Poly1305.swift */, + 97703459B20649EF8DA03DF65056A801 /* Rabbit.swift */, + 511F1F7B76473BCC7DC94A531D48AA78 /* Rabbit+Foundation.swift */, + 917746BE578EC23BEBB96F8C2C3B1B1F /* RandomBytesSequence.swift */, + 4EFD6E6EED622F073D1337170D1549B8 /* Scrypt.swift */, + 99D8BA181D775DC2584C2F463744EC79 /* SecureBytes.swift */, + 211E40979351E7DB2B8D44443C3D61E8 /* SHA1.swift */, + AF11B3D9D938C8E2C6CE42CCD561FA63 /* SHA2.swift */, + EB54F97B28ACE0A021A31B79ABE8AF71 /* SHA3.swift */, + 6849EDDD7461316B2586B180EF78A17D /* StreamDecryptor.swift */, + 7B0E169748970E5299EE53D0A8860272 /* StreamEncryptor.swift */, + 0539A4E9CDF55BD4AA05C2D59F1355A5 /* String+Extension.swift */, + D88EF6B3A2D169068607C7366C36DF51 /* String+FoundationExtension.swift */, + D72B8D9F026552E914C88BE40712F6A0 /* UInt128.swift */, + B38DB750060EF6410579BA9CB943663B /* UInt16+Extension.swift */, + 7CDD86EAC731556DB2C96619B5E07D46 /* UInt32+Extension.swift */, + F04B9AE44564A608031E5D799EC6FB49 /* UInt64+Extension.swift */, + BFB31D0D1B1313FE686DE11AA452B561 /* UInt8+Extension.swift */, + F66D78A8530914381BAF19A655C9C8B1 /* Updatable.swift */, + FC7161ACF6C5B5F818CFAEE1B8955E45 /* Utils.swift */, + 04BF8C1DC10396B8F814A7CF2370DEE3 /* Utils+Foundation.swift */, + B3562FB15FB1E03F2A26AEB39B13C2B0 /* ZeroPadding.swift */, + 01AE3A110D684356A843DE301D019772 /* Support Files */, ); - name = Frameworks; + path = CryptoSwift; sourceTree = ""; }; - 1966C2C60CE1E98E35C3504D6BF33652 /* Tests */ = { + 11D6D70696FA0B0153C58A95CCF45509 /* Tests */ = { isa = PBXGroup; children = ( - 93EC963F1C0FFBF14B5FE86518994CAD /* CryptographyTests.m */, - 91574B5B0CD0AF89B4C01C27633DA0E6 /* SCKSwiftTests.swift */, + B00B58932A24C90F671C2C2421C1B42C /* Curve25519KitSwiftTests.swift */, + 8B0ED1C2B9487E800DDC3BD9B38EF8DA /* SigningTests.m */, ); name = Tests; sourceTree = ""; }; - 19B66F54A2935080541D13CF3EF575CD /* Support Files */ = { + 148212B7A8814F8033FA6174957E952B /* Storage */ = { isa = PBXGroup; children = ( - 0A5332926D306760D62ED2757352A1CB /* AxolotlKit.modulemap */, - 7E1873A3D327612140629D80445AA3D9 /* AxolotlKit.xcconfig */, - B932F871B555C781B2396D0310998EB9 /* AxolotlKit-dummy.m */, - 0F3AA7A84A0844A4D3F154097210561F /* AxolotlKit-prefix.pch */, - 70DD5410AE50086E2F33C74CF474156D /* AxolotlKit-umbrella.h */, - DE5AC18578E673C7BB51D1C352974529 /* AxolotlKit-Unit-Tests-frameworks.sh */, - 016B8969046494654873650B121A83B8 /* AxolotlKit-Unit-Tests-Info.plist */, - DD8F65E5D4EB1249EB756A17F82CD00F /* AxolotlKit-Unit-Tests-prefix.pch */, - D7A88D3620A826506795B6799DB059F0 /* AxolotlKit-Unit-Tests-resources.sh */, - 5A25C0D8DBAFF442BD4484DF5BF6F237 /* AxolotlKit.unit.xcconfig */, - 9D3ABF178EF4E3B6AF01A2809AED5213 /* Info.plist */, + E2D289131471BA4BF77355866AFB8376 /* FullTextSearchFinder.swift */, + 5DC110366682967230329172495D56BA /* OWSIncomingMessageFinder.h */, + 493176C056D3C15A7FF79A3698019A7E /* OWSIncomingMessageFinder.m */, + 01504433751B6E0181E3E96239CAE8C0 /* OWSMediaGalleryFinder.h */, + 1AF46DFDF0E832BB66EEA540EFFC56AD /* OWSMediaGalleryFinder.m */, + E97D953E7ADD8166217980C2156300AB /* OWSPrimaryStorage.h */, + DA40C55BDD6120B32FCBA8998BB9FD24 /* OWSPrimaryStorage.m */, + FE20A38DD227795D39D9D3953D16957A /* OWSStorage.h */, + 1C59DCDEBE453EA38C546A0F5B4B4A55 /* OWSStorage.m */, + E0207AF074DB23F127E20DEECCA9CB62 /* OWSStorage+Subclass.h */, + C389470A93C5FD013BE86CEE1F0C3AF6 /* SSKIncrementingIdFinder.swift */, + 265419D1308755F3017CAD9BCA44C3B1 /* SSKJobRecord.h */, + DF49CDD67C98BA5D7D30AD6409B6B4CB /* SSKJobRecord.m */, + EAF21128F34C978A1C18693D941CD1E3 /* SSKKeychainStorage.swift */, + 51D4754D547EC4A1CF5F90D9BD28CA07 /* SSKMessageSenderJobRecord.h */, + 0597EAA5C61D46E7DA6C54478555617B /* SSKMessageSenderJobRecord.m */, + 4C92CAC38EC5A08D454542741A4C7976 /* TSDatabaseSecondaryIndexes.h */, + DEB12A9EB01B67A1636AB60A11A7059A /* TSDatabaseSecondaryIndexes.m */, + A5BC40FAA76DF3A5A6062BC2393BDB68 /* TSDatabaseView.h */, + D94C36CCB1FB119D9C8B404B5DEC932A /* TSDatabaseView.m */, + 613C4E099464FD5088A1218A6DC5DE69 /* TSStorageHeaders.h */, + 0A52C14A89BF3FC84E644B22E460299A /* TSStorageKeys.h */, + 86C4DAEFC3A97318C5F67BD4E2266E7E /* TSYapDatabaseObject.h */, + FDD4037F48D526A8FF019322027A0274 /* TSYapDatabaseObject.m */, + A9B1147D50693D6EEE26F9864A9E939F /* YapDatabaseConnection+OWS.h */, + C94A7BCF56C2FF6924E9A2A578D269FF /* YapDatabaseConnection+OWS.m */, + 84AA67E8F7C3DC134A1EBE2A67BC828F /* YapDatabaseTransaction+OWS.h */, + AE6735D2A0D744A15BA25DF093F85642 /* YapDatabaseTransaction+OWS.m */, + 3A869A319347A3E463C8DAE045CD0C2E /* AxolotlStore */, ); - name = "Support Files"; - path = "../Target Support Files/AxolotlKit"; + name = Storage; + path = SignalServiceKit/src/Storage; sourceTree = ""; }; - 1AAF84B89B819829062DB28261C37A6B /* Presenter */ = { + 16BAD8719960497E44DDC2A4ABA9B4C1 /* SignalCoreKit */ = { isa = PBXGroup; children = ( - BFAD9BE088CC4AC69FA73F2D9E5C389B /* NVActivityIndicatorAnimationAudioEqualizer.swift */, - B56CB2AB3E164EFF52758E0A5DC73B3C /* NVActivityIndicatorAnimationBallBeat.swift */, - 8AF5CB8E51BB8E410610CE0EAC5460BB /* NVActivityIndicatorAnimationBallClipRotate.swift */, - C55A458BE383D60AEE22DABCEFD04146 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */, - 996101C4C6B7CC14918D3D6B6E3C3BBF /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */, - 3113BF53104A90B44A020718F60C678C /* NVActivityIndicatorAnimationBallDoubleBounce.swift */, - 551BDB42E0D7E53AF38CEDF68702AA32 /* NVActivityIndicatorAnimationBallGridBeat.swift */, - 5C5142E5BCE104F7F5D0EBB45D4B4F7E /* NVActivityIndicatorAnimationBallGridPulse.swift */, - E11644B963916D3EE553561915D57AF2 /* NVActivityIndicatorAnimationBallPulse.swift */, - BA7ADCFA1DF730818DDEF37C43253CE9 /* NVActivityIndicatorAnimationBallPulseRise.swift */, - 6BF9A5DA2282651AA8EAB8E6C658F73B /* NVActivityIndicatorAnimationBallPulseSync.swift */, - 5B4DDECCF9E4EAC8DAE253CC27316A95 /* NVActivityIndicatorAnimationBallRotate.swift */, - 7B8E856EC2F9A34AFABA6856E8478B19 /* NVActivityIndicatorAnimationBallRotateChase.swift */, - BE90B7305DA6ADCEEDAF9E1A5748C333 /* NVActivityIndicatorAnimationBallScale.swift */, - 7084A42B39FE1F3630D2D0B211207D37 /* NVActivityIndicatorAnimationBallScaleMultiple.swift */, - 619527122231B3D5BADFD2E45C342AFB /* NVActivityIndicatorAnimationBallScaleRipple.swift */, - DB81C24381001835613A5D58E2F26E86 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */, - 982FA3AA0FB7A55C5113288AC4C669BE /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */, - D7A91052BDE50CF8C04DC521D7020BE3 /* NVActivityIndicatorAnimationBallTrianglePath.swift */, - DD901BC402A3D129F11FB8D833C79535 /* NVActivityIndicatorAnimationBallZigZag.swift */, - CA361FA20734470F3117892EFB76F93F /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */, - D957D580466E89681E56E82E7AC448A4 /* NVActivityIndicatorAnimationBlank.swift */, - 9CF9834332481B22C7A878459764C34E /* NVActivityIndicatorAnimationCircleStrokeSpin.swift */, - 1F1B17C7AEBF18EA9167BCFB41F6789B /* NVActivityIndicatorAnimationCubeTransition.swift */, - 754E40D7BFF74C2551C3FF4F757BDD9D /* NVActivityIndicatorAnimationDelegate.swift */, - 83DD8425C42FD896D3309206ACE3E6D9 /* NVActivityIndicatorAnimationLineScale.swift */, - 466D064C79543DA0EADBBF7B5F57E9F8 /* NVActivityIndicatorAnimationLineScaleParty.swift */, - E75949A0F809A5A6058FF86294F00347 /* NVActivityIndicatorAnimationLineScalePulseOut.swift */, - 6A2CA8657E84B799EE520270B21EDF15 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */, - 6CC941CB1941CDF0E45562CD59408948 /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */, - A1A8B581698FDB1AE0BE1D6748225EE4 /* NVActivityIndicatorAnimationOrbit.swift */, - 539208534B4E56355F6730AE52DFEF69 /* NVActivityIndicatorAnimationPacman.swift */, - 2BEB4D25F479DA17507CAAA56BF02A25 /* NVActivityIndicatorAnimationSemiCircleSpin.swift */, - 811083E74CF6B3759C094310BF3B3882 /* NVActivityIndicatorAnimationSquareSpin.swift */, - 76DD5C062D0F5C50A512E69F94D5F079 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */, - 85A084BB5B7918E183171397E030FEC6 /* NVActivityIndicatorPresenter.swift */, - 9317C39D8FF8A2AA491EE4906D818569 /* NVActivityIndicatorShape.swift */, - 91BDF7B91C7F6C3298951E02CEA5D2D5 /* NVActivityIndicatorView.swift */, - 8D6A0641F240B136C48C0B10456A24CC /* NVActivityIndicatorViewable.swift */, + DC76C2874E0717E6F16AE355DE9B3D5E /* Cryptography.h */, + 72074004CA251CA95E7BF22409F9E5B5 /* Cryptography.m */, + 95FB11FFFBE456D49E7A912CC7109C90 /* Data+OWS.swift */, + EEED420B9E26D8C0ECFC8728865B70C7 /* iOSVersions.h */, + 278F9D5ABC669D3783DF4D2B2257AAF9 /* Logger.swift */, + 577598BBC679DB3AD0D61C64B6BB8A5E /* NSData+OWS.h */, + 337F0BF35EBD313317AFDDAD76FFA9F7 /* NSData+OWS.m */, + 0C13EBBEC4197F7619DBC45242BD8DD7 /* NSDate+OWS.h */, + 9D96B7B3CF5CF3A7330850D6FF869F7B /* NSDate+OWS.mm */, + 8A7719BB03C7A518C712ABDCEB9EA522 /* NSObject+OWS.h */, + EA50E7B2159788D9B0FEAC7A8E0A1BC4 /* NSObject+OWS.m */, + ACC65907DEC181C4D0C1A3CE50265853 /* NSString+OWS.h */, + 0070003F2685C506E215D73BAB0958F5 /* NSString+OWS.m */, + 35C36906CB01F12DCFC2781364F13F01 /* OWSAsserts.h */, + 07ECAD56901C72280E34F2A07E6CE8A0 /* OWSAsserts.m */, + BABDB440796260F0C0E9AFC67E125175 /* OWSDataParser.swift */, + 8E677C84549A6C3A7529FE4306F8E27C /* OWSLogs.h */, + 9C57FC3CD792DB128556E346CA0E42FB /* OWSLogs.m */, + D3226A006C1B8F5744C4EA403BCDBB0F /* OWSSwiftUtils.swift */, + 2967EC5266C77E86793EC6D54FDA38BC /* Randomness.h */, + 095C8E10ED96AE49FDE82553FC72B1A6 /* Randomness.m */, + 994A9C01EDB5971911FADD32A270354F /* SCKExceptionWrapper.h */, + 7BB5EA3EF2871CDE171E2FD0E94A1CA2 /* SCKExceptionWrapper.m */, + 464F1B32F5C5B00B70C981A872918A8F /* SignalCoreKit.h */, + 365436A07B03905A7F78C595B94B0741 /* String+OWS.swift */, + 23D4DEACB6A935D4A4182195E4C3BE8A /* Threading.h */, + AA18A9DD37830478AE558B8074BC258A /* Threading.m */, + 69CBC58BE303FBBD1B488923A3F329CA /* Support Files */, + CBE994D4A6AD4D0E4BFD7F8CB399B7AB /* Tests */, ); - name = Presenter; + path = SignalCoreKit; sourceTree = ""; }; - 1B2AE42674C78178DFFA09F05A699150 /* InvalidKeyMessages */ = { + 179111C70BCF98582AAE52AA2FEC5E58 /* Reachability */ = { isa = PBXGroup; children = ( - F06750D69EAD0A3F064E9AEE50E1B560 /* TSInvalidIdentityKeyErrorMessage.h */, - 15E80BE91C2497584D28F42155AAF581 /* TSInvalidIdentityKeyErrorMessage.m */, - F2D329D3F06967545474089D7EBBF027 /* TSInvalidIdentityKeyReceivingErrorMessage.h */, - 625B87011CB0A711EF62C3B906747055 /* TSInvalidIdentityKeyReceivingErrorMessage.m */, - 83490240E3369FFAB4451EE971C77D49 /* TSInvalidIdentityKeySendingErrorMessage.h */, - FB4D27D18F4C5ECDED4652B5E654E6C4 /* TSInvalidIdentityKeySendingErrorMessage.m */, + D75FC383B515B9D60DB00CFBF5052051 /* AFNetworkReachabilityManager.h */, + EBEA26214AF977D08E32D4677AF7EE46 /* AFNetworkReachabilityManager.m */, ); - path = InvalidKeyMessages; + name = Reachability; sourceTree = ""; }; - 1B6FE91BF38B15DC952303C92FC42F58 /* ManualView */ = { + 1928A71D119C42C874EAE1B82989F240 /* Util */ = { isa = PBXGroup; children = ( - 635A52BB194C6B947EF3B7F923E07DD3 /* YapDatabaseManualView.h */, - 3F84D9E5CFB1D75926D72005DD2A77D1 /* YapDatabaseManualView.m */, - BA74BFCE17FBCAD12FBB95D356EFE536 /* YapDatabaseManualViewConnection.h */, - 918169CBE0878917BC81780A849257D1 /* YapDatabaseManualViewConnection.m */, - ABEEC0DBB30E34AD1F8C8987C12C540B /* YapDatabaseManualViewPrivate.h */, - 2D5AFDE85D0D6DA306D0886DA6C15B57 /* YapDatabaseManualViewTransaction.h */, - C68AE886275EE8DC95E1F2883A3793BA /* YapDatabaseManualViewTransaction.m */, + FB36012796B157779B454B1304367D3C /* AppContext.h */, + E6C0E995E0451DED0A7F2853830584DF /* AppContext.m */, + 9EBFE227324EC1172BFC6701EEA87032 /* AppReadiness.h */, + 47598EE776F9391FFBC1D9DEE535BAED /* AppReadiness.m */, + 0B348C44F557DAEDA57E9BD14F142455 /* AppVersion.h */, + AD2DEDB9CBDDAF5C48B5787CB2D6AA75 /* AppVersion.m */, + AA9A5016CA0EA16D29403E4AB70BC82C /* ByteParser.h */, + 2365DE0A7EE66A7F03D9E483EB4B5899 /* ByteParser.m */, + 9670CC6BD5A38458F1AE75089A7F6845 /* DataSource.h */, + F2210E9390B9DA61D8856AD08AE96DA2 /* DataSource.m */, + D7BA2733BCD2863349FB3809C1FB1532 /* DeviceNames.swift */, + 7C6E84AADE27B17424363D195E41B271 /* FeatureFlags.swift */, + E877941B3E32D1F0A027602ACB56A655 /* FunctionalUtil.h */, + 6119972388F16C9616C785D003B352BD /* FunctionalUtil.m */, + 21ADCF3F1D4616CAE9DC574A57913EBD /* JobQueue.swift */, + 2677D86CFCB10440BD24F431D02C841F /* LRUCache.swift */, + DAFBCEF8EE24C48A5491EAFCBA6FB1BD /* MessageSender+Promise.swift */, + 7FDF06DCD95A631F1B45A519C7D82F22 /* MIMETypeUtil.h */, + 18C82949DF50E6BBC127F12BB4545400 /* MIMETypeUtil.m */, + 0D20DD5892B0A11AE42FC8D0F6E04078 /* NSArray+OWS.h */, + 9062A7B6DE5D2C80B061102F2CCE4C98 /* NSArray+OWS.m */, + CAF72B52DB3B9843A89AB3D0BABF4BE4 /* NSData+Image.h */, + 287DC144F0F8E03369C85C7B16796656 /* NSData+Image.m */, + 8098AAB04666BACCC63EA3C07A6E7224 /* NSError+MessageSending.h */, + 2F4863F02450E809DB5DABF23DE85AA2 /* NSError+MessageSending.m */, + 913E83C03F55E4C8DA9AA47176BD5132 /* NSNotificationCenter+OWS.h */, + 67F57EA574C1FE96E0AEEDD113CE0C95 /* NSNotificationCenter+OWS.m */, + BAF318C7357456C959A869C0D173F68A /* NSRegularExpression+SSK.swift */, + 3C4446AC2960A864CEDFFDCC9773A2C0 /* NSString+SSK.h */, + 3922113C362CD636BE5C495D5DBE0B13 /* NSString+SSK.m */, + D66A3E292FF16690B2E3E765F165A792 /* NSTimer+OWS.h */, + B304CEF121DF49E7EC45DD223614FCA5 /* NSTimer+OWS.m */, + B03B36DD6487CE97D336AA5E1FCF1EAA /* NSURLSessionDataTask+StatusCode.h */, + 58A0DDC30CBB376B723759CA379E01D0 /* NSURLSessionDataTask+StatusCode.m */, + 0ED092C21D8ADD37D38130590A60D75E /* NSUserDefaults+OWS.h */, + 8A62E4A800A778138E90B175EA59B163 /* NSUserDefaults+OWS.m */, + 291555A7D25244E35EB9F6BF688BD622 /* OWS2FAManager.h */, + 73FD224CB3F48AB7A6B80C758A3C12C4 /* OWS2FAManager.m */, + FCB1DB1E4C7D0E27778AB488FD1C8F9D /* OWSAnalytics.h */, + 131DC9E7A7C66203D3F920D0FBE1D4A0 /* OWSAnalytics.m */, + E8085776C33E22160A52C90C6ADEB9B6 /* OWSAnalyticsEvents.h */, + 39723C03B57992A242119D53F3CFCD49 /* OWSAnalyticsEvents.m */, + AD947E111E79EF9C696F6610EC9269EF /* OWSBackgroundTask.h */, + 9CDF994136FB1FD5AF87D5B5E96F4818 /* OWSBackgroundTask.m */, + 14C19EB09518EDA453493FFCEBAFC48E /* OWSBackupFragment.h */, + 6C1B4AA82048104DCF18B4F901F03010 /* OWSBackupFragment.m */, + 918D42603303C1F7F97CCCD81F062643 /* OWSDispatch.h */, + 8767699DEEA1ECA679A489EFB1C6FA47 /* OWSDispatch.m */, + 3CA50DE3BA245954096EE57D240D6F0D /* OWSError.h */, + 8DAA606506441D6F5F68E274213B6AFF /* OWSError.m */, + E89CC6D555EFFADE482CC73CB6F8EF8A /* OWSFileSystem.h */, + 150ED395F55C5D489848360DAD4672A2 /* OWSFileSystem.m */, + F462E6CB34B40AB6AC3EDF3923322E09 /* OWSMath.h */, + B4415AC40425F73B397D9F56207F5DC7 /* OWSOperation.h */, + B8A544D48AD636438F860717A584D5E6 /* OWSOperation.m */, + EB167397E22A0B2F7F2149C40FC9D8AE /* OWSQueues.h */, + 6A761FE86F21AD81D59365ED316C72C4 /* OWSSyncManagerProtocol.h */, + 49A8048DC0103BBFD9C4D595AB425B8A /* ParamParser.swift */, + 5072087E439640F00B96F69577F9D31F /* Promise+retainUntilComplete.swift */, + 18CD8C27C639D881E9EBB7AB8E529F6F /* ReverseDispatchQueue.swift */, + DA2EEA903C84CCBA47F253B06D935522 /* SSKAsserts.h */, + 66E639C3DFD9B30BAE9381F5CF5905AD /* SSKPreferences.swift */, + 077E6000EC3D75F8EFFB7B648653CADD /* String+SSK.swift */, + F9474F09709A68B597B9AB2598712152 /* SwiftSingletons.swift */, + CE8925D78BE9C4BFAF1141E721131B3A /* TypingIndicators.swift */, + 452564B41DDDA813A950C475FB370D8E /* UIImage+OWS.h */, + 22DCC1A5FDD7F455CB18E38C9E584C63 /* UIImage+OWS.m */, + BE632F175CCBA09B1D95BC8BAA7CDFD0 /* WeakTimer.swift */, + A9EEFFFF355AFBEF42883C77A72B62A3 /* YapDatabase+Promise.swift */, ); - name = ManualView; + name = Util; + path = SignalServiceKit/src/Util; sourceTree = ""; }; - 1C103AD0E8EBA89BB686C13D04B11019 /* Support Files */ = { + 19665098E39BA34BA18899AA0BDA8C90 /* Curve25519Kit */ = { isa = PBXGroup; children = ( - A085848BDE1DD0B96707D70C018C5F8A /* Info.plist */, - D17DF485015A3DEBD652E21A4A5AF543 /* Mixpanel.modulemap */, - EC491EE1C39F559838776AF2B83CD2AB /* Mixpanel.xcconfig */, - A78EFA381C7FB3A016A9C9D2A31C8734 /* Mixpanel-dummy.m */, - 6067415775F26C65AE6B30E9868FD31A /* Mixpanel-prefix.pch */, - A0980E04DFA3284FB576532D939D08FF /* Mixpanel-umbrella.h */, + 43F735D919E2981132908991950B405B /* api.h */, + 663529E7604A8929935B92557F8C23E0 /* base.h */, + 6F3B2E8F58977F1B52C5F702465A445A /* base2.h */, + BAC7C474947349CA631CDA2BB94B33A9 /* blocks.c */, + 0BEF4D6774DDEE5760162147D3C1814A /* compare.c */, + F31404D4995B3B8A3F58813119DC8D84 /* compare.h */, + 1D9EDCC3B2663831208DA023513E846A /* crypto_hash_sha512.h */, + 0A70C7DE5855662747F0E81CEEEC959C /* crypto_int32.h */, + 0E7F9B73FE27EFA1BB2D903ECA055696 /* crypto_int64.h */, + CF4D7EEC01E984D052ECAB138C9DDA1A /* crypto_sign.h */, + B08A33BBAD4F33F05DE2CC6C7CEF5B33 /* crypto_sign_edwards25519sha512batch.h */, + 7C5D9930527F069E1181816BD3392CE5 /* crypto_uint32.h */, + DD4913EEE98DB15557D20A46CFDB00DF /* crypto_uint64.h */, + 7C3BF9FF6FA4722E463D396147A3D138 /* crypto_verify_32.h */, + 8D7963576561DCE9820B0F89DC9A99DC /* Curve25519.h */, + 99B242B9EABF91F1A9E15F6B81336D58 /* Curve25519.m */, + 3DAA210D36F23E4C5320C431C6B917E8 /* curve25519-donna.c */, + 06BD51A9B6885F81060328C68E5F318A /* Curve25519Kit.h */, + 25E4888B12290DE783522EAC56C29382 /* curve_sigs.c */, + 9E5EF666C3777B01BA33BB9E1A6EBDEA /* curve_sigs.h */, + 023C05A7DFB380229B2984C7CCC77A0C /* d.h */, + 27B3EE34ADE8BA4A7E716121B84E18EC /* d2.h */, + 4B193DBB15E165E096D258900DD79405 /* Ed25519.h */, + 7D5A7244271C2E9759DEC0CE645997F6 /* Ed25519.m */, + 0905C320337DC047221852AF36981864 /* Ed25519.swift */, + 482539833DDE1B38065A41BB57B774C2 /* fe.h */, + AE507CCEEA45F7DDD8283A94069DA9AF /* fe_0.c */, + 4058C7C93E7FD602EC980056EB760575 /* fe_1.c */, + 72F0A6F307FA1E04E18B27B1631E432D /* fe_add.c */, + 047FFE54222AB0A40E300B7F31B27A32 /* fe_cmov.c */, + 52C8AEC0F8ECBBF43F007A1DFA80EE0E /* fe_copy.c */, + A276459C826DC2DE64A583C122E39390 /* fe_frombytes.c */, + B2B1B93B632415BF79F3195CFD53F74C /* fe_invert.c */, + 644936984335A7507306FF0ADAFD5AA5 /* fe_isnegative.c */, + F09D3191225302A5C8BE2E3074399E1C /* fe_isnonzero.c */, + 731C474BA147AFB99C3E2D719C310B88 /* fe_mul.c */, + 189EA662431A19470E23C76D2E2AE57A /* fe_neg.c */, + 454E0E4DA6C4F329728BB5AF038ED94E /* fe_pow22523.c */, + 6C3375F08C9E69AED0EB7E8590FC2089 /* fe_sq.c */, + 63FE43AE93E422567953EB81E2D5360D /* fe_sq2.c */, + 044565AF7D3C31A4B8E3CD6E752EB6DC /* fe_sub.c */, + 38CE760FDC7F7C877A8B5D07F3251BD7 /* fe_tobytes.c */, + C273652FB3FB689CE6E4D7F315529992 /* ge.h */, + 2F332BA0AD8894CF18ED624687F52E48 /* ge_add.c */, + DC14BE8B691FC354CEAEA090D739A0C0 /* ge_add.h */, + C5AB250F11BA27C161B35A3968996485 /* ge_double_scalarmult.c */, + 8371AA146FC6CDAADA38E31A2815EF6A /* ge_frombytes.c */, + 6BF41BD1D1EAC0016FDF281E1437B2B6 /* ge_madd.c */, + 54FE53E490534D4E037E0D96E2A2F95B /* ge_madd.h */, + 9C6B2B979BE457C1EF73E8F69ED2666C /* ge_msub.c */, + 514E931CC8B59385E76F962B541312BF /* ge_msub.h */, + 581767C683DD6DAF71DF30E5B60E919E /* ge_p1p1_to_p2.c */, + 744F6738B53804C72304E6E4E4D15613 /* ge_p1p1_to_p3.c */, + 63427C1C30AC131BE21B3A2AAD7FEF21 /* ge_p2_0.c */, + 9805D97C70F7D6F553D1EEEFCAAC97EC /* ge_p2_dbl.c */, + 07E80EC3C780CEE0F2AA7998EC82C9DD /* ge_p2_dbl.h */, + 4434C725B4B85FD628EFBE84F1CD29B6 /* ge_p3_0.c */, + 06FBBAC402E4A29A6204225394CDED5E /* ge_p3_dbl.c */, + BA4DDF706AC38D51FA90C834FEF78AA5 /* ge_p3_to_cached.c */, + 1C5EFBE3E4E80A2E81B03833B7728528 /* ge_p3_to_p2.c */, + 2A4E108633FC5CD2BA4FC13F2CFF022D /* ge_p3_tobytes.c */, + AE21FDD8140C93B896AC54FA53E37D40 /* ge_precomp_0.c */, + 05A6EF9397D52C7B88E176D26FE1FB4B /* ge_scalarmult_base.c */, + 698EB628AA7CA0DA1FA7B7F25DD16CDE /* ge_sub.c */, + 5E3034DA75AB53B5101AC213AC8F7FA0 /* ge_sub.h */, + 9A163A53C30B24E4215F1561BA56608B /* ge_tobytes.c */, + C4BD42AA3152F98D06D0B32E72454448 /* hash.c */, + 6BCC4B21E0BDB77B62D648B0EE75CF23 /* open.c */, + E5E4D4083754E9DF70670309E3CA8D36 /* pow22523.h */, + 04CA85FDF0A2AA24A6CAD819518D86B0 /* pow225521.h */, + CAD6FC846B1E23F9C41DA0D8F99E1935 /* sc.h */, + 204E91944611D2B2DD713057F0C130E2 /* sc_muladd.c */, + BE99BC50EC31A5153FAE196AFF894F2E /* sc_reduce.c */, + 2C3CA895A94F4BD23EE38CB2B1EBC9F1 /* sign.c */, + 84D03A60AB6DBCB1011E583211013BBD /* sign_modified.c */, + B8B419DB4C4CAD5B28CBA5FACA618F47 /* sqrtm1.h */, + E22662E50C7C862E76E42D7E1552B60D /* zeroize.c */, + 6DB20FB299D07904025AF3DEE2C50776 /* zeroize.h */, + AB5D491A92EFC92D3388FAD1E784ACB9 /* Support Files */, + 11D6D70696FA0B0153C58A95CCF45509 /* Tests */, ); - name = "Support Files"; - path = "../Target Support Files/Mixpanel"; + path = Curve25519Kit; sourceTree = ""; }; - 1C8FA7FED84C713348362E25A47539C4 /* Products */ = { + 1B7AE4B7A974A3A8C39B10A354B4C537 /* Generated */ = { isa = PBXGroup; children = ( - 66A6F8B54DEC39584D71B2E841A32846 /* AFNetworking.framework */, - 1E2707BC55B8E170117FB4792D857041 /* AxolotlKit.framework */, - 0792D62CBE0768B8B61C00BA8EEC3537 /* AxolotlKit-Unit-Tests */, - 7EB0BC5357413C5E6EABBD0039FB2768 /* CocoaLumberjack.framework */, - DC10ED9966EC1B8C1EDAF770A03099CC /* CryptoSwift.framework */, - BA1704D6720C855F8E66FB2BD363F630 /* Curve25519Kit.framework */, - 7780D82C996A534B6ACA0D30F60B4CE0 /* Curve25519Kit-Unit-Tests */, - 3E14CC41F29722DB82EAA0CF5E4FDDDE /* FeedKit.framework */, - 7589DFA279A5C6D39B05C07C37D100F3 /* FirebaseCore.framework */, - 051B644C948743ABACDE31C915B8142C /* GCDWebServer.framework */, - 65508B82682C0559B97564BC5B5E4A98 /* GoogleUtilities.framework */, - 703115A1C67D7D567C354D99C21A0B42 /* HKDFKit.framework */, - BB3CBC300F6B9537D4D5F49D588815DA /* HKDFKit-Unit-Tests */, - A288452B4E66186199AD507AB8DF0188 /* libPhoneNumber_iOS.framework */, - C7C5331D9E8815B2E36431C5FAFF6AC1 /* Mantle.framework */, - C3C685BEAACC9CA9712EB060669F8049 /* Mixpanel.framework */, - 8EEA55178DE1C2B5420F35813B5B143A /* NVActivityIndicatorView.framework */, - CD046EEC980422E161969C30F68CA5A3 /* Pods_Signal.framework */, - 8FC8F03D5C83B65C59F33D6AF22B79D9 /* Pods_SignalMessaging.framework */, - 860900D5B988390994DF2CECD7F5E862 /* Pods_SignalShareExtension.framework */, - AA7BD6E45521F5B31FF69A8D83FB1FDB /* Pods_SignalTests.framework */, - E3DDA40DCB57E6FFC472438829550828 /* PromiseKit.framework */, - 32BA8FE1024D1D1787DF7C94F92BF63C /* PureLayout.framework */, - B3FA4B07C1D395630B5B88FB22E9482E /* Reachability.framework */, - 43737FB603FF7472AA018D77A5ADBED5 /* SAMKeychain.framework */, - 9182C549B38444FEA44E7E002C04A2BD /* SignalCoreKit.framework */, - 8992754FAF77B3095DF369590223E2F4 /* SignalCoreKit-Unit-Tests */, - B433DF7CEDCC1965316A09EF9CE6D728 /* SignalMetadataKit.framework */, - D138038E11C2DA0FFEA3DCF86CA49BA8 /* SignalMetadataKit-Unit-Tests */, - 359F720D8AEA1089BCA448A8951FA4BF /* SignalServiceKit.framework */, - 9113553455F8AAEB26F0399130813085 /* SignalServiceKit-Unit-Tests.xctest */, - 4768AA9276A5ADAE9C94C57FEA63AB54 /* SQLCipher.framework */, - 47F9408EF983C44BE5BA243E7419A4B6 /* SSZipArchive.framework */, - 2C650F10B17EC65CDD202C2E09A610E3 /* Starscream.framework */, - 1CA9DCB081FFCA77E7EECC676D24EF95 /* SwiftProtobuf.framework */, - 8A5A34DE07C4555F4BB1ABDBA939FD05 /* YapDatabase.framework */, - 2A6183BB69CE45E2C1A1BC08ECDAED4C /* YYImage.framework */, + 906184879971DFD39E652574192963D8 /* Fingerprint.pb.swift */, + B314B49B458D308453B2AA3E84CFC55D /* FingerprintProto.swift */, + 50A46B2DE68A97397DB7E8CCE21C4067 /* Provisioning.pb.swift */, + 6585AE35FE7C15FDE771F6281AC138DC /* ProvisioningProto.swift */, + 5D1BEF9511641B6DFDEE23CAFDDFDC66 /* SignalIOS.pb.swift */, + 9DFDC5BA7AEE736A89EF7792348EF0CE /* SignalIOSProto.swift */, + BBBDE92D28473A223156B3B17467C8F0 /* SignalService.pb.swift */, + CF97C901A486D87130948778E759CBB3 /* SSKProto.swift */, + 892900F281880C8AE7743E62AA60877B /* WebSocketProto.swift */, + 2A38586F9EEC691600949DEFDB359792 /* WebSocketResources.pb.swift */, ); - name = Products; + path = Generated; sourceTree = ""; }; - 1CBFCA9D38C0C3FA5F8CFBEE044ADA07 /* SAMKeychain */ = { + 1C86D78217FB7253E44D593405EE4CF2 /* Support Files */ = { isa = PBXGroup; children = ( - F8C96B7E6E3FF2AA9BDAFAA098AD7B9B /* SAMKeychain.h */, - 859AF72A77C6A61F33AFFD67DC84E01B /* SAMKeychain.m */, - CFF65DDC9B8B9980DE0AA715648DE116 /* SAMKeychainQuery.h */, - 8A4080F3B31ABE5C771F4CF700373C21 /* SAMKeychainQuery.m */, - B938F01F6E17B0F95D94CA4535CE5243 /* Resources */, - D1FFF9B78EFF5C497AB2C40FDF0EAD0A /* Support Files */, + 839A22209D58857FF8E24F2C2D4FCBD5 /* AFNetworking.modulemap */, + D45CCBDFAD5A5860A4C5D47BD03B3450 /* AFNetworking.xcconfig */, + D8A7265B5CAF3A4DFB8253D3B37DD936 /* AFNetworking-dummy.m */, + BD6E8C7F138AD0C52B88D3A671ECC0F1 /* AFNetworking-prefix.pch */, + 56595385666843E33657A77CDACEE381 /* AFNetworking-umbrella.h */, + FA411D555C2864ED61BCB938895D3FD1 /* Info.plist */, ); - path = SAMKeychain; + name = "Support Files"; + path = "../Target Support Files/AFNetworking"; sourceTree = ""; }; - 203181A4BC4A4B90BA637015C22A3028 /* Hooks */ = { + 1CAA9F1D473B357767D84F8A0D0F2A66 /* Shelved */ = { isa = PBXGroup; children = ( - 5915279A49A80AB710D83A536A3ABC6D /* YapDatabaseHooks.h */, - B7B8051B090015C6EA162F1C909966AE /* YapDatabaseHooks.m */, - 36354B593D4A004C67ADF448C8A66FDF /* YapDatabaseHooksConnection.h */, - ACEB44EEF74725A265C9DFA82DE71B6B /* YapDatabaseHooksConnection.m */, - 7493EEF707CDF39A5B4177266B483A5A /* YapDatabaseHooksPrivate.h */, - 3380360D6D1B1C942E69DD5F25F04F2F /* YapDatabaseHooksTransaction.h */, - 5D9C8440E921E0B764F8C84AE990165E /* YapDatabaseHooksTransaction.m */, + 5F15C4DC18C22A7C967174536A3DA9EC /* LokiP2PAPI.swift */, ); - name = Hooks; + path = Shelved; sourceTree = ""; }; - 21AC2A7CBE7373459133E711113D7D19 /* Core */ = { + 1FAE2FF1968EA6520124282A60841386 /* GCDWebServer */ = { isa = PBXGroup; children = ( - 11B4E91AC3F735BCBF34164F709B5E5C /* NSDate+YapDatabase.h */, - EE83C55997E02F15F053544066B9305A /* NSDate+YapDatabase.m */, - 836F2F7B9044F96347AC30A228325F33 /* NSDictionary+YapDatabase.h */, - 1CA0E28DDF139EFBD2ADB0DFE21AFF84 /* NSDictionary+YapDatabase.m */, - 8B6E25497F068D0F1A3ACA0DD1D183EE /* yap_vfs_shim.h */, - E74AB09C0958C54690D16663C0F802DD /* yap_vfs_shim.m */, - 85A485467DA49D6C866D02D84C98106E /* YapBidirectionalCache.h */, - 5C2AAE08AC0472347EBB91C85F1A588E /* YapBidirectionalCache.m */, - 4E689BE9DF4866199F55CC0DA16DB971 /* YapCache.h */, - 546A8FCEC06C93AFD7D0476E112A007D /* YapCache.m */, - 2583A5D40AEE86F9507150BC7AFCB1D0 /* YapCollectionKey.h */, - EFBEE1F649A4F0F0214EB14642F67309 /* YapCollectionKey.m */, - 5E8A5F4C3C51B8799F20A9C00C7C2499 /* YapDatabase.h */, - 1899DCCD974D0FB7106735EA27BFFBB8 /* YapDatabase.m */, - 3665C83E2BC951E808844D5D5127A911 /* YapDatabaseAtomic.h */, - C65FE12188C5592AC813B4B9A442D766 /* YapDatabaseConnection.h */, - 47D3C38DC9BC0DB219E33026D0A613EB /* YapDatabaseConnection.m */, - 0B9A5FCE1ACAFC6A1EF5EAA04A5D3E89 /* YapDatabaseConnectionConfig.h */, - 0894712D8FA945F42EA67900827AFA3F /* YapDatabaseConnectionConfig.m */, - D01DCF8DE071C9C1E866550EFF02679F /* YapDatabaseConnectionState.h */, - 1E3FB4A1382C1FFA5148218F20C9CFFD /* YapDatabaseConnectionState.m */, - E39FAEBB0E1C08430F9AD476A24273FE /* YapDatabaseCryptoUtils.h */, - 61BE9AA63DC4AD444C55CC93C72759E2 /* YapDatabaseCryptoUtils.m */, - 4FF307BB9993DC79C242C410073DBA43 /* YapDatabaseExtension.h */, - 31DDDBD6315049C737EABB82033EE1B1 /* YapDatabaseExtension.m */, - B3064C3639239244B59421B33505A66A /* YapDatabaseExtensionConnection.h */, - FF828681C11A1A4E419844F6ABD2D4E1 /* YapDatabaseExtensionConnection.m */, - E790FDC7A261C154CBF8280E269729C0 /* YapDatabaseExtensionPrivate.h */, - 0A4CEFBBF54219944E7D661ECCBBC71A /* YapDatabaseExtensionTransaction.h */, - 9B4727AC842DCF9983D38A8169020A52 /* YapDatabaseExtensionTransaction.m */, - 4839D783549810CEBA0A34902D059BD8 /* YapDatabaseExtensionTypes.h */, - FFEDAA84C1E8D2AE4B3BCCE5560B45C8 /* YapDatabaseLogging.h */, - B4620905B58FBDDBDE0F5904696607BC /* YapDatabaseLogging.m */, - 6CD052C585BAEA27E588C0A9ACF4150B /* YapDatabaseManager.h */, - 50B249DDAE7F70BB73966B4028457CC0 /* YapDatabaseManager.m */, - CD123F61F0FFFC481EED64BC60317BF1 /* YapDatabaseOptions.h */, - FC77AD9CB1CA4E1E345A9CC82D3A1923 /* YapDatabaseOptions.m */, - 57848CBBB445C66D9494492FB369D73D /* YapDatabasePrivate.h */, - 3BCFCF7F32FBEAA223E282BD3B5376F3 /* YapDatabaseQuery.h */, - 2B8CF218B79A05FFDEDD604FB7F2F76E /* YapDatabaseQuery.m */, - 023910A50F6FE69E0C139FBAF1475FE7 /* YapDatabaseStatement.h */, - 0B5DFDAABA99CC002003CFB14754CF64 /* YapDatabaseStatement.m */, - 1A3455FD784481A3E8EB8224646C77C3 /* YapDatabaseString.h */, - 0C7C7E215767BAF365D71A447FF5905D /* YapDatabaseTransaction.h */, - D00DEF16A5213BB827F708288384CB3F /* YapDatabaseTransaction.m */, - 09BFCC1BE2242985DC9F60EA6B26C2CB /* YapDirtyDictionary.h */, - 7CC832585DAABE886BBD481A72B81552 /* YapDirtyDictionary.m */, - BAD8BD49F283E583BFCA50C1EAC7615D /* YapMemoryTable.h */, - 2B80F999F1FEC9238E0DB400473ACEB9 /* YapMemoryTable.m */, - 8A156313EA307E881878651CC9BA95C0 /* YapMurmurHash.h */, - 8A1CDD01787F83C1F6B834A16D0324E4 /* YapMurmurHash.m */, - 707105D05E319E79E94A3360E3A9C0D7 /* YapMutationStack.h */, - D21E9CB0D289257C6873FB4540ACE075 /* YapMutationStack.m */, - 6836D74D12F43CA8C68BC492B322D44D /* YapNull.h */, - 3B9DD9A1C9D769883B0D5575FD245942 /* YapNull.m */, - 0282EBDBF931B4C5A13B3EF20831B72A /* YapProxyObject.h */, - 3707A41E27D48013BD1DFE8816D2CF18 /* YapProxyObject.m */, - 5801FC7588195AC40E82CEC1773E035E /* YapProxyObjectPrivate.h */, - 8387E64BA8981A8E1F64B86BD8C871B3 /* YapRowidSet.h */, - CA7CEFCB21937D3ACBE369AA883672DA /* YapRowidSet.mm */, - 5CA4B0DA4215F4A223FE7EEBED8B1FCE /* YapSet.h */, - 283969690CA3D0943474EE4DB5144948 /* YapSet.m */, - FD04DC7A19F01290776DC6C73BA8B12D /* YapTouch.h */, - 537D8F47170D5B8A3172EB0FC80498C1 /* YapTouch.m */, - AD84DE461283D91FFA712126BDF6F3FE /* YapWhitelistBlacklist.h */, - 8459BF8036CC4E5F9CCC5149B88E279B /* YapWhitelistBlacklist.m */, + B1280E300E990B6E689609B1490A9DB2 /* Core */, + 8947E3654F56C1248BFE2BF8DA5B46A2 /* Support Files */, ); - name = Core; + path = GCDWebServer; sourceTree = ""; }; - 227EB1532DDC9C70D0B1E4F56567CD4D /* NSURLSession */ = { + 20B8B941838DC78EB7F8853B14DF4D0E /* Support Files */ = { isa = PBXGroup; children = ( - B3B68C2F45C542AE3ED8F6DEA2D94916 /* AFCompatibilityMacros.h */, - 2E0CEFC59D9C26A1D217CA69E8DE35C5 /* AFHTTPSessionManager.h */, - F9421152E6F9F5288299F313E6AE2932 /* AFHTTPSessionManager.m */, - AA87AED48BDA315C57A0A350A5A26EC6 /* AFURLSessionManager.h */, - A957678EB63778045A631B1D06987B3A /* AFURLSessionManager.m */, + 28B77E3F43B4B4DDBE9311F4C56509C0 /* Info.plist */, + 3B4C99F66DC5374D7BFF934CC7A9ACF5 /* SAMKeychain.modulemap */, + 3BF891B38C1D1C0738ECF31E50DA5F00 /* SAMKeychain.xcconfig */, + 1E45ADFD1C834E0ED16F7894C1D93653 /* SAMKeychain-dummy.m */, + 830143A71339443831E45AD7F686E810 /* SAMKeychain-prefix.pch */, + 9CF13D11004536F81C272A504F13B1E4 /* SAMKeychain-umbrella.h */, ); - name = NSURLSession; + name = "Support Files"; + path = "../Target Support Files/SAMKeychain"; sourceTree = ""; }; - 229AA2713F8D62E8F5B23FA5689C34ED /* Tests */ = { + 2116162490D090AB0552E740293E78B0 /* Pods-SignalShareExtension */ = { isa = PBXGroup; children = ( - 841721DD1452C467F4A65DADED65AD29 /* AxolotlKitSwiftTests.swift */, - 160930596227699D8ACD124D7867A865 /* ECCTests.m */, - 6B1ABEFFC427FE088EC178F5AED45A9A /* ECKeyPair+ECKeyPairTesting.h */, - A620AFF518E24B158206700B4EE8553E /* ECKeyPair+ECKeyPairTesting.m */, - F554088C0FD96699CA6A4EEA981ED20B /* HKDFTest.m */, - 958C9FF596BF2C25F0AE35ADBC44F41A /* PreKeyBundleTests.m */, - AEFF17D76365DA34659BE6557BFA7378 /* ProtobuffsTests.m */, - 1DD17B5ECE25C0A918D4912FACCDCEEE /* RatchetingSessionTest.m */, - CDEBE605E405DA7FC4ECB4D1E0005F5A /* SessionBuilderTests.m */, - B5627A2CC476C9014D58BE7EFA20BCCE /* SessionCipherTest.m */, - A90C7AA40DFD3075281D07C3C32EF3F0 /* WhisperMessageSerialization.m */, + 6EB7B8629EC0882A5C86DB168FDDAAAF /* Info.plist */, + 0E5CA83328F408973F9F0688E0BE1FE3 /* Pods-SignalShareExtension.modulemap */, + 39BFD061125DB6399FB27D5BB643DD1F /* Pods-SignalShareExtension-acknowledgements.markdown */, + 490A362BD87A7DFA6AA01FF2A3B3BF30 /* Pods-SignalShareExtension-acknowledgements.plist */, + 31D58CB83A778356D13C8A96F04FCE06 /* Pods-SignalShareExtension-dummy.m */, + A30BD9CB500093D34946901830A5A94E /* Pods-SignalShareExtension-resources.sh */, + 245EF8B19940B69B77E3995DAFC93F61 /* Pods-SignalShareExtension-umbrella.h */, + 5B7B7ADF07479EF0685D4754AC2397E8 /* Pods-SignalShareExtension.app store release.xcconfig */, + CEE2D1C79EFDAB086717ADEF25017B09 /* Pods-SignalShareExtension.debug.xcconfig */, + 1EEEB35CD60FEE88B4F40F0AF6843451 /* Pods-SignalShareExtension.release.xcconfig */, ); - name = Tests; + name = "Pods-SignalShareExtension"; + path = "Target Support Files/Pods-SignalShareExtension"; sourceTree = ""; }; - 240FD566A5794E8347A6A4B935CEFF36 /* CocoaLumberjack */ = { + 23B5F2719CC068C9323DB64D9A85832B /* Support Files */ = { isa = PBXGroup; children = ( - 1027E5C4593856DDEA844D62AACE2913 /* Core */, - FD7B608408036F3DF393A99698DFDB07 /* Support Files */, + ABC984A0A616EE29A85E956D4D20B849 /* Info.plist */, + B01A37F9FF4F8CC784C64327B7ED6135 /* Starscream.modulemap */, + D640CF29A534821FF53479EE2ED5A5B9 /* Starscream.xcconfig */, + AE524F6642F28A057C6D4E4FB4453374 /* Starscream-dummy.m */, + 7B700F037E12DD43C89E5600B4FEFB24 /* Starscream-prefix.pch */, + FE8F7D2AA442954F4E0B42C8EE6ECEB8 /* Starscream-umbrella.h */, ); - path = CocoaLumberjack; + name = "Support Files"; + path = "../Target Support Files/Starscream"; sourceTree = ""; }; - 242C619DB125EF4D578946C109F8B439 /* Frameworks */ = { + 2682B16D4523000ED3CECDEDB40DC6B0 /* Public Chats */ = { isa = PBXGroup; children = ( - 969E86A16B4B097A0F5788DF7A2E1425 /* openssl.framework */, + 8523EA038B75F96F1BA9DB88EA3AC0BE /* LokiChannelInfo.swift */, + D0636057655653F0064C9EA33D74BC60 /* LokiPublicChat.swift */, + 18E665D95CE0F1764C7E6459FB12508D /* LokiPublicChatAPI.swift */, + FB8411E0D6EC5E7C3975E1D696D91350 /* LokiPublicChatInfo.swift */, + 96FEFDD95B5A58AF1A86366439475955 /* LokiPublicChatManager.swift */, + 6AD258F50972EB743FDEF83F6C245674 /* LokiPublicChatMessage.swift */, + 3F737F817140A21963A2FD1DCFF7AAC4 /* LokiPublicChatPoller.swift */, ); - name = Frameworks; + path = "Public Chats"; sourceTree = ""; }; - 25A8CDB8752DBA70512C958C79A1C795 /* Network */ = { + 2B25CE5177B693BEAB83866356BE1370 /* AFNetworking */ = { isa = PBXGroup; children = ( - 4497B3017A703664EF3CC55893475BEC /* ContentProxy.swift */, - A7D5001794BA62B4EB4EA68A4C5A16A8 /* MessageSenderJobQueue.swift */, - 134C675923A2D34764105135C1261BA1 /* OutageDetection.swift */, - E63D635E6F78B0D6827E2637A61AD9A3 /* OWSCensorshipConfiguration.h */, - 8C8CB261D1DB14E5A42FF9F64E750E0C /* OWSCensorshipConfiguration.m */, - 27C1AE0B5402B11C62AFC8C2DADB0E85 /* OWSCountryMetadata.h */, - 20D597AB3C09E2C7A0D75FD0EE31E446 /* OWSCountryMetadata.m */, - FB891E1A245EC34BA8A3D0DC6EC90228 /* OWSSignalService.h */, - 1017F831D1CFD7B9202836374FB7E943 /* OWSSignalService.m */, - 4B16DAF26DBF83FB161392C08BC6E4FD /* ProxiedContentDownloader.swift */, - 642F99E78D03718CF68C09109496BE6A /* ReachabilityManager.swift */, - B07DBD68D37A545C7D37ED789664BC15 /* SignalServiceClient.swift */, - 05F64FD956C35AC9D8DD3CFD4A3C5DF0 /* SSKWebSocket.swift */, - 7678DD5DCCA4D505C9A41C18F51997C5 /* API */, - 4124BF1BC5AB017E91B4EFCEF29EA375 /* WebSockets */, + 8C97323C785F956F20E4DF2708ABBF47 /* AFNetworking.h */, + 7C9EDE9BDE37939D14B268D646E631E1 /* NSURLSession */, + 179111C70BCF98582AAE52AA2FEC5E58 /* Reachability */, + 4298C64E7D3B74BFE0884C50A8794557 /* Security */, + CEDF3D8E94A35AC2AA73C1136F188E20 /* Serialization */, + 1C86D78217FB7253E44D593405EE4CF2 /* Support Files */, + 7EE5B593794476DA2B4C2A2B64E88AAA /* UIKit */, ); - name = Network; - path = SignalServiceKit/src/Network; + path = AFNetworking; sourceTree = ""; }; - 283F63B3C47FF5CAB5480AEF291042C3 /* Account */ = { + 2CF2A1C2BBDE554FC3F72D20054E0768 /* Support Files */ = { isa = PBXGroup; children = ( - B5AAB86E0A47EDB2D4FCF931C8242BD9 /* SignedPreKeyDeletionTests.m */, + 502F1F2191C2E00664DBA48D75B0BA39 /* Info.plist */, + 16F0AD9A63B3BEE5476D829AC3D451DA /* SSZipArchive.modulemap */, + AC9FA3DC4FD8142BA1CCBB808B6D066B /* SSZipArchive.xcconfig */, + 693DCA8ACF4FDC894AA5361B0330ECDA /* SSZipArchive-dummy.m */, + EDB9D311D235AA42D12AFBD513FFE6FD /* SSZipArchive-prefix.pch */, + 32DEA237D4CAD4AF5228622B070FC76D /* SSZipArchive-umbrella.h */, ); - name = Account; - path = SignalServiceKit/tests/Account; + name = "Support Files"; + path = "../Target Support Files/SSZipArchive"; sourceTree = ""; }; - 2C5FCC0DC6A531BE3A54B7F83D0277D1 /* API */ = { + 2E3B8AE000733A15014C350C211A3DE2 /* Pods-Signal */ = { isa = PBXGroup; children = ( - F86F907807C29D46CEA7F76F400902A0 /* LokiAPI.swift */, - 3D08194AD12F0A23EDEB22601DB0B593 /* LokiAPITarget.swift */, - 1A98145231184259283BC98403B4431B /* LokiAPI+SwarmAPI.swift */, - 4C59F97D3B831CF5F8ABBF60177C812D /* LokiDotNetAPI.swift */, - 743F9BDB2D15AE4F4ED5EA1C7390ABEB /* LokiFileServerAPI.swift */, - C3BADCE023E6380900B304DE /* LokiFileServerProxy.swift */, - B836BFCD23DA944F002C86A0 /* LokiHTTPClient.swift */, - 791216839C1A221B858C6AEBBCB20EC6 /* LokiLongPoller.swift */, - D91998C895C41ACE4419BB00A5819678 /* LokiMessage.swift */, - C493DD036C0C4FB8C6D06F604071F8ED /* LokiRSSFeed.swift */, - B86F994523E7B674005D9FE9 /* LokiRSSFeedProxy.swift */, - B836BFCE23DA944F002C86A0 /* LokiSnodeProxy.swift */, - C60FEF1B80024333892B1CF3EBCF80FC /* SignalMessage.swift */, - 88076A64A0FD642E4BED9D25F1606C56 /* Public Chats */, - D274A9098162A732D5D460579C7E50E1 /* Multi Device */, + A373AF26151C91A348BF349098E5240C /* Info.plist */, + 74D39C59AC923A7A9083B875E643DCA9 /* Pods-Signal.modulemap */, + 22C19D06F62D6C5E8E820F564CD4FA8D /* Pods-Signal-acknowledgements.markdown */, + EA8CD908B22D7684251467A1DBD5470E /* Pods-Signal-acknowledgements.plist */, + AFBD6D8B1B82988A9B55DF3EBBAC4AC8 /* Pods-Signal-dummy.m */, + ED8591100F2C806D6DB748953961CEBB /* Pods-Signal-frameworks.sh */, + 29A2B795E02FB8DCE7C3C84CBFE3E027 /* Pods-Signal-resources.sh */, + 1CD94E876F6BA26D1541ED65EAC4851C /* Pods-Signal-umbrella.h */, + DEE4F18431D6D6DE5C9EE8C37C90A731 /* Pods-Signal.app store release.xcconfig */, + 2356CDC4BC7C2C8FFD3CB1113A0AFA87 /* Pods-Signal.debug.xcconfig */, + 4258DF64E662E87748BFEFB477F538E0 /* Pods-Signal.release.xcconfig */, ); - path = API; + name = "Pods-Signal"; + path = "Target Support Files/Pods-Signal"; sourceTree = ""; }; - 2ED4C196AFA2062DD6E9D6C68441D7C9 /* Pods-SignalTests */ = { + 2F70459671B923CB5A865374A09EBDF3 /* Contacts */ = { isa = PBXGroup; children = ( - BF8C381897F777C8969BC196A527DCE4 /* Info.plist */, - 89018605A123FB95D923A8766CB70015 /* Pods-SignalTests.modulemap */, - 3E8B5FA29ED293689AED9B7A96F95516 /* Pods-SignalTests-acknowledgements.markdown */, - BB6AC003E9AD7AA13CCC14BA08B46D3C /* Pods-SignalTests-acknowledgements.plist */, - 2BED6BF6C8550F5B37905EAA5CF203DF /* Pods-SignalTests-dummy.m */, - AB571F0ADD670246865E1E80B4DA0F8A /* Pods-SignalTests-frameworks.sh */, - 4FD6FB48885489E0290561C1490E3528 /* Pods-SignalTests-resources.sh */, - D36D1B5A594E0251F05A177AD16A9862 /* Pods-SignalTests-umbrella.h */, - 33DA0BFD0C217738710B023DCCFB4322 /* Pods-SignalTests.app store release.xcconfig */, - E7C40FD779B0DCCB746DA1499F631674 /* Pods-SignalTests.debug.xcconfig */, - FD6F07A91BA232FED0DC922CBF11FD9D /* Pods-SignalTests.release.xcconfig */, + CF53912804BF50E7EA57EAF687CD6823 /* CDSQuote.h */, + 3102FBE5539D60278E099124D74E1EA3 /* CDSQuote.m */, + DBB1BB6456CEEBFCB47B5391D16FAA78 /* CDSSigningCertificate.h */, + 3F872CDC8D59D8DCE6D0604CCEFA2020 /* CDSSigningCertificate.m */, + C6905CA24C336F21965392752B34BF5D /* Contact.h */, + E590D89CB3181FD4969F1F2DBCBC8FBB /* Contact.m */, + B3FC9D2830FB4D71BADC72A46E34A75C /* ContactDiscoveryService.h */, + 80AE40F3897B23C852BBDCC33D0400A0 /* ContactDiscoveryService.m */, + B236ED821159D7EF83C32E1ED79990E0 /* ContactsUpdater.h */, + C082D225F9B87F65802CAA27F78CCB92 /* ContactsUpdater.m */, + C3FE80BA706FBEDC7C6A07CE803F7D4A /* OWSContactDiscoveryOperation.swift */, + D63D2EE507F01BE1359FB7672DF75AB9 /* OWSDisappearingMessagesConfiguration.h */, + FCAC93848D79BE5BCCA83873C959DD5C /* OWSDisappearingMessagesConfiguration.m */, + 5A0CE50ABD0F594C5D91DA6CD26BCDD3 /* PhoneNumber.h */, + AC8D3D15716E9D4AB71751DCF7E16EE7 /* PhoneNumber.m */, + 242F944EEC4D29DC5856EB4728422E02 /* PhoneNumberUtil.h */, + 3E83B80347175982FF9A25CAF4A1A35D /* PhoneNumberUtil.m */, + 1280F5F887F8945C269881FCD44AC97A /* SignalAccount.h */, + 75E14F7DC17F0FCE9405FA9CCB679973 /* SignalAccount.m */, + D1BD123F5275ACDF1FAC05E85EDB34A5 /* SignalRecipient.h */, + FDA4340B40697792BC28EDEC336F4AA1 /* SignalRecipient.m */, + 6A46A5B4FA6FF701B20968CB45043E88 /* TSThread.h */, + 8E851CBE2DC741B080A654D96FF6CFEC /* TSThread.m */, + BA44347F411C5466664DA3BE30C26765 /* Threads */, ); - name = "Pods-SignalTests"; - path = "Target Support Files/Pods-SignalTests"; + name = Contacts; + path = SignalServiceKit/src/Contacts; sourceTree = ""; }; - 2F1166BF9F4C05715CDB67B331EC4F20 /* Security */ = { + 301591AA4EB2150A344251426218321C /* Utilities */ = { isa = PBXGroup; children = ( - 537AB5D399F9A4E953F813890627FB28 /* AFSecurityPolicy.h */, - 9FB2F1F727ACC6CA517A7CB819FAB4FC /* AFSecurityPolicy.m */, + C45585D219CC0E3F057849350C06357D /* AnyPromise+Conversion.swift */, + E073D0CDC3B2333565C0DAA89FE4C573 /* BuildConfiguration.swift */, + BAE4913CE949D6FFAB9C16693F747B83 /* Data+Streaming.swift */, + FBEB02245D34AFFC172266F3CFE5F4D7 /* Debugging.swift */, + 6F2A48D0070B4C5B14803BA4560B7E25 /* Dictionary+Description.swift */, + A179A0A87B886424D086DE201B7416FF /* DisplayNameUtilities.swift */, + 3A288CCA5013D44C5C1C6F345D16FED8 /* GeneralUtilities.swift */, + 3671B0076EE881EFACA93B6D27CC6EEC /* GroupUtilities.swift */, + AEB8281E224094872B442319CB0B9D92 /* JSON.swift */, + 37E757F0A2F7EBD3D2DEE036D3269CA5 /* LKGroupUtilities.h */, + 544E99975D3E9F5C4926BBDDC45F82F0 /* LKGroupUtilities.m */, + A6E107F5404F68094F14CE786F010536 /* LKUserDefaults.swift */, + 779F4E9E9E82FF0BE0B187E7DAE2118C /* Notification+Loki.swift */, + 871B2ADF0D820D59CD592EFCAB8582EE /* NSArray+Functional.h */, + 12F870641132F3E651BE0551CA9C631C /* NSArray+Functional.m */, + 2C41C57793309768E813EA0E56E72D15 /* NSObject+Casting.h */, + 36A8D39D9729071530327DC786D6A0CD /* NSObject+Casting.m */, + 54D8B64C2DEC7BDCECBC00DD40A25C1F /* NSSet+Functional.h */, + 1BD0EA6C2E58458F660BDE9A915EA136 /* NSSet+Functional.m */, + B0B8A06ABF59F0E5F648AFA4F55A6006 /* Promise+Hashing.swift */, + 7464A7D72DA0F1156CBEFD872556C956 /* Promise+Retrying.swift */, + 8FD6263894DBCECA28515814110DFEFB /* String+Trimming.swift */, ); - name = Security; + path = Utilities; sourceTree = ""; }; - 2FE411F5102066933E22CDB8C6A365C3 /* Support Files */ = { + 30D016EC91D21FB88FE8490D508EA4CB /* Requests */ = { isa = PBXGroup; children = ( - 6BBEBED6502FD349FE1D53B791D60E3F /* HKDFKit.modulemap */, - E75F9C39FB7C0DEC2A181A9699E387BA /* HKDFKit.xcconfig */, - A74F7AF4999888176070F3ADBCC55388 /* HKDFKit-dummy.m */, - 45AFD503BB841D1B0D84BD56635BC5DE /* HKDFKit-prefix.pch */, - 9DBC5F6D63D57C6A1ECF3EFE10118FE7 /* HKDFKit-umbrella.h */, - 5E0135B65900659671AB09FFA6B30B9C /* HKDFKit-Unit-Tests-frameworks.sh */, - BC9BAF708820D41C5CE17F1ABA335E54 /* HKDFKit-Unit-Tests-Info.plist */, - 0E3EAD95A9DE40D2162F8D9282D0BFFD /* HKDFKit-Unit-Tests-prefix.pch */, - 059915BE482448B0437DAEA409708798 /* HKDFKit-Unit-Tests-resources.sh */, - 75B8E061266778D191BEC86848086304 /* HKDFKit.unit.xcconfig */, - 2C250F76123AE2A2FC2C935309A52292 /* Info.plist */, + 0694B6999E4359554F6977D6414BC00B /* OWSRequestFactory.h */, + 9043C08A6BE400D5C05D7A518515E28D /* OWSRequestFactory.m */, + 6B686B9DD7D4FAD9F658B01F8EAD74D2 /* TSRequest.h */, + C1790FAA277639A452B4CD57BDC3C0DD /* TSRequest.m */, ); - name = "Support Files"; - path = "../Target Support Files/HKDFKit"; + path = Requests; sourceTree = ""; }; - 31294F3DB2222EE9900665FBA208DB94 /* CrossProcessNotification */ = { + 33AE6FE5A7305BDE1AC4A5D5598547BC /* SSZipArchive */ = { isa = PBXGroup; children = ( - 0F0FF94C21621788F65678FE8C6FD7F9 /* YapDatabaseCrossProcessNotification.h */, - B08B827F80ABEBBA911EFB5D8D516BD4 /* YapDatabaseCrossProcessNotification.m */, - 6826753A7A83576B67BF8FDAB9516A80 /* YapDatabaseCrossProcessNotificationConnection.h */, - EEE90DD7011F5434AED45A5789AA9384 /* YapDatabaseCrossProcessNotificationConnection.m */, - 679CF6AA9E0D207AC0E2134C7C7B95B2 /* YapDatabaseCrossProcessNotificationPrivate.h */, - ED635705F38F7B826B993F085B5E39EE /* YapDatabaseCrossProcessNotificationTransaction.h */, - D5D0E453D8F5034F25AEC67F8ABD9741 /* YapDatabaseCrossProcessNotificationTransaction.m */, + 87ADB38C403E71D86B7C23FF3103E939 /* mz.h */, + 98D104A49DA005D2C599AD56569270C7 /* mz_compat.c */, + 68F906E407D325AE1D505C9CFA747FC5 /* mz_compat.h */, + C8C07EEF72CA3647D7EF90A6EA08F2B8 /* mz_crypt.c */, + BFDECBE4B37085DF2E2428127BDDB253 /* mz_crypt.h */, + 78BB599DE73371331D76A943E93D4474 /* mz_crypt_apple.c */, + 95CF535B9B7FFB769395ED4616102BB3 /* mz_os.c */, + 26F20124733FD1B6ABDA1F09CAE3AD9A /* mz_os.h */, + 8AB03542DEDBEEF97F41638F5DF8C979 /* mz_os_posix.c */, + 38938B3A1695AAC5C40E43B8061663A5 /* mz_strm.c */, + F99FBA27F50FC3C1AD1AAED4EA3F2715 /* mz_strm.h */, + AE88B87DF1548FA87C6363C1596C08EE /* mz_strm_buf.c */, + 00359797804BF371D17D83732B3DE258 /* mz_strm_buf.h */, + 76D7A6FD17AE6CF646205C8A6C22D11E /* mz_strm_mem.c */, + 67D3765FEAAB8E706B489A9DB0F651E5 /* mz_strm_mem.h */, + 819B4D37DABD518C23C96906928E3AF7 /* mz_strm_os.h */, + 527B02793A1B34278586B4D07571A830 /* mz_strm_os_posix.c */, + 0A368A6A70758B3681DF5254EC65143C /* mz_strm_pkcrypt.c */, + 94C6364B0ECF2BFD914322964E45835C /* mz_strm_pkcrypt.h */, + CEAC6B14C9D0FCFEBBB4908EDAE82B1E /* mz_strm_split.c */, + 92642E0B3D7F05656111DFEA9B10BCE8 /* mz_strm_split.h */, + 670E822328C8EE9F0779B9CE581B941F /* mz_strm_wzaes.c */, + 796C08EC3FED726DF8750AF7E774BA5F /* mz_strm_wzaes.h */, + 4C508355BA0A618F0E485DD9E319EBA1 /* mz_strm_zlib.c */, + B74A8F46260AE1578EB57BA8FD814BFB /* mz_strm_zlib.h */, + D93D5AD99D02E835CC05091E2D77E2FE /* mz_zip.c */, + 0092182CA7E7C771E1EB234293A9B716 /* mz_zip.h */, + 360DAEF81DEE8A0FF49D0E3E1787A2D2 /* mz_zip_rw.c */, + 2D59BB36DFFB0D7C1D9FDD29B9A83DB3 /* mz_zip_rw.h */, + FE58BDEF40CF839A5C7FEBD252FA5440 /* SSZipArchive.h */, + 0AF28D7FB0AC00875093816C2E1E0D3A /* SSZipArchive.m */, + 5E8827384050EBFF1E7704919E3C56DB /* SSZipCommon.h */, + 91BE9156CC6AF11874ED382ACB8332FD /* ZipArchive.h */, + 2CF2A1C2BBDE554FC3F72D20054E0768 /* Support Files */, ); - name = CrossProcessNotification; + path = SSZipArchive; sourceTree = ""; }; - 318609DB67654A572E90F28938D14E86 /* AutoView */ = { + 34638BDFD69AE2F8D2D9C74E2AE1A3F9 /* Tests */ = { isa = PBXGroup; children = ( - 0C516311947693C3C215F9AEF323C6BA /* YapDatabaseAutoView.h */, - F4BE2D51E5AD8DA8972B9AEC36C380AE /* YapDatabaseAutoView.m */, - 24F7A1AB24FBB019BAEF7F631ED22BE8 /* YapDatabaseAutoViewConnection.h */, - 1078481DE59A6AEB8A74F7B71D45D4BF /* YapDatabaseAutoViewConnection.m */, - 4B241F19FA4B8936CAADFFB8696B7BDC /* YapDatabaseAutoViewPrivate.h */, - 45F4AE0A69B188323592ADF387DCC07C /* YapDatabaseAutoViewTransaction.h */, - 3AD4746722076FAEECFEC2FDC0F7B1CB /* YapDatabaseAutoViewTransaction.m */, - B8E14394BB2A34B045958BE408824AFC /* YapDatabaseViewTypes.h */, - 899D372CB69CEEF199B0AC93F0A4EE7D /* YapDatabaseViewTypes.m */, + 4998D8C01703DD17ECE4AC767095771E /* AxolotlKitSwiftTests.swift */, + 761383AAED634F641119FAD1247C0EB7 /* ECCTests.m */, + 79A10B8083B7569F81898E82E014F725 /* ECKeyPair+ECKeyPairTesting.h */, + 352997CE865E67BE6B274C24049281A2 /* ECKeyPair+ECKeyPairTesting.m */, + 43D2C4F103EBA7127B1E44EFEA26DCAE /* HKDFTest.m */, + B080BBBF0546377D4E4BAA767359A569 /* PreKeyBundleTests.m */, + 6225709BB6F18F977BF92D41534D9F45 /* ProtobuffsTests.m */, + 5F25E50E498883C6EE07359F0939730C /* RatchetingSessionTest.m */, + 0C90EF36915F3F0CED8B8F8557FFAA69 /* SessionBuilderTests.m */, + 4D2D0B08BF60A32DDCB5591D3D143FB5 /* SessionCipherTest.m */, + 0073874ECA9291773745B9750CA83C0F /* WhisperMessageSerialization.m */, ); - name = AutoView; + name = Tests; sourceTree = ""; }; - 3558CB10EB7E18B9331442B83C5C625A /* TestUtils */ = { + 38ED4E8B8EDD2C9A3EDD5E87A436B289 /* TestUtils */ = { isa = PBXGroup; children = ( - BB1ED237E64E71D50139322F47F15481 /* Factories.swift */, - 9271EB6E5CA1212F30059C6F15B7095A /* FakeContactsManager.swift */, - 07C70DA485A19D6CE1CC45C5BAB0D736 /* MockSSKEnvironment.h */, - F96870EC7955392A356F7BD94489DC0F /* MockSSKEnvironment.m */, - 09A2C349314DB2E4AAB424C1F1D39440 /* NoopNotificationsManager.swift */, - E04792932A32C2AA35EAFB90AEFA0CD2 /* OWSFakeCallMessageHandler.h */, - CA34D58A59B0DE60CE5B204FC56EBB80 /* OWSFakeCallMessageHandler.m */, - 01F6331FBA2A795024E7ADD2483994FE /* OWSFakeContactsUpdater.h */, - 782672E8ECFCA66871950962C5A17A53 /* OWSFakeContactsUpdater.m */, - E8317E665B3F558868E834ED401E42EB /* OWSFakeMessageSender.h */, - 3840ED8D8DF0169E7A122DA6BA44F883 /* OWSFakeMessageSender.m */, - E3792C2FEF886F7756CC26636B3B4754 /* OWSFakeNetworkManager.h */, - 5C18A796F9B2FCD0BD574AD2BAE8CDC2 /* OWSFakeNetworkManager.m */, - 5F9A01019CAEDECD9088DADD75205672 /* OWSFakeProfileManager.h */, - C0C4F3DBDBEDDD2C12CDB130B8377041 /* OWSFakeProfileManager.m */, - 4F4786E7E41AA5497507A0758F893AAA /* OWSMockSyncManager.swift */, - BFFE9343827B639EECAFFB21A78C39E4 /* TestAppContext.h */, - 7E719C4EF42D5D665B482B56E3AF7E38 /* TestAppContext.m */, - EBA1CF9A6246D6709EC63BF90ABED675 /* TestKeychainStorage.swift */, + AC61492FDC4222CB99D49A27EA5FA4C3 /* Factories.swift */, + E3E59A793B646F47B14E750BF71CFA35 /* FakeContactsManager.swift */, + B9F65E4BEAC99780D7E84696AC571A9F /* MockSSKEnvironment.h */, + 39400421C76DE69F4C1E40AF191EDB03 /* MockSSKEnvironment.m */, + CFB006A439A7256EFEF2CDA21D5C0826 /* NoopNotificationsManager.swift */, + 2A51AA0D4730EE07D597A47A75F19324 /* OWSFakeCallMessageHandler.h */, + E61508F9100AF1A8C438C04BB965A853 /* OWSFakeCallMessageHandler.m */, + EEDFF7BC112BDFCEC7837070F38B84F6 /* OWSFakeContactsUpdater.h */, + 418D12FB05C14120F7C34B97B5B78B16 /* OWSFakeContactsUpdater.m */, + 7AB91ABED214B102BCD54472E0E1ED70 /* OWSFakeMessageSender.h */, + F66AEE7021D4FB5D974A19ED579825B4 /* OWSFakeMessageSender.m */, + 86F21E4CE796940EE08DE23192AE2311 /* OWSFakeNetworkManager.h */, + D704A2AE0D901CF145CE6D7DDA7CBFDB /* OWSFakeNetworkManager.m */, + 55AC9447ADA7BB667F3FFCC91A39593F /* OWSFakeProfileManager.h */, + EEB8DF446532037A949735E13B7631BA /* OWSFakeProfileManager.m */, + 157D0E1CD05E83E2B6D8082EA5E937F5 /* OWSMockSyncManager.swift */, + 06419236C28FF86B05777D9A503B44CC /* TestAppContext.h */, + 3D4D0650ADE75A48012593A7EBBE26AE /* TestAppContext.m */, + CE446B41E16596A01DD85A2FC62538A5 /* TestKeychainStorage.swift */, ); name = TestUtils; path = SignalServiceKit/src/TestUtils; sourceTree = ""; }; - 367C843717C3C000EB52EAB02C7BE6CD /* Pods-SignalShareExtension */ = { + 3A869A319347A3E463C8DAE045CD0C2E /* AxolotlStore */ = { isa = PBXGroup; children = ( - 735EF2ACC18C57607A72BADC2004FF56 /* Info.plist */, - E555BAC20F42816F2C5CA7499B23419F /* Pods-SignalShareExtension.modulemap */, - 69EAE0F0336196EBF27A6850A48EBDF0 /* Pods-SignalShareExtension-acknowledgements.markdown */, - FB66DD51A5B8749252F874FEBC470F44 /* Pods-SignalShareExtension-acknowledgements.plist */, - 84A11E57646029A88666DB52351150B3 /* Pods-SignalShareExtension-dummy.m */, - C4A19F2F3A9FEE3AF87ADA386C9D21FE /* Pods-SignalShareExtension-resources.sh */, - 94BF78CC142FE785240A7BB510BB71C9 /* Pods-SignalShareExtension-umbrella.h */, - A38E1A66B0B8BD78610FCC34BE076586 /* Pods-SignalShareExtension.app store release.xcconfig */, - 9B63EDD31EA4B96212B3A77DCF8ABAF8 /* Pods-SignalShareExtension.debug.xcconfig */, - 493CE2C1BE913628456B8AB3C065C681 /* Pods-SignalShareExtension.release.xcconfig */, + D6F9AAF4F843157DEB1D2F580ECB41BA /* OWSPrimaryStorage+Calling.h */, + EAA2F8C2B86AD435A6A975EF9FE16C82 /* OWSPrimaryStorage+Calling.m */, + 6AA92311DC0B8364533FC17CED34845B /* OWSPrimaryStorage+keyFromIntLong.h */, + B20DC6E2C71F1B1327D01DF1FF4AC0BA /* OWSPrimaryStorage+keyFromIntLong.m */, + 7F603763571AA65004394FA430F0B6F5 /* OWSPrimaryStorage+PreKeyStore.h */, + 83C655229C056795BF35B66D2BA12B28 /* OWSPrimaryStorage+PreKeyStore.m */, + 9BFA2B8806A2C7966C15CE6555CA1EC1 /* OWSPrimaryStorage+SessionStore.h */, + FB7A10A44A9A5B7BD043BA91A28D5415 /* OWSPrimaryStorage+SessionStore.m */, + ECBC422E82DCC449075501EB0E163D91 /* OWSPrimaryStorage+SignedPreKeyStore.h */, + A5AC926BAC19490D3705A40FB83A071B /* OWSPrimaryStorage+SignedPreKeyStore.m */, ); - name = "Pods-SignalShareExtension"; - path = "Target Support Files/Pods-SignalShareExtension"; + path = AxolotlStore; sourceTree = ""; }; - 381D0D688C91879B6550647CA0006545 /* Network */ = { + 40964EB4E74A9C685F2A08ADA1F226E6 /* SignalServiceKit */ = { isa = PBXGroup; children = ( - 29E981F0B35779D31664AC4A018B476D /* MessageSenderJobRecordTest.swift */, - 7B0A102943A30D06E3377CAB91307AAF /* MessageSendJobQueueTest.swift */, + C47687913B01578DEBE0266C88E6085F /* SignalServiceKit.h */, + 9F947CE805FB333673DE7FEDAF7EFC15 /* SSKEnvironment.h */, + D7EE1121D7447DC57437DBA390F1ABA6 /* SSKEnvironment.m */, + BFD9DF03D8048C9063C5E3C11022373C /* TSConstants.h */, + 41711EC81A8C33E48C7E2D40AAA99CA2 /* TSConstants.m */, + A641065EAE51CB1DCD784A99C9DC4D03 /* TSPrefix.h */, + A9BFF2422760DCE6E1ED73369DF6E44A /* Account */, + 2F70459671B923CB5A865374A09EBDF3 /* Contacts */, + A924BC6F5C6D61B3F848437328069888 /* Devices */, + 6B0706B491D0B86532EAEBB1B3D94D5B /* Loki */, + 55BDFE977C02E5CDF214EC4595185A66 /* Messages */, + BBDC3575719D168CB0BAB358B1529AD7 /* Network */, + 7C2B519E8DB36A3A01C7EEBEB63EF38C /* Pod */, + 61632B33DC8A4A6BD0099D24F7C312C7 /* Protocols */, + 5094B20F754B58940B4F8D2C3E79333C /* Protos */, + 4A2EFA563E3E3FF4E18A340E795B89EB /* Resources */, + 0757F2066A22CA5EA667903BA10C9DFE /* Security */, + 148212B7A8814F8033FA6174957E952B /* Storage */, + A3BB5E8ED882340ED64659C993B98837 /* Support Files */, + A60727FFB44113E3AB99F6792EE3B1E8 /* Tests */, + 38ED4E8B8EDD2C9A3EDD5E87A436B289 /* TestUtils */, + 1928A71D119C42C874EAE1B82989F240 /* Util */, ); - name = Network; - path = SignalServiceKit/tests/Network; + name = SignalServiceKit; + path = ..; sourceTree = ""; }; - 38B4B344A85082104C5E524726125F5D /* Frameworks */ = { + 4298C64E7D3B74BFE0884C50A8794557 /* Security */ = { isa = PBXGroup; children = ( - 82724E9A55D10EFDC411FDCF6D0AE75C /* Crashlytics.framework */, + 839AEEDE8A41FB387D452B3E987F11F2 /* AFSecurityPolicy.h */, + 63B42FF2B231E65CC475D6438A989461 /* AFSecurityPolicy.m */, ); - name = Frameworks; + name = Security; sourceTree = ""; }; - 399A5B73B40624A30DC3A9D0EFBE8F78 /* Support Files */ = { + 459A80B8FE704B15FE100FFDAC53FDC9 /* Tests */ = { isa = PBXGroup; children = ( - 495FE68F5A8CB9202CC89EC4E9F51C84 /* Curve25519Kit.modulemap */, - B4613EB6B91E6D103234B55EB64C21D0 /* Curve25519Kit.xcconfig */, - 358EB474C92B8F1A9B1DB43EC292F8DB /* Curve25519Kit-dummy.m */, - 05821A7FA940ACE625FD7F88DE7CED8B /* Curve25519Kit-prefix.pch */, - CB46FD4F938B3DFBEA38E1FED64D9AF7 /* Curve25519Kit-umbrella.h */, - D0A8F2F7184D2CD27B3041FE92F97060 /* Curve25519Kit-Unit-Tests-frameworks.sh */, - A26657F471767E597037292AA728BD77 /* Curve25519Kit-Unit-Tests-Info.plist */, - D0025288F26398DEA873B67EF76DCD6E /* Curve25519Kit-Unit-Tests-prefix.pch */, - 8A78F6FD83FDFBF003BF016AD46D39AD /* Curve25519Kit-Unit-Tests-resources.sh */, - 996ED08D21EC2D2C827DE397BD66DC4C /* Curve25519Kit.unit.xcconfig */, - 576B77A3C9663AC5BFC6DD4EB2BFC63B /* Info.plist */, + 2ABB27C02B931C54002635D9CA701850 /* Data+SMKTests.swift */, + 031C140A343DF1CD725DDA3A719A8FBB /* MessagePaddingTests.m */, + 4491CD6207FDB4A2881F9830DBFE6F73 /* SMKMiscTest.swift */, + 99C33014B5F8A7B017401B7090520F9B /* SMKObjCTest.m */, + 0EE2CEF911C116E1CE416D29F30A4BFD /* SMKSecretSessionCipherTest.swift */, + 9C7BCA9885439744E248BE23951ACFD1 /* SMKSenderCertificateTest.swift */, + 54404FB2C8F024B2A2EEED9311721D9A /* SMKServerCertificateTest.swift */, + 616578A2EADB8A2F4F2871851CC3952C /* SMKSessionCipherTest.swift */, + E9F8093345F960B32F9F6996387E4122 /* SMKTestUtils.swift */, + 1113D0452CEB22300A3F3AFB1F1C4564 /* SMKUDAccessKeyTest.swift */, ); - name = "Support Files"; - path = "../Target Support Files/Curve25519Kit"; + name = Tests; sourceTree = ""; }; - 399DF8EB82D971E0EFC4D195B4DB826C /* Storage */ = { + 4743D553C80CC212AC10A9FC2978D4A1 /* Support Files */ = { isa = PBXGroup; children = ( - 2B338243AC6ACC7643044A105F9C616B /* FullTextSearchFinder.swift */, - EF3333DC2503A7F6F4B3EFC4142FF639 /* OWSIncomingMessageFinder.h */, - 261FD7252756ADC481EFF746C3C219D0 /* OWSIncomingMessageFinder.m */, - 247D825B1837D96A6C97C9E6FA0EE29F /* OWSMediaGalleryFinder.h */, - 646D842E3AAFFACFFD9121CCA9645A36 /* OWSMediaGalleryFinder.m */, - E355C62E6BC51ADFD85781E71B23D77B /* OWSPrimaryStorage.h */, - 6FA222AE8C1F8A744B195426A560084A /* OWSPrimaryStorage.m */, - 68491FB661DC3FDE75075D6C4E7F6A7E /* OWSStorage.h */, - 8C7730BE3A578A02CC5480B35EF84C1C /* OWSStorage.m */, - DD55EB9A796ACDF68A73647DAFEA3160 /* OWSStorage+Subclass.h */, - 7B5D729334D37225EFDF079AB7448A31 /* SSKIncrementingIdFinder.swift */, - B5E30EB3A506B6E6B8C0895C78A79AA8 /* SSKJobRecord.h */, - 9D895993AA330C6C537FC65267B4EBF6 /* SSKJobRecord.m */, - A47A563C19FC34B021E85514A53EB162 /* SSKKeychainStorage.swift */, - 151183CD65D1026EA03F59D6F4E33C17 /* SSKMessageSenderJobRecord.h */, - D56C96E30C5CAD0EC3564B0B09E3EA58 /* SSKMessageSenderJobRecord.m */, - 8122BB8D8B39A1B6DC4D2FA7D5D54D85 /* TSDatabaseSecondaryIndexes.h */, - 30AD78F16BFA30E7E23972305B711DEC /* TSDatabaseSecondaryIndexes.m */, - E5B8A6C0F333D8F1A3CA9B054BCCEA7F /* TSDatabaseView.h */, - 336A934ADA930B34456BD10A5D7D3AEC /* TSDatabaseView.m */, - 7CBF27F5BAD1456ADFE984CFC2C0CF77 /* TSStorageHeaders.h */, - 879356C9C3F811347E1A4B779EC58559 /* TSStorageKeys.h */, - DF64D961115AD8A16AA0D087D8EC1665 /* TSYapDatabaseObject.h */, - 0B6A110446A112F296195DD6DAA40F39 /* TSYapDatabaseObject.m */, - 1F024AFC31350DD45E4781EF446ECF7E /* YapDatabaseConnection+OWS.h */, - A75F93F26853363419965BE173C24385 /* YapDatabaseConnection+OWS.m */, - 00E22FF732BB4AC9B24CE03877736C7D /* YapDatabaseTransaction+OWS.h */, - 87762C446F5EF566994FD451F1C34CE9 /* YapDatabaseTransaction+OWS.m */, - 99DE923210D2A5B216AC93FB0A20C9D1 /* AxolotlStore */, + AE0D4CF1CC84CA392A9FA283026FEBB0 /* Info.plist */, + D123F0B67BCA6427AC255C7DCDEF2E77 /* SwiftProtobuf.modulemap */, + 358A59D73CBD27A8C8DAAFD0D923D977 /* SwiftProtobuf.xcconfig */, + F9C726CCB7FEAA2147D0AF5B4407B531 /* SwiftProtobuf-dummy.m */, + CA7FF88E89962054C080EF2F42576584 /* SwiftProtobuf-prefix.pch */, + 99F0B8F9A32F69F79A8B39E1F5172D22 /* SwiftProtobuf-umbrella.h */, ); - name = Storage; - path = SignalServiceKit/src/Storage; + name = "Support Files"; + path = "../Target Support Files/SwiftProtobuf"; sourceTree = ""; }; - 3B0A831ACC87A0741B639787BFAEDE37 /* Mantle */ = { + 4907D76A0CF761775925786D92917DB6 /* Attachments */ = { isa = PBXGroup; children = ( - 1127D8DCD5B695CCC807A6D3ED1C744F /* Mantle.h */, - 17C68DAC6E54E19A56CFA518CA6A824F /* MTLJSONAdapter.h */, - 25D179BC2E71D1D66BFE2C3AC51A85FB /* MTLJSONAdapter.m */, - 0E96F49785317533346C070AFC4D55E0 /* MTLModel.h */, - 7B20B7C0287C2FA957B9B0535DA4CA98 /* MTLModel.m */, - A8769D2968E6D38F6ED26AA2013DA16A /* MTLModel+NSCoding.h */, - 4629EE63758C85000D1566B27CDB8FE8 /* MTLModel+NSCoding.m */, - DF39A77D23CC04B5A564303763644A93 /* MTLReflection.h */, - 2D9CC07100634A947940D6391CCC4982 /* MTLReflection.m */, - 5316E4F77A19230F93FBE83804382C09 /* MTLTransformerErrorHandling.h */, - 42542A5A68A83AE6675EA0F29BCCEF2F /* MTLTransformerErrorHandling.m */, - CD7A425FC83F684E3CB0B9C3AF45C250 /* MTLValueTransformer.h */, - 6371A608035D70BAC8C7C09ECCD3DD78 /* MTLValueTransformer.m */, - 26C9672B15E49D4FF15D95FF302C910D /* NSArray+MTLManipulationAdditions.h */, - 488DE69FD9CB297463FDFEB15C9EBE04 /* NSArray+MTLManipulationAdditions.m */, - 5E156A4E995EECB8C6FDE4DED5489A69 /* NSDictionary+MTLJSONKeyPath.h */, - 1027B2D6BE35A0793C125B384383E715 /* NSDictionary+MTLJSONKeyPath.m */, - F26DA07DF5B598DD3438A90A35D73ADF /* NSDictionary+MTLManipulationAdditions.h */, - 71D500C35B4EDDF1999AEEC71032CC76 /* NSDictionary+MTLManipulationAdditions.m */, - 1B789076D03430EDF905884E6B0EA378 /* NSDictionary+MTLMappingAdditions.h */, - 5C68C807B7C93F49DE414C7D9F2CE805 /* NSDictionary+MTLMappingAdditions.m */, - F9AEA4678F6CF4C3399ED9E51FDC8EF3 /* NSError+MTLModelException.h */, - BE5312CEA4690C8FAB76488EA6E48328 /* NSError+MTLModelException.m */, - 9B2853E91616973B0C1D025CBE963388 /* NSObject+MTLComparisonAdditions.h */, - 775B4AC32FC2EEF15F034D8EDB8BB6E1 /* NSObject+MTLComparisonAdditions.m */, - 59F62E64BAB7407C5BACA571E910C38B /* NSValueTransformer+MTLInversionAdditions.h */, - 89E20484BD52042B3D945E7E08F5CC28 /* NSValueTransformer+MTLInversionAdditions.m */, - 15AA4AFEF09976CEC436B2CBAA47B058 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */, - FDF58F1E645C83ECE3EC2B8D2C873BF8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */, - B5388F79ABAE5FB4FEB3EC3C0F51A895 /* extobjc */, - 61FAB23FC412B39DC793EF6C091DB5A5 /* Support Files */, + 99C1820B45CB93C53815334D47A09EBB /* OWSAttachmentDownloads.h */, + 3C8527D38482778FB470A971DDC3D1DE /* OWSAttachmentDownloads.m */, + 2C049B1C0BDA7EAAAEA890762C074379 /* OWSMediaUtils.swift */, + 52BD362153C4440F4F0194797E25EF13 /* OWSThumbnailService.swift */, + 1E3C6334E5EEB4C48CCA1795D430F426 /* TSAttachment.h */, + 1122AC86E134A0AB174ED033D288DBF5 /* TSAttachment.m */, + B4B11B597A8168030F1E53FCC81A7B00 /* TSAttachmentPointer.h */, + C8BBE92FDEBDD9376DB156DA00822B7F /* TSAttachmentPointer.m */, + CF0CCA9E129D37E1BCD8534634F2160D /* TSAttachmentStream.h */, + 4A98C9CDF7478E853EA689AB11BA606B /* TSAttachmentStream.m */, ); - path = Mantle; + path = Attachments; sourceTree = ""; }; - 3C31FB7CE44C3CB61F81215C277989B7 /* SearchResultsView */ = { + 4A2EFA563E3E3FF4E18A340E795B89EB /* Resources */ = { isa = PBXGroup; children = ( - FB3C9849330AF28CFB5B98164C4D06F7 /* YapDatabaseSearchQueue.h */, - 6BF8F143A8B66ED0BD9AE55C479E6F84 /* YapDatabaseSearchQueue.m */, - 019522652870C4A93CCEA1FF643E8FDE /* YapDatabaseSearchQueuePrivate.h */, - B98C89CFB503B20AF7272EF131716B0D /* YapDatabaseSearchResultsView.h */, - 1843275422AD29D90A8469D66A8712E0 /* YapDatabaseSearchResultsView.m */, - D881886CFE235D8719CD49A80A84E237 /* YapDatabaseSearchResultsViewConnection.h */, - CFF33AF19F5DEBFF1EE969827E2449E8 /* YapDatabaseSearchResultsViewConnection.m */, - C4ABDA89885EB7E86E313111F822AABF /* YapDatabaseSearchResultsViewOptions.h */, - 1462F06AC5A7A38F73D6D9C744CDDB4D /* YapDatabaseSearchResultsViewOptions.m */, - A26D0A331F1A8B706834F8802D1493E2 /* YapDatabaseSearchResultsViewPrivate.h */, - 31D41BE50697F457E1DE22E189D2088C /* YapDatabaseSearchResultsViewTransaction.h */, - 26F87741E5B6F18221A259A776FAC26E /* YapDatabaseSearchResultsViewTransaction.m */, + C80B68FDDA4B762740F3EA6C174189DD /* Resources */, + 84423448720732A096D40AFE8458EC62 /* src */, ); - name = SearchResultsView; + name = Resources; sourceTree = ""; }; - 3C52903585FD4D902256A87A79D49EE0 /* Extensions */ = { + 4A400774D011F6C6B6FF02A81282AF4A /* Certificates */ = { isa = PBXGroup; children = ( - 087ECDEC7DAF0A7C2E64117DE8C53883 /* ActionManager */, - 318609DB67654A572E90F28938D14E86 /* AutoView */, - 99556AFB96E01C142FD2D1B3F842BA5C /* CloudCore */, - E3C0AA39163B084CD7B0C50FB2B44567 /* CloudKit */, - C4A976EC7116B66FDE8055ADE8C31BA2 /* ConnectionPool */, - 0AE59EAD4824E875E2B3722E9805DA86 /* ConnectionProxy */, - 31294F3DB2222EE9900665FBA208DB94 /* CrossProcessNotification */, - 7159BEF03FBCA384155AA97264A0663D /* FilteredView */, - 998ACABD93F4335C9B91EA537E752B3B /* FullTextSearch */, - 203181A4BC4A4B90BA637015C22A3028 /* Hooks */, - 1B6FE91BF38B15DC952303C92FC42F58 /* ManualView */, - 88A6D1387DA839E8E7EB749F82EB2665 /* Relationships */, - DA9425AC26DA9A8E9C93F1053D4AF52C /* RTreeIndex */, - 3C31FB7CE44C3CB61F81215C277989B7 /* SearchResultsView */, - 891B3348803754C01DD10D26516C5F4D /* SecondaryIndex */, - 9CE416B98675A9C51ED3AC15D0340680 /* View */, + D44ED824FB31ADD217E61D2C70E3A60E /* DigiCertGlobalRootG2.crt */, + EF9DE47D10C0A1E4A5027AE1D79926D2 /* DigiCertSHA2HighAssuranceServerCA.crt */, + B6E6649425DBCAB3914CE9AE0D10E392 /* GIAG2.crt */, + 63A7604CBAA4C4C258CB87EB2D9EC436 /* GSR2.crt */, + 69180281065601EE5CC5C179CCF394D9 /* GSR4.crt */, + 6ECEF93230A9ABC500232DE581343272 /* GTSR1.crt */, + 4919ECCA45AD3A216CAF1F3F2F551342 /* GTSR2.crt */, + 59BFF5349D59B4F2423C95FD652EEAAD /* GTSR3.crt */, + 340902E0FB6E101430113192D23D7064 /* GTSR4.crt */, + 483C452787369B6A3CD5FECF54703BE1 /* ias-root.cer */, + 5B668E0D19549435387D6961B99F8171 /* SFSRootCAG2.crt */, + 5B96FD873E8272B5500A1983391154DD /* textsecure.cer */, ); - name = Extensions; + path = Certificates; sourceTree = ""; }; - 3E9F174122E4C4371D292701B2E8DB38 /* Tests */ = { + 4AD870AE33FDCDEEF3ADC530D5D222CF /* Mantle */ = { isa = PBXGroup; children = ( - C3245A8F4C106048AD3BFA0D704A69CE /* Curve25519KitSwiftTests.swift */, - 32E0A1B905791E4B8AF16CE75F5394A7 /* SigningTests.m */, + 164F967AAFF9FE9BB091295F72612DAE /* Mantle.h */, + DDEDA285B30963897F47E11D0DD33F79 /* MTLJSONAdapter.h */, + 65089D73CD69204C5E87CC32962FC071 /* MTLJSONAdapter.m */, + A8B1C6540076CF956EEB3030A06BD1C2 /* MTLModel.h */, + B7864E07B92881A1ABD68285F8287B22 /* MTLModel.m */, + 8F19D0005332E3E1281EF7FC37A3409E /* MTLModel+NSCoding.h */, + 7C19896B7223262F6AF0B6436B55312E /* MTLModel+NSCoding.m */, + 347F209B53DA94B0D98643C8C30AEFAD /* MTLReflection.h */, + EF01FF30AC116FEC7CDD6770446CF361 /* MTLReflection.m */, + A6000A25829DAB1FB3D391C2770CF019 /* MTLTransformerErrorHandling.h */, + 64B99E13FFCA977491E29E346A4CF385 /* MTLTransformerErrorHandling.m */, + 5A918BAB9ACE6699E4E4A2766695384E /* MTLValueTransformer.h */, + 2151D79B742394CF8520FC1E430F66CF /* MTLValueTransformer.m */, + 1B6F18AD07A6AE0A18DD23638D0F9C5D /* NSArray+MTLManipulationAdditions.h */, + E0ABB6F6B6667230BDA49A625608C594 /* NSArray+MTLManipulationAdditions.m */, + 9CD1077C9C472864A27AE1087A88F676 /* NSDictionary+MTLJSONKeyPath.h */, + D5E4F3B8B9D983D33A8ECB273CFA6B64 /* NSDictionary+MTLJSONKeyPath.m */, + 83D60F75F80FD936C2D492A65554D5D3 /* NSDictionary+MTLManipulationAdditions.h */, + 68FA0496DF1D709C89731CC3459CCB19 /* NSDictionary+MTLManipulationAdditions.m */, + 980569568FD76AB9DC9B88BFAD3E0AB7 /* NSDictionary+MTLMappingAdditions.h */, + 0AA9293EF9CDEE80191F5D9DAB4CAAB8 /* NSDictionary+MTLMappingAdditions.m */, + 9E84F540AE3BAB4B11077FD9B755025B /* NSError+MTLModelException.h */, + 8D8CA6937BDC23E93BFB2E95035530FE /* NSError+MTLModelException.m */, + 0CBA88C533B66F41A077CA3053D75161 /* NSObject+MTLComparisonAdditions.h */, + E22346CE7C5D358EBE0A05D23F503F44 /* NSObject+MTLComparisonAdditions.m */, + 5A3F2FB210FCFDD33DA4BC577D3E0FA6 /* NSValueTransformer+MTLInversionAdditions.h */, + 27F733753F2A4CBC4A99912A3EEB713F /* NSValueTransformer+MTLInversionAdditions.m */, + 8DAB0969EF3230A62CB8899E785EA0B8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */, + E188E0BB4325972AD6DC59DA05CCC04E /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */, + 087B835F8B5199B9F6121F6CBA5664B6 /* extobjc */, + AB10981C00986B9CA223FBB037547015 /* Support Files */, ); - name = Tests; + path = Mantle; sourceTree = ""; }; - 3EDB0682C3CC3F9E43ECC728A9DB68CE /* Support Files */ = { + 4C0AFCFEB39ED2EDEC949EB435193719 /* InvalidKeyMessages */ = { isa = PBXGroup; children = ( - BDC2AF55892C9F37439222E9D4A09574 /* Info.plist */, - F519CDE516542B08194EFDBAF17019D2 /* YapDatabase.modulemap */, - 33D64F9B0221290106B109FE5AC3EBE2 /* YapDatabase.xcconfig */, - 49754CFA7DA7F1B22A5FFF4D62C6090D /* YapDatabase-dummy.m */, - 347D55498D7D5CE5C8362AC3147472E2 /* YapDatabase-prefix.pch */, - 8A386F6D3B4B439F42311ECF2AB1A342 /* YapDatabase-umbrella.h */, + E6720F86A70FAFDD9441F8C17B87A61B /* TSInvalidIdentityKeyErrorMessage.h */, + 64EFDE2C09F4DC4A44793900F68C470F /* TSInvalidIdentityKeyErrorMessage.m */, + FB69F6CB5FDE31293BBEA3FAF152655F /* TSInvalidIdentityKeyReceivingErrorMessage.h */, + 9620E716ABF6321E0312E3EAFC2F3C40 /* TSInvalidIdentityKeyReceivingErrorMessage.m */, + 41918E62009DEDEAE79B32449C900261 /* TSInvalidIdentityKeySendingErrorMessage.h */, + 18B39F3A64006A932EB40CB1824F581F /* TSInvalidIdentityKeySendingErrorMessage.m */, ); - name = "Support Files"; - path = "../Target Support Files/YapDatabase"; + path = InvalidKeyMessages; sourceTree = ""; }; - 3F5BC96F18034211E4631813C3B339DE /* Reachability */ = { + 5094B20F754B58940B4F8D2C3E79333C /* Protos */ = { isa = PBXGroup; children = ( - 5AD2139A80553F7DB56C8D6EC2FCB781 /* Reachability.h */, - ADBED8679955132653E898BA4FADCE75 /* Reachability.m */, - B53028985A021F9D3498A57D6A6251EA /* Support Files */, + 1B7AE4B7A974A3A8C39B10A354B4C537 /* Generated */, ); - path = Reachability; + name = Protos; + path = SignalServiceKit/src/Protos; sourceTree = ""; }; - 4124BF1BC5AB017E91B4EFCEF29EA375 /* WebSockets */ = { + 5184EF856A2728D527C7ED0E67CF4360 /* Crypto */ = { isa = PBXGroup; children = ( - D506434A9EB69AC466F4F2643EA1A445 /* OWSWebSocket.h */, - 6D7C254CD080AD9AAB9F689B1A674669 /* OWSWebSocket.m */, - 07C44CCE83C848F3C193FA7EA5E5899D /* TSSocketManager.h */, - 2E0FE9C9FBB6DA5628A8EDB59F0E5CC4 /* TSSocketManager.m */, + 5749DB5885627F3B17B690C93CB73642 /* ECKeyPair+Loki.swift */, + C2534B381A760F3CB8C061A82C8B68A9 /* Mnemonic.swift */, + 94F08937CA9CEB694F230008D8D5CD73 /* ProofOfWork.swift */, + 938EDD512F6E74BCF153E7F74AE17C58 /* SessionCipher+Loki.m */, ); - path = WebSockets; + path = Crypto; sourceTree = ""; }; - 442232081A77FB85CBBCDA96E10501B0 /* UD */ = { + 52E394D45FB865563AA323E4D2B33D66 /* Support Files */ = { isa = PBXGroup; children = ( - FE88C7819338902709B389776D6FFFCF /* OWSRequestMaker.swift */, - 809E26BD177EE9EACD3212B9C6A12D2F /* OWSUDManager.swift */, + FF058C33BDB4447A779247DA0BEBC2AA /* AxolotlKit.modulemap */, + D9A2DB42F8F5C243B264B452F514E46B /* AxolotlKit.xcconfig */, + 38FAFAB43DC587E9EA73922A85C0FEA9 /* AxolotlKit-dummy.m */, + A139408622C6BACD87BE86B06E607798 /* AxolotlKit-prefix.pch */, + 0B6DA14385699320B1CE1F9D1295038D /* AxolotlKit-umbrella.h */, + 07D7ECE47935D54AB3ECDC8B8B145D72 /* AxolotlKit-Unit-Tests-frameworks.sh */, + 883E7AD2847C013484B12A1D1E1D0EF6 /* AxolotlKit-Unit-Tests-Info.plist */, + 185FA956B01621D8572B816ACCA59F80 /* AxolotlKit-Unit-Tests-prefix.pch */, + F0F0399FFDE2D3181E2B17010A3B4E52 /* AxolotlKit-Unit-Tests-resources.sh */, + 899A74B2C131EFEF7B2C8659972BA54D /* AxolotlKit.unit.xcconfig */, + DCC86836636E3585E84CB5E9856603B4 /* Info.plist */, ); - path = UD; + name = "Support Files"; + path = "../Target Support Files/AxolotlKit"; sourceTree = ""; }; - 4C4248FC09D3AE704DFFFC3D83731662 /* Resources */ = { + 532F5818D502985BB127F320B11851DD /* NVActivityIndicatorView */ = { isa = PBXGroup; children = ( - B3B4B5B1007635CC2E781799EE33F57E /* Certificates */, + 8F4BD400A871969E22B7B438FB75FC57 /* Presenter */, + DDD152CC960EA599D3CD679AFAE62858 /* Support Files */, ); - name = Resources; - path = SignalServiceKit/Resources; + path = NVActivityIndicatorView; sourceTree = ""; }; - 4FC13A444D2B7596D48AA1CB6C592399 /* NVActivityIndicatorView */ = { + 5414AE2BC25926C7FCBBBAB8D7AA2335 /* HKDFKit */ = { isa = PBXGroup; children = ( - 1AAF84B89B819829062DB28261C37A6B /* Presenter */, - 9D8F4520DA5D67D6F826E9768C445D42 /* Support Files */, + 1AB93A86B6942A1440213150C6CCED47 /* HKDFKit.h */, + 0A04DCC83C42891B430498E16FE9283F /* HKDFKit.m */, + B7E5BE3EDEC9BEB2A3CCE3945344F27C /* Support Files */, + CBCDD845D499453E4FD67A0D80BDA794 /* Tests */, ); - path = NVActivityIndicatorView; + path = HKDFKit; sourceTree = ""; }; - 507E6D06DD9F16F93A7E08544B921FD7 /* Loki */ = { + 54F58625A22B23291C2938308201000D /* SignalMetadataKit */ = { isa = PBXGroup; children = ( - 7EE8718799690855A0D7EF148D01ADDB /* Mnemonic */, + 7BDCFBF924204A9E00641C39 /* Loki */, + AE4BE0B138955AF01D814F04A89BF3FB /* ECPrivateKey.swift */, + 11320AB7EC5B0EC5A4E49F8CB4E86E86 /* ECPublicKey.swift */, + 68D3CE4987B342415197BF85BACFDC04 /* NSData+messagePadding.h */, + BBF9A7752C1A6F2EF0387037350A579B /* NSData+messagePadding.m */, + 69C0CD4B5C83814715B2FB70DC7D37AF /* OWSUnidentifiedDelivery.pb.swift */, + F8AFB9E6F94E639D4E09084556FAFF4A /* SMK-Bridging-Header.h */, + 1728A0FC264CD70CA50D0BCAD1BFD436 /* SMKCertificateValidator.swift */, + A5E389E3D15FE8DA3E2F25EC343C19BF /* SMKError.swift */, + CA62A2C2C71C28EC024E153EB721398B /* SMKProto.swift */, + 63E6F8E565826571F187845E36052692 /* SMKSecretSessionCipher.swift */, + 475E6B047AB67A7E429C2C1C5AF00AD3 /* SMKSenderCertificate.swift */, + 232A497FD9E833285108A64004FB6B1C /* SMKServerCertificate.swift */, + 610BC3CE3CF328EED904475AC65C69D2 /* SMKUDAccessKey.swift */, + 5D1B253F3395C70D685A604371B7AB3C /* SMKUnidentifiedSenderMessage.swift */, + 2BDE77E606842DF8A2F0E4A89F75F3EC /* SMKUnidentifiedSenderMessageContent.swift */, + 62AC4C7BBB101065623C1FD29FECA4D7 /* Support Files */, + 459A80B8FE704B15FE100FFDAC53FDC9 /* Tests */, ); - path = Loki; + path = SignalMetadataKit; sourceTree = ""; }; - 547B4C01253CD7A2F1E92FF882BB6FCE /* Resources */ = { + 55BDFE977C02E5CDF214EC4595185A66 /* Messages */ = { isa = PBXGroup; children = ( - 4C4248FC09D3AE704DFFFC3D83731662 /* Resources */, - A2EFB0AC010887833B79F1E7086E74CF /* src */, + 1D13CD39F588835309C27C1B959671F5 /* OWSAddToContactsOfferMessage.h */, + 4222C6CEB92E1E1782BA33700BFCBF43 /* OWSAddToContactsOfferMessage.m */, + 069163317E8229F78BD8F9D1A4A2651E /* OWSAddToProfileWhitelistOfferMessage.h */, + C2C15C0953FEE789BD08B93DBCCEBB6A /* OWSAddToProfileWhitelistOfferMessage.m */, + D6466BCC59FD4BF6F93F21383F1071D7 /* OWSBatchMessageProcessor.h */, + 68FCA1F5F245ECE5CC7F8EEB8AFB3617 /* OWSBatchMessageProcessor.m */, + F95C4F2C65A640D0E04F96DB93228EF2 /* OWSBlockingManager.h */, + B6EE6D86C53E435CB53F1EBE83D6802A /* OWSBlockingManager.m */, + F1A9F1CB5BA5EB28EA0C0111D2B92C51 /* OWSDisappearingMessagesFinder.h */, + E3F7E5A334EF2CA2420C17AA7053BFD7 /* OWSDisappearingMessagesFinder.m */, + F99A10E79516EC8B8DF6A24DE0E28750 /* OWSDisappearingMessagesJob.h */, + 3BF92FF546E7501599B4AFABF269C6FA /* OWSDisappearingMessagesJob.m */, + D5F9CC3F5873728B7CFD2C14641E6CE4 /* OWSFailedAttachmentDownloadsJob.h */, + EC01664282A4BCBD8FB54C793EDA64A7 /* OWSFailedAttachmentDownloadsJob.m */, + 11750CFD750BFB389914244AF5DCA518 /* OWSFailedMessagesJob.h */, + 7F06DFB17CF0F5485817E3619A71D681 /* OWSFailedMessagesJob.m */, + 59071DFCC8EEBB5304D8265A1967AB4A /* OWSIdentityManager.h */, + CCFCBF79410871845253A5E83235F2F7 /* OWSIdentityManager.m */, + 96669711A0BD05636F7754BCF41A24D7 /* OWSIncompleteCallsJob.h */, + CCBB6BBCB02DEB9D49968BA1666B1887 /* OWSIncompleteCallsJob.m */, + D02D33950D4BB905023506E56F425268 /* OWSMessageDecrypter.h */, + 2263ADFFA9544649FFEC23FC22A89CFF /* OWSMessageDecrypter.m */, + E86D03480839B5CD2EDE44AE992B608F /* OWSMessageHandler.h */, + 2FC45DF24F44D2E0B71BF56F3DC66E8F /* OWSMessageHandler.m */, + 0233C861F5B5DA2384D73F7807748F1F /* OWSMessageManager.h */, + 2EED2F340B286A537AD481D5B886CA53 /* OWSMessageManager.m */, + D46146CF83F610837DF34E5A8A20CB58 /* OWSMessageReceiver.h */, + 7542EF61F8B1E454EACF38496A5AE231 /* OWSMessageReceiver.m */, + EAD9A14ECA46198D89D8D9A8935A7FE0 /* OWSMessageSend.swift */, + E12D592A08C2F25FCFC10BE86A7E049A /* OWSMessageSender.h */, + 92AC2C29DFD853E7F5E1F54AE3572636 /* OWSMessageSender.m */, + B78C2F2F8297D52340DAD6F3C906B40E /* OWSMessageServiceParams.h */, + 31229205E824CFACD90FFA5916CE53CC /* OWSMessageServiceParams.m */, + 5552A83813B25BF1A4F2395A1C60843F /* OWSMessageUtils.h */, + B4C079D71C50C4C82AB0F1188F8ED3A7 /* OWSMessageUtils.m */, + 8163507CFFA435E61BBD02996B914E9E /* OWSOutgoingCallMessage.h */, + 86F76FA37A10B74D226BD318E45F836D /* OWSOutgoingCallMessage.m */, + 41042A5454A4BB42AC468E045EB9654E /* OWSOutgoingNullMessage.h */, + 018E1E1118862AFA57DDC458AFCCE733 /* OWSOutgoingNullMessage.m */, + 28327AAB94759E77CCEE71DD4BF07C0C /* OWSOutgoingReceiptManager.h */, + A9198F718E338FB8A3218F277F97C9AF /* OWSOutgoingReceiptManager.m */, + E16A01779815BFC31176196EA7B72D7B /* OWSProfileKeyMessage.h */, + 90AE2B46707CD008CDDB3049EB18BC10 /* OWSProfileKeyMessage.m */, + A7CE3D0A7292561DB231A23BD4C91AB1 /* OWSReadReceiptManager.h */, + 803E4395C90CA2A21691D52318E982DA /* OWSReadReceiptManager.m */, + 91229BA3419AD83EF55CD0DB0C6EF12F /* OWSReadTracking.h */, + 908256C090BC137B9CF805A52AE9D73A /* OWSSignalAddress.swift */, + 474059BC966F0967CA6958D13A11761C /* OWSUnknownContactBlockOfferMessage.h */, + 2BD8483E6DEEF3E014011BA66A1A25F0 /* OWSUnknownContactBlockOfferMessage.m */, + 8CC0EBF585B2AA1ED345487940A70D2A /* PreKeyBundle+jsonDict.h */, + 03150F3CFC18C35A31D4BA48AEF10E3A /* PreKeyBundle+jsonDict.m */, + 021F6334486036857F692E766E400B04 /* TSCall.h */, + 07B1EB012845C86CCB9289AC062B2754 /* TSCall.m */, + 0FC66095D4CF9CC00AFB510A1F6191F7 /* TSGroupModel.h */, + DF8CBFBF595FBA9DC508F93AD5856507 /* TSGroupModel.m */, + 1A3172B2A1B9DBEB85A90045E539D71A /* TypingIndicatorMessage.swift */, + 4907D76A0CF761775925786D92917DB6 /* Attachments */, + 9EF9921A0EA6DCCFFE3B209D6B6DACB3 /* DeviceSyncing */, + E2DED6B47C1B23D14CA38A40B8A65BF5 /* Interactions */, + 4C0AFCFEB39ED2EDEC949EB435193719 /* InvalidKeyMessages */, + EFE23944367379FEF6BECBE13D5B139D /* UD */, ); - name = Resources; + name = Messages; + path = SignalServiceKit/src/Messages; sourceTree = ""; }; - 559375D11971098C7969DD56AA454F59 /* DeviceSyncing */ = { + 57D136806D4D96F2D95DEFB93BCF2117 /* RTreeIndex */ = { isa = PBXGroup; children = ( - FA4EE58C46A5A490A0608A0F7CFFA6CB /* OWSIncomingSentMessageTranscript.h */, - 8994B9473CDE9B016BEA34D760FAFE71 /* OWSIncomingSentMessageTranscript.m */, - 1DBB84FB7DDF05C2CFFC0D2DAE29E31E /* OWSOutgoingSentMessageTranscript.h */, - 8C58CA521EE4BEA66628FD4B978A2F56 /* OWSOutgoingSentMessageTranscript.m */, - 01F349C2A1DF8CAB0626493509DEBA88 /* OWSOutgoingSyncMessage.h */, - F1FD23E5A7D183567C8CEE7A0F9E7211 /* OWSOutgoingSyncMessage.m */, - BC8DDDAAB67354D4B9478FF59D2318C6 /* OWSSyncConfigurationMessage.h */, - E3D48C29B92062D270A9D17C06F9CE5E /* OWSSyncConfigurationMessage.m */, - A3F661097290F4EE3E8206BB84B50CCA /* OWSSyncContactsMessage.h */, - 01853F9C3C7713C6C0E3444103048DA2 /* OWSSyncContactsMessage.m */, - B5769D7719CFEDBA528690606CB8C5FD /* OWSSyncGroupsMessage.h */, - 35B07A8D2AF82C7856E565A1BF0958BE /* OWSSyncGroupsMessage.m */, - 4FE8944E4E9B71270AA450FE6C64EB28 /* OWSSyncGroupsRequestMessage.h */, - 18FE75B619205E672A28A81A04DFE1E5 /* OWSSyncGroupsRequestMessage.m */, + 003D4693F8E6A36640DAA40631E7DB97 /* YapDatabaseRTreeIndex.h */, + F37A62E06A107433CD1790CEC48A931E /* YapDatabaseRTreeIndex.m */, + E8708739015E2A76728236B3511F4EA0 /* YapDatabaseRTreeIndexConnection.h */, + 796AAC4B70830469F6321B5C4279DFAE /* YapDatabaseRTreeIndexConnection.m */, + F42CFA321E1B4FE42A2A52F846D74DF2 /* YapDatabaseRTreeIndexHandler.h */, + BDFBDBF065DBBD1736705E9DD0D91748 /* YapDatabaseRTreeIndexHandler.m */, + 7E6B299A84AC08F9734119A9BE322E01 /* YapDatabaseRTreeIndexOptions.h */, + 0D6ADD9C653298DF77F6194C42A9B214 /* YapDatabaseRTreeIndexOptions.m */, + C22AE0ED262B59834E0DFBCEE548B252 /* YapDatabaseRTreeIndexPrivate.h */, + 3F9040EE9C56D08FB563869A7F5CC1D2 /* YapDatabaseRTreeIndexSetup.h */, + 454060411CE528B4033084304A3E133E /* YapDatabaseRTreeIndexSetup.m */, + E558BA4EBB561979B2A8719113CCD947 /* YapDatabaseRTreeIndexTransaction.h */, + EFEAFAA2D1980D61E234DAD4624840DD /* YapDatabaseRTreeIndexTransaction.m */, ); - path = DeviceSyncing; + name = RTreeIndex; sourceTree = ""; }; - 575EE29AECE6DADDE252B80BB0F1E203 /* Interactions */ = { + 585FFBA0521EEDB1E264FCE4F96DCA3A /* GoogleUtilities */ = { isa = PBXGroup; children = ( - 9B3EC8426279736894226D2C87C0AE1C /* OWSContact.h */, - AF721033622212C4346E454E98D68CFE /* OWSContact.m */, - 0D2EB00466FCD9098D6E117D16E6C7A4 /* OWSContact+Private.h */, - 80A8985C4FA9F083814A9FB6338BC856 /* OWSDisappearingConfigurationUpdateInfoMessage.h */, - 8D9BCAF8A6AE70873E602EC505A70B7E /* OWSDisappearingConfigurationUpdateInfoMessage.m */, - 89AAF2ECF7A2A2274D7663384642E023 /* OWSDisappearingMessagesConfigurationMessage.h */, - 1884AE45F6B0E1F71A7AC4484FC006FF /* OWSDisappearingMessagesConfigurationMessage.m */, - 01014B6B4EF3F33950E6F78B1FB4C392 /* OWSDynamicOutgoingMessage.h */, - B159399185B18CB528C2FDA2AE8C3E99 /* OWSDynamicOutgoingMessage.m */, - 3E671BF8A9811CCB9BA6897B4A726E0C /* OWSEndSessionMessage.h */, - C5A3AB72EEAA730293EFE742281ACC3C /* OWSEndSessionMessage.m */, - 66F0FCCA0BE62D42D6FEA2676E1C9FF6 /* OWSLinkPreview.swift */, - E96263FCFEB2D0A9B27D781C26EBD080 /* OWSVerificationStateChangeMessage.h */, - E132293D79A8D14CA21D0A86D7337A01 /* OWSVerificationStateChangeMessage.m */, - E0E53A3007FACA321372EBBCDC861943 /* TSErrorMessage.h */, - 7A8C64F19462BFDCC02B31A83C21F158 /* TSErrorMessage.m */, - 4B06FC04CBB666660C4D253BF4547825 /* TSErrorMessage_privateConstructor.h */, - CB9910EC1143C31490D0FD59347D8998 /* TSIncomingMessage.h */, - 06A97D97FC2A1D494AFEC038748F947B /* TSIncomingMessage.m */, - 5DDC65E58063EEF41F78902955C84EAE /* TSInfoMessage.h */, - EC26084CC32E995C75A0C3B56DD85DC9 /* TSInfoMessage.m */, - 72074DC389462E33BDCC6B1237869DFE /* TSInteraction.h */, - A784D27EDCF76881732C9D22B6B968C3 /* TSInteraction.m */, - B74CDCCCB0DB5C94AFAB2B11550D4DF6 /* TSMessage.h */, - DB35ECDA5AE35BFE69ABC6A9BE64E925 /* TSMessage.m */, - 2452B4F65545E02738D311EF03EA6BB2 /* TSOutgoingMessage.h */, - 19DED4270F3A4A991FD70BA53B7B92E0 /* TSOutgoingMessage.m */, - B74903D4BB664E40F75C5C3F5C5C3860 /* TSQuotedMessage.h */, - D423EBEF4B95EF4763D103BDD5107D2A /* TSQuotedMessage.m */, + 70E6F65EB986D32D2E433257BA01B76A /* Environment */, + 7D88232AE57DFB6E5B425371CDACD88C /* Logger */, + F28DE9C1B545BAE5A6AB908DB326FDE4 /* Support Files */, ); - path = Interactions; + path = GoogleUtilities; sourceTree = ""; }; - 5A5B360B4E8D4BEC9951C049CA6384E4 /* GCDWebServer */ = { + 5E9A43FE356DE37B013307EE5DB62271 /* Hooks */ = { isa = PBXGroup; children = ( - 90ED49659289E0F1C9D1C9930A9A0C0A /* Core */, - 8C0DE54B51B7BCAA3A989AAC6EE07BA0 /* Support Files */, + 2262E3DA8EDEE2A11034D836FEE961A5 /* YapDatabaseHooks.h */, + 205D440D235770F6D760CAE06E295F7A /* YapDatabaseHooks.m */, + A1B8F50B14F105E2F56684C233DB30D4 /* YapDatabaseHooksConnection.h */, + 585B8957DF21DD6F32F927FEE8C1C694 /* YapDatabaseHooksConnection.m */, + 907600F764B50037C4333A2535545D6D /* YapDatabaseHooksPrivate.h */, + AE7E3A4278B82EBB937B1BAC669B4BD9 /* YapDatabaseHooksTransaction.h */, + 66EB2D5D5EB739CC9D97BA977325FC7E /* YapDatabaseHooksTransaction.m */, ); - path = GCDWebServer; + name = Hooks; sourceTree = ""; }; - 5D2090E7B14F3BC41C1CD9191863928A /* Targets Support Files */ = { + 6033865614E9567402A9A0A3542F6108 /* PureLayout */ = { isa = PBXGroup; children = ( - 8F597D630D1EB532BE3924D6E2979038 /* Pods-Signal */, - E027674E9C957FEF448F26D55193428A /* Pods-SignalMessaging */, - 367C843717C3C000EB52EAB02C7BE6CD /* Pods-SignalShareExtension */, - 2ED4C196AFA2062DD6E9D6C68441D7C9 /* Pods-SignalTests */, + 2A929DFA0E7F0775B8A7611E92E627F9 /* ALView+PureLayout.h */, + 98B654DBB0F3186879DB4D2D52EA9343 /* ALView+PureLayout.m */, + 0BCF5961BE62C0AE56B5E63C026AFBE5 /* NSArray+PureLayout.h */, + 9363CACDBB3E9B8F64FBF6753EF39B16 /* NSArray+PureLayout.m */, + 13422D375E914409678486F73E16696D /* NSLayoutConstraint+PureLayout.h */, + 0C7ED0CF04D220E49944F26020293457 /* NSLayoutConstraint+PureLayout.m */, + 734B0FC5F62E219C97435DEE09A1BBAE /* PureLayout.h */, + 5505B8AED53E5A9306F26B3A4FAF95FB /* PureLayout+Internal.h */, + 4EF9D5A5A7B600E7402EF7ED713CD4A5 /* PureLayoutDefines.h */, + 793766258DD23364BDEB689134E5586E /* Support Files */, ); - name = "Targets Support Files"; + path = PureLayout; sourceTree = ""; }; - 602A74A3CAB16B42A383165DDF5A5004 /* GRKOpenSSLFramework */ = { + 61632B33DC8A4A6BD0099D24F7C312C7 /* Protocols */ = { isa = PBXGroup; children = ( - 242C619DB125EF4D578946C109F8B439 /* Frameworks */, + FB2C9C7C390ED2B52700047156BEC23B /* ContactsManagerProtocol.h */, + 2208BB513951C7884BA9B43744FB605C /* NotificationsProtocol.h */, + 6B5F9780EB6A4D9E7F66C99F92612387 /* OWSCallMessageHandler.h */, + B241D15B067AF39A7ACBCA721F15C87F /* ProfileManagerProtocol.h */, + 1E319C13705B3CFE38AABCDF13A80D28 /* ProtoUtils.h */, + ED890EC6703B0F989142D901169D2BBB /* ProtoUtils.m */, ); - path = GRKOpenSSLFramework; + name = Protocols; + path = SignalServiceKit/src/Protocols; sourceTree = ""; }; - 61FAB23FC412B39DC793EF6C091DB5A5 /* Support Files */ = { + 62AC4C7BBB101065623C1FD29FECA4D7 /* Support Files */ = { isa = PBXGroup; children = ( - 61214D7BD7A2728C9A19F7427D59F0F1 /* Info.plist */, - 3F717481D90C57205A242121A446F6D0 /* Mantle.modulemap */, - 4BF44DC334B93B24417F46856EA8F27C /* Mantle.xcconfig */, - 1384B1ECBC2F955AFF7B3E19DAE45371 /* Mantle-dummy.m */, - 6979E6883A7C2BA3584A6149ED1CE76F /* Mantle-prefix.pch */, - 0FEC124816C228DF2330A50B6E7182CE /* Mantle-umbrella.h */, + 77BB6FB49D263783FB2758816F8641A3 /* Info.plist */, + 1572A29535C7C5EE5F502D8D4F45AB75 /* SignalMetadataKit.modulemap */, + E713497EFC2616CDEA3727DE24E0C17B /* SignalMetadataKit.xcconfig */, + 4350237CCBED61F4901E44B8BE1D21BD /* SignalMetadataKit-dummy.m */, + 8AF589BB96328CC758625BF1D5930FD9 /* SignalMetadataKit-prefix.pch */, + D60C097DB7FBF12A762821A1A79982B3 /* SignalMetadataKit-umbrella.h */, + 7F4A6E37D8E4E19D57A08577138D62A2 /* SignalMetadataKit-Unit-Tests-frameworks.sh */, + 29B87040B8E0636CB674C20543EDC02C /* SignalMetadataKit-Unit-Tests-Info.plist */, + 55531E24A26840E77CF3CACE6B390E66 /* SignalMetadataKit-Unit-Tests-prefix.pch */, + 09E582CB6A28001EEB83154E8A26DD3E /* SignalMetadataKit-Unit-Tests-resources.sh */, + 29E279E5874831504FAF52A4C638D4BE /* SignalMetadataKit.unit.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/Mantle"; + path = "../Target Support Files/SignalMetadataKit"; sourceTree = ""; }; - 6A8C924647D4574F6678463204CA746A /* Foundation */ = { + 69CBC58BE303FBBD1B488923A3F329CA /* Support Files */ = { isa = PBXGroup; children = ( - 55BFE36D337A9CBF89DAB61CFB11C110 /* afterlife.swift */, - 7C652E007135335E6FB3E18002502C96 /* NSNotificationCenter+AnyPromise.h */, - 0BE693131FB40FE9AB195D369D73F45A /* NSNotificationCenter+AnyPromise.m */, - EE482490B7A11A9654BCD16FA08940C2 /* NSNotificationCenter+Promise.swift */, - 72840D2106BCF4F51C8DC907BF50FEBC /* NSObject+Promise.swift */, - 90A36B551DAF2FC8F3A12767E83FA3AF /* NSTask+AnyPromise.h */, - 31E2536F147CB4FDEECB0A150849BCEE /* NSTask+AnyPromise.m */, - 6B3F067B58B94EDF00CE42ED8492E215 /* NSURLSession+AnyPromise.h */, - 4F461F5E9907C58FED03519F0212ACAF /* NSURLSession+AnyPromise.m */, - BC51ABF8573B530E79CBAE02A5A98989 /* NSURLSession+Promise.swift */, - 4137D6A0BA111DB444252F2BFE632491 /* PMKFoundation.h */, - BF0D501A72C88ECC476096B1AAD4B820 /* Process+Promise.swift */, + C193C71309D8ED8C4536609D28DCB6E8 /* Info.plist */, + A8F19C43E851743779404B4A0849C08D /* SignalCoreKit.modulemap */, + 6E2F7C68DFA9827EB8D5C6C34708372D /* SignalCoreKit.xcconfig */, + D6D50EC3E626DD017834A1312DFBB856 /* SignalCoreKit-dummy.m */, + 5B3E710BAFA8DDFE3358B106C6F8EA3F /* SignalCoreKit-prefix.pch */, + 3E64E9FCD007AA415E755E40E3BAFE9C /* SignalCoreKit-umbrella.h */, + 27D91BBFC44796CB908E6711D0CED2CE /* SignalCoreKit-Unit-Tests-frameworks.sh */, + E26A603EA42160DF1BCE76EE27591482 /* SignalCoreKit-Unit-Tests-Info.plist */, + 9091B03F1B9D10C6600CF1FA415FB0E7 /* SignalCoreKit-Unit-Tests-prefix.pch */, + 1046CF85F4807258C5B0E141516C6774 /* SignalCoreKit-Unit-Tests-resources.sh */, + FC46CABD76299A080A4BA822508761E6 /* SignalCoreKit.unit.xcconfig */, ); - name = Foundation; + name = "Support Files"; + path = "../Target Support Files/SignalCoreKit"; sourceTree = ""; }; - 6AD5B90DD6E6CF34F10C5C9D6C48EF81 /* Protocols */ = { + 6AC7A1570107FAA3F8255ACF7885682F /* Foundation */ = { isa = PBXGroup; children = ( - DAADAD3C067668ADAFAD5D205BB33A1C /* ContactsManagerProtocol.h */, - 4FE2780C3BE91702B8E80A02B2C22878 /* NotificationsProtocol.h */, - D96B50915CE1AA3EE92787FF6CC13061 /* OWSCallMessageHandler.h */, - F9DAD6D52A6CE5D0F099D29AA7937B7F /* ProfileManagerProtocol.h */, - 1244A35166A57DA857A3D2F5728AE4C4 /* ProtoUtils.h */, - 32AAB9F55D1E0C668532AB5547B11E56 /* ProtoUtils.m */, + E3B77C4E9DAC16C48272F191CA8F85F8 /* afterlife.swift */, + E18BF09110D3A842DAEDC8B1B77F38EE /* NSNotificationCenter+AnyPromise.h */, + B5DB93A939681345D9AE378145026133 /* NSNotificationCenter+AnyPromise.m */, + D3EBDECBB0B3DDC68F3E7CE7CE4E98AE /* NSNotificationCenter+Promise.swift */, + DF752968EB8BEA27791E2A72E7339017 /* NSObject+Promise.swift */, + FD46F9DDA0A0B48E5AD4ED5E15BEF89D /* NSTask+AnyPromise.h */, + 542400A242038E196943C689A5C67E48 /* NSTask+AnyPromise.m */, + 0FD476B28AF49FED885CE8B0E15ACA92 /* NSURLSession+AnyPromise.h */, + 8D5257EA1E02DB7846D39ABC44EC6FDE /* NSURLSession+AnyPromise.m */, + D194D97B57B963E492AC540FAF10728D /* NSURLSession+Promise.swift */, + FDACEA7EA3C4DDA359982CBF8FFF09B8 /* PMKFoundation.h */, + 4C46EDB2B9EC14CEA4BB50F9E9C64583 /* Process+Promise.swift */, ); - name = Protocols; - path = SignalServiceKit/src/Protocols; + name = Foundation; sourceTree = ""; }; - 6BA33437983BD04F5242FBA697A55F18 /* Logger */ = { + 6B0706B491D0B86532EAEBB1B3D94D5B /* Loki */ = { isa = PBXGroup; children = ( - D338E9F7D2FCFEAB73B36094F09233DF /* GULLogger.h */, - E434C592B54E2DF1DC7676313BE1D0C6 /* GULLogger.m */, - 837460F5BE2024DF59F94275B38B63BE /* GULLoggerLevel.h */, + 1088A9AB7F153435422B0937CB5B18C7 /* API */, + 5184EF856A2728D527C7ED0E67CF4360 /* Crypto */, + E69250EAD16EC0A1F231C9A9BC985918 /* Database */, + 7978C522DDE4CD77FB4DD6A4EA4934AD /* Messaging */, + 1CAA9F1D473B357767D84F8A0D0F2A66 /* Shelved */, + 301591AA4EB2150A344251426218321C /* Utilities */, ); - name = Logger; + name = Loki; + path = SignalServiceKit/src/Loki; sourceTree = ""; }; - 6CF44C6E5B664D45DF8BDEFB4A10350E /* Support Files */ = { + 70E6F65EB986D32D2E433257BA01B76A /* Environment */ = { isa = PBXGroup; children = ( - 4A5654F3EA9A9AAB5F0F29C442198E28 /* AFNetworking.modulemap */, - 6F8ED8164FFB8D62C1AEBD5CB68090E5 /* AFNetworking.xcconfig */, - D41CA72CD6C659759009AAF23AF8358B /* AFNetworking-dummy.m */, - 39175E320E4B46FD8D7D823F0D5E0B56 /* AFNetworking-prefix.pch */, - D38090DFBAF7B9FB43B5021B5633688F /* AFNetworking-umbrella.h */, - 0DBF27AE12C7DBBC496BC92CF1734573 /* Info.plist */, + 78962F6D00247134D05884A55560C354 /* GULAppEnvironmentUtil.h */, + F50C0DAACED9FCFBDDC9CA58B167DED1 /* GULAppEnvironmentUtil.m */, ); - name = "Support Files"; - path = "../Target Support Files/AFNetworking"; + name = Environment; sourceTree = ""; }; - 6E4D370F755F3BE6FA75FF2999211550 /* Contacts */ = { + 7101518BEC7548671692494D083A2A8B /* YYImage */ = { isa = PBXGroup; children = ( - CBFEAF0505EB846FC23D829EDE57DBA1 /* ContactSortingTest.m */, - AB74CF993FF7500407F4A0BBB086D94B /* OWSDisappearingMessagesConfigurationTest.m */, - EADE1708BFB613708F8411F9E7219CAA /* PhoneNumberTest.m */, - 9E3A0DB467A0B5EDE6273CFB1AC10930 /* PhoneNumberUtilTest.m */, - 7C2CC56A67FD148E2258AB05F3FF8250 /* SignalRecipientTest.m */, - F04914F2DAE246B273D9CA1A39388DD8 /* TSContactThreadTest.m */, - E5E27786F53CAD9DE7EC8AC50CD1D0E9 /* TSGroupThreadTest.m */, - 6EE18AD8D5DFC777B54922F68D5F9E92 /* TSThreadTest.m */, + C4736F4955412B8147F73F2614A2A46F /* Core */, + 88C5AC914EC9740CE3E2FDE82A4B7A6A /* Support Files */, ); - name = Contacts; - path = SignalServiceKit/tests/Contacts; + path = YYImage; sourceTree = ""; }; - 7071A9D592A56702F7F1192917B90B32 /* CryptoSwift */ = { + 7174349BF980C2E8D2728E8ED29F2F92 /* Storage */ = { isa = PBXGroup; children = ( - EFF26D8A41C30007BB7C8FF0267A801E /* AEAD.swift */, - DB9764E7C9786C992A785C878636C61E /* AEADChaCha20Poly1305.swift */, - 66D5E0980AED5FE6CB0FD6F445B9573F /* AES.swift */, - E87B00C07695348AB27C5B5E2968FB45 /* AES+Foundation.swift */, - 3FBCC6E42B5D29EB7C1F03C18AFD93F2 /* AES.Cryptors.swift */, - A2144FBF7339F60F36F203D016A4F2D5 /* Array+Extension.swift */, - 553B36161F2D03B5945170D698D19C89 /* Array+Foundation.swift */, - 9588F598A5379E577CF54E2898B25E11 /* Authenticator.swift */, - C32B22C1146F4D40B78E1600F0F77A32 /* BatchedCollection.swift */, - 991C292F5ACA20C5726C63CD775017C7 /* Bit.swift */, - 4DDC39E9D96ACEB08BC591B0468B64BC /* BlockCipher.swift */, - 852DF02E684864C411221A5AA9B85F20 /* BlockDecryptor.swift */, - ED9876422ADF9C64794795B75FA01BF6 /* BlockEncryptor.swift */, - F52449091142E171BCA47B19240A70CF /* BlockMode.swift */, - 4D67C064D913627F74DAD370151C3556 /* BlockModeOptions.swift */, - 49F10CBE9F870D72953178276B35F82C /* Blowfish.swift */, - A3AFC90CDE60BD0FAACBE6A0E5CE4617 /* Blowfish+Foundation.swift */, - FD45F0E204366D55BBB7B82F0854EB31 /* CBC.swift */, - 0D85E5241F8A92CC7310811E26834DA8 /* CBCMAC.swift */, - 86AD29CD30DB35C0576C70BA364EFE36 /* CCM.swift */, - AE8A1BE8035D9DAC40B30425C261D61C /* CFB.swift */, - A96DA1947836467E17FDEFE6266ECAEC /* ChaCha20.swift */, - 7DF74795470B9FE4E728913AC0AF15DE /* ChaCha20+Foundation.swift */, - 1CA7DB4D573C975123ABCC82360FB409 /* Checksum.swift */, - 2220D5A9DEEDCD1017683E928663990F /* Cipher.swift */, - D5869F2671232FD8B696028C6D101353 /* CipherModeWorker.swift */, - 071029F5FFAFE3CC5DDA37C1743FFAE3 /* CMAC.swift */, - F18DD72F5662FC5E842D3170FF1942F6 /* Collection+Extension.swift */, - 80A81E44501AC2362620EAB28837DC54 /* CompactMap.swift */, - 62C907D7FA38DD40614F51BF5C65C59F /* Cryptor.swift */, - 89431B7AC65D91AAEAAA55DDAAE83E49 /* Cryptors.swift */, - E36E3BF4107BBA586BB9BBB23845B923 /* CTR.swift */, - 8F6580B8944477F05BF4E6C3B0A6F12E /* Data+Extension.swift */, - F8E37CD510C20D7DF1B8C4538508AD98 /* Digest.swift */, - 7ADE78913CC1F331ADC0E7DB4B4B9338 /* DigestType.swift */, - 311EEE5A80D2A1962871A5BD42666342 /* ECB.swift */, - 593BDD7F3F2F225C0107E60D9295B180 /* GCM.swift */, - 11D0DE43A95786197F0A6353A66BE841 /* Generics.swift */, - FB2C213D7360B50A137A689BE067F6E6 /* HKDF.swift */, - 7DCE2915B9BAC7FA81725D0254B62303 /* HMAC.swift */, - 8949F9C6ECFEC333290EC51E5307B295 /* HMAC+Foundation.swift */, - 03511C54A2476B424E84A2DC65A01DDC /* Int+Extension.swift */, - 78A37538CC7E1A401665CE46A28FC511 /* MD5.swift */, - DB6D9168B1AA412A636F4CD90CD6F9E4 /* NoPadding.swift */, - 954D1A914F143ED794C048D60FCEB263 /* OFB.swift */, - 5466C59F812A5D3B99E6ACD89D70C7BC /* Operators.swift */, - 54DF6D4339C9DB064328927499F3DF32 /* Padding.swift */, - 3F48D1F1B6112CA6428AF64118B2B014 /* PBKDF1.swift */, - 338696C772A8AD46E59905D7C510B226 /* PBKDF2.swift */, - 6211D7850271F487429C404128AC4F82 /* PCBC.swift */, - 909E86550FD958133D8CC622FC8AA8BE /* PKCS5.swift */, - 29715EA23EDAB97C21E54FB39075CDF6 /* PKCS7.swift */, - D03417BA24E78BE59CCD409ADDB24055 /* PKCS7Padding.swift */, - 08AA83417860F0AB48A29C7CE5812E0E /* Poly1305.swift */, - 9308EDE34A2555210A3212A6E0A30F5E /* Rabbit.swift */, - 8CD7D1BB2F5102B87274FAC5B2D2C424 /* Rabbit+Foundation.swift */, - A33CC7FA4FF3CE20741B522F759A7B78 /* RandomBytesSequence.swift */, - 6C52B1D13C964ADC6E75D4400E74B148 /* Scrypt.swift */, - 5883071CA951ED9B7BF433AB5C383A50 /* SecureBytes.swift */, - 314EF9BEED5F381E40FCC6662D62551B /* SHA1.swift */, - D46256B6EE87D67A84ED23191334E817 /* SHA2.swift */, - 18F53D4E2D908074330A08C1F39A69BD /* SHA3.swift */, - 4F6D8A64BDD0A09EA4D030FB78FF6083 /* StreamDecryptor.swift */, - B9E8FB9C1855E118814AF8255EB46839 /* StreamEncryptor.swift */, - 65F13B6D7C7F8D95333E656388A5376F /* String+Extension.swift */, - CA277F108EBAFAB2BA89E7E0FEB24925 /* String+FoundationExtension.swift */, - 1290DF694FF7ECAC3C40EF459E7AEFD6 /* UInt128.swift */, - 0CBF32175C351034EB5C6A35F8E144DB /* UInt16+Extension.swift */, - AED2357E181C18EEFF7ED78892A65C40 /* UInt32+Extension.swift */, - C5738AC9666EBA2CCDCCDE57B25388A0 /* UInt64+Extension.swift */, - 6033CAA245835775574B109BA4D4D0ED /* UInt8+Extension.swift */, - D83A00E147D9D9BEEA510B7EAD66C473 /* Updatable.swift */, - 4DA63EAE3AEE83655675A0E8D6F45F14 /* Utils.swift */, - 6E42CA4977EDA8C796B04127CFE4D9B6 /* Utils+Foundation.swift */, - 839B024AE0629F6C686DD67FC13837F3 /* ZeroPadding.swift */, - 95CE1419E437D5BE530211E296E15031 /* Support Files */, + 69A86ABA8924C01B2C61C4770DB432CA /* TSStorageIdentityKeyStoreTests.m */, + 0336A81A1FE18F74C70C95DBDFECEDF0 /* TSStoragePreKeyStoreTests.m */, ); - path = CryptoSwift; + name = Storage; + path = SignalServiceKit/tests/Storage; sourceTree = ""; }; - 7159BEF03FBCA384155AA97264A0663D /* FilteredView */ = { + 748EBF49AF1DA51858FFB08A9A3746B7 /* Mnemonic */ = { isa = PBXGroup; children = ( - 62F1A01ADBAEB102BE660E8D2D0AC4CA /* YapDatabaseFilteredView.h */, - 2A0096EDF167D6A9055EFF48264BEE21 /* YapDatabaseFilteredView.m */, - 2E8B2664B0166EF0798858C1BE3D80B7 /* YapDatabaseFilteredViewConnection.h */, - 5BA616EA96B4574E110507368CDACD38 /* YapDatabaseFilteredViewConnection.m */, - 854FAFEAA173FD89FD816EDD4B82760A /* YapDatabaseFilteredViewPrivate.h */, - FFD7A3E80B68A6EB8818CBA3051A9B3A /* YapDatabaseFilteredViewTransaction.h */, - 966A33C977967803C6756D4F46D51CB5 /* YapDatabaseFilteredViewTransaction.m */, - FE00DEB16953120FD5EC5F8125AE8EAE /* YapDatabaseFilteredViewTypes.h */, - 8D10AB795B7D3DCFAE96799C2239D399 /* YapDatabaseFilteredViewTypes.m */, + AFFF3C68CA9762627C6FAFD0483EBA0C /* english.txt */, + C4343C9C1EFCE16404755FEEE2A1DD3F /* japanese.txt */, + 38AFAABE95F5BD3C2293A4343A40C45C /* portuguese.txt */, + A0DF1596CA2B97964A42F6F4A524E6A4 /* spanish.txt */, ); - name = FilteredView; + path = Mnemonic; sourceTree = ""; }; - 7678DD5DCCA4D505C9A41C18F51997C5 /* API */ = { + 77C8AB9E20A4AD4892EF511756D44F22 /* Support Files */ = { isa = PBXGroup; children = ( - A5DB8B6CCB6FE86EB367E8C5771D233D /* NetworkManager.swift */, - 0A570B819B2DF67227DEE1FDB6787685 /* OWSDeviceProvisioningCodeService.h */, - A49BF5644E47ADAD39FAA1A589113F87 /* OWSDeviceProvisioningCodeService.m */, - A980464815695B983F9B954A3040757C /* OWSDeviceProvisioningService.h */, - E7BBA174BEF1030442B563E74167215D /* OWSDeviceProvisioningService.m */, - DB129A1DE4AF3C483C875C80D98C4332 /* OWSDevicesService.h */, - F07B47DF129A042224820B0ADB06CF23 /* OWSDevicesService.m */, - 7720ED347A0107A159445C3DF4EB46C2 /* OWSRequestBuilder.h */, - EB7D82308FA9E1EEC8772BAAE40C7A3A /* OWSRequestBuilder.m */, - 7104E548D8FDCCC5C80BBD4A50753937 /* OWSUploadOperation.h */, - 055B252DC7EC3D798AF50B4406A51D41 /* OWSUploadOperation.m */, - 82CB437331B4F6A4F638F6549165D21C /* SignalServiceProfile.swift */, - 4B5065FEB8998FDD64B3BD80B9A7784D /* TSNetworkManager.h */, - FD791A30C2274476FAAC8E27662E15C8 /* TSNetworkManager.m */, - 7B786CFF945A3005B033B84C39DBD35C /* Requests */, + 695F2A903F1748B109501D99A609854D /* Info.plist */, + BCFE5B2841669ABF0D9D518BF768B4A2 /* Reachability.modulemap */, + 1E93B8784C588ECEFD6457703D0BEA5A /* Reachability.xcconfig */, + F646B4B6FCD10071FB07787B643F2D82 /* Reachability-dummy.m */, + F1DBFD8A7B6A80B3778DE74CAFE1EE14 /* Reachability-prefix.pch */, + 25B78976E3034421E706E1B0BDD30B72 /* Reachability-umbrella.h */, ); - path = API; + name = "Support Files"; + path = "../Target Support Files/Reachability"; sourceTree = ""; }; - 77983B6BACE3D380AF84F112C228472E /* Serialization */ = { + 7887B343075598634C7E315EA8F8B64E /* AxolotlKit */ = { isa = PBXGroup; children = ( - 9B7EC6CAFD9C5E539F889ACE5185B2BB /* AFURLRequestSerialization.h */, - 9C62F73A0CC58C5D81D3336A495ED56B /* AFURLRequestSerialization.m */, - A9D6DC86E320DF9FAAFAE21B2657D5B8 /* AFURLResponseSerialization.h */, - C1A661E4114A7DC1561866D784EE9ECE /* AFURLResponseSerialization.m */, + B103E938632823FAC6B35C92E96000E8 /* AES-CBC.h */, + 7750DBA0935969E4E24A960890274EE1 /* AES-CBC.m */, + 9532AF75D18328D01C20E868D5D0811D /* AliceAxolotlParameters.h */, + 6F5BB5D17A830593B66179EA2E65B5BB /* AliceAxolotlParameters.m */, + 0C8E1D386F2BCF44F86C260AE672EEED /* AxolotlExceptions.h */, + 16CE9AC42DA2359C434A0DF951F53C51 /* AxolotlParameters.h */, + F6522EDB9FC27E3D9020A71F3F9FA14E /* AxolotlStore.h */, + AE2AF3033B3533660F695CFF30550207 /* BobAxolotlParameters.h */, + E78BF696F5651613E80C102DA5FAACE5 /* BobAxolotlParameters.m */, + C7DC8C2100A288FC3A3C8BCE40DC60FD /* Chain.h */, + 48D7308337DCA363278BBDEB207B9661 /* ChainAndIndex.h */, + B3B97A30C50986F1EC0C93522DB434D9 /* ChainAndIndex.m */, + 11FFE05E66B8C87ABEC24E9AFDFFB15B /* ChainKey.h */, + 65A763D468885010252AEABE9925F109 /* ChainKey.m */, + C984F10529B24C1EE06A0F769FBD77D8 /* CipherMessage.h */, + DE52C111D3F081C20A9A61E33DB75DC6 /* Constants.h */, + 216A35F644E9E3DB7E0A9C54C67A6212 /* IdentityKeyStore.h */, + 5AA3E3A977D7F1E383C3A1EF59910176 /* LokiFriendRequestMessage.h */, + 2C7EF317332C1CBF0442113D31E76552 /* LokiFriendRequestMessage.m */, + FA73A7D61688D8DC872B099A485B4CC1 /* MessageKeys.h */, + B59E88A6F078C455F734815BE38A024E /* MessageKeys.m */, + C8B5A43EE9F27493AC2464D1CC7F18ED /* NSData+keyVersionByte.h */, + 2270D96B6E36FCE2A6EFA268F5700FFA /* NSData+keyVersionByte.m */, + 3148D19EE00A9B9749EF1F21BEB4FA41 /* PreKeyBundle.h */, + 5CB6075FF599B1B2C863807A886D83F7 /* PreKeyBundle.m */, + 4ACC727FF94444619B3C25570C73BF43 /* PreKeyRecord.h */, + C14314BD4BD1D66796E9CE3A4568D2D1 /* PreKeyRecord.m */, + B39B9129BD96150ABF44C21C5F0807D0 /* PreKeyStore.h */, + C801360E523A27760275A306B45BD8C9 /* PreKeyWhisperMessage.h */, + 2DCEBB73D15EAD178A1341CCA5BA8B51 /* PreKeyWhisperMessage.m */, + 3638EC025552CA5E7328F7E1F79F504D /* RatchetingSession.h */, + 4BB5CD9DE2D0E219FAD64860EAF962EA /* RatchetingSession.m */, + 34A7647FF725F0FABF71A8AF21E60EB6 /* ReceivingChain.h */, + 883922EBDEA4E855F07198B37FF9B3A1 /* ReceivingChain.m */, + ED40A71A2F957993F8EFD7B6CBACEB68 /* RKCK.h */, + B518EEE74CFF1C17640A6459B8539ECB /* RKCK.m */, + EC54F42C6C18D2738704C95B2E6ACCDA /* RootKey.h */, + 81E89EC26192548CB4F0AE9E1101EF12 /* RootKey.m */, + DB036B3AB4346C667E4DFD7F4C110FA8 /* SendingChain.h */, + CD76B7520B6AEF41B86DDCC390B6E761 /* SendingChain.m */, + A219050BE03C07F9F785A7EF3487BB9B /* SerializationUtilities.h */, + B7875289BD421941FBC20497F536B33E /* SerializationUtilities.m */, + C295DCF50D17EC0F4E1FD3FD717A7250 /* SessionBuilder.h */, + 1B799138B7DE86D6A6F644A869EF3A7D /* SessionBuilder.m */, + 71C563809C62060712A0CF89A9CC8964 /* SessionCipher.h */, + EBEC8A9481E2A3A04625E261CB76DD3C /* SessionCipher.m */, + C9BC6ED0B0CB87F33F6CA3CFF52DB801 /* SessionRecord.h */, + DDCE1278AE56A54F909A9FF18A149202 /* SessionRecord.m */, + 7E3E2C1CB3EDE7BED63212487A73BC3A /* SessionState.h */, + 772594CDDB61289819FAFBBF674E43C7 /* SessionState.m */, + 721700DA40586697F65D843BAFFCD992 /* SessionStore.h */, + FBBE648FA4BFB87E6268CD5AE1B22711 /* SignedPrekeyRecord.h */, + 41F047CA32CD78F83D8EE87597A2875C /* SignedPrekeyRecord.m */, + CECFEF17D3016932C94A23ECE569310D /* SignedPreKeyStore.h */, + 1E7738548C29F7A899098BBA1ACAF3D7 /* SPK-Bridging-Header.h */, + 03162221A97204F4C620E0CD3E71004F /* SPKMockProtocolStore.h */, + D743C47DE691FA9CAE7C1234349A1DC0 /* SPKMockProtocolStore.m */, + 4B515D322C1423D271193E57A016D3FD /* SPKProto.swift */, + 6B9F3254A9F85937C31C15A0A19822D3 /* TSDerivedSecrets.h */, + 9DEE22A19AC81D812574FD6FE73538D1 /* TSDerivedSecrets.m */, + F128D88F6B3AD9E7D01FF245D6E62512 /* WhisperMessage.h */, + A0A60E631921F29CB06A22FB5654AF85 /* WhisperMessage.m */, + 388FB5ECCCDAFEE9EC3586EA344DBEC8 /* WhisperTextProtocol.pb.swift */, + 52E394D45FB865563AA323E4D2B33D66 /* Support Files */, + 34638BDFD69AE2F8D2D9C74E2AE1A3F9 /* Tests */, ); - name = Serialization; + path = AxolotlKit; sourceTree = ""; }; - 7B786CFF945A3005B033B84C39DBD35C /* Requests */ = { + 793766258DD23364BDEB689134E5586E /* Support Files */ = { isa = PBXGroup; children = ( - 2A72A510D8BEC122D6365BD5F991EFCA /* OWSRequestFactory.h */, - E84F2527C9022ED5EBADFB8631ED83D4 /* OWSRequestFactory.m */, - 6222FB99A6CAC88847834A45642C831C /* TSRequest.h */, - 5B623CE6EDCDF2F4A55FF1DBDCE24C84 /* TSRequest.m */, + 260D592B8C0D827C77189745E92182BA /* Info.plist */, + AB73F1C7F811C80B7C63D83F648DC709 /* PureLayout.modulemap */, + ECC7CCD50D9F888C9C921619C2A27EF0 /* PureLayout.xcconfig */, + 286A9D573E77C364DB4E4AD64A3D402C /* PureLayout-dummy.m */, + 9FCF38741E2FBFC8F59D8BB3CEBEAA0D /* PureLayout-prefix.pch */, + F69D6ADAA0B1F93609B01E85AF1A4DB0 /* PureLayout-umbrella.h */, ); - path = Requests; + name = "Support Files"; + path = "../Target Support Files/PureLayout"; sourceTree = ""; }; - 7BF24807591B01F97B26C25925686B0A /* UIKit */ = { + 7978C522DDE4CD77FB4DD6A4EA4934AD /* Messaging */ = { isa = PBXGroup; children = ( - 6595D73E4A325559B1A725306B115376 /* AFAutoPurgingImageCache.h */, - 1EF5A9F1AB08EFB9BA5338DBFC10FC34 /* AFAutoPurgingImageCache.m */, - F9150A52E2CE28C05A887FC6F6A29285 /* AFImageDownloader.h */, - 7DBA35158E1C915E70FAA15824702DD8 /* AFImageDownloader.m */, - 55237BFC1CF64C979A43F7A43EE44EFB /* AFNetworkActivityIndicatorManager.h */, - E63E5BCC2B942734F8F7AAEB2E6F6CCB /* AFNetworkActivityIndicatorManager.m */, - E2BC2A6FDFE2A27511B3AE2D1EB354BC /* UIActivityIndicatorView+AFNetworking.h */, - AD0B44C7D43C87DC0C732A63ED410E1C /* UIActivityIndicatorView+AFNetworking.m */, - 7BF59EF7E659611F248B2F7AD73C30AC /* UIButton+AFNetworking.h */, - 39F2F5905D5002758E3400F5D54F5181 /* UIButton+AFNetworking.m */, - F960B005A453E431F9F75784CB9DB136 /* UIImage+AFNetworking.h */, - DDACEBF7F86BCA4A3DC60F5B1155073A /* UIImageView+AFNetworking.h */, - 259E13E084BFD450CBE05A38413B6976 /* UIImageView+AFNetworking.m */, - 622546A463E77E1A6A21E3117BFCA052 /* UIKit+AFNetworking.h */, - AA376EAEA5C17AD03826E971855EC3F2 /* UIProgressView+AFNetworking.h */, - F00F3290978E0CCDBB531FCD0AD250B5 /* UIProgressView+AFNetworking.m */, - 8336128C3FA83B0D07019BE27529841F /* UIRefreshControl+AFNetworking.h */, - 6AE4CD9C9867B10A3FD30B7546BD353C /* UIRefreshControl+AFNetworking.m */, - 2C61E1FF368935181F2F3A60FE189647 /* UIWebView+AFNetworking.h */, - 2B6B0155A988F00C828C38819516BAF1 /* UIWebView+AFNetworking.m */, + A3AD37E42FBB615C00DE6CC756ED355F /* ContactParser.swift */, + DED0FEDC27EBFE0445768750D54DBA41 /* FriendRequestExpirationJob.swift */, + 3BC1B48D9A3F12E74D6474A491BD6426 /* FriendRequestExpirationMessageFinder.swift */, + A738B27162F7646E405A7666DCAE41AE /* GroupParser.swift */, + AF479C95A8ED4A8D710B6EFC1539CD64 /* LKAddressMessage.h */, + 6092FD5F73B953E157EC2D048EC3C96A /* LKAddressMessage.m */, + B708A78A722BD5E64C6F2D3704278BE7 /* LKDeviceLinkMessage.h */, + 3753F08A00EBD4F0D92BA8B87CEDA8D4 /* LKDeviceLinkMessage.m */, + 312A1B1B9476919664FB0B61CEEA8D96 /* LKEphemeralMessage.h */, + 89D20E6A287D637290F9403755ED04CD /* LKEphemeralMessage.m */, + 0A8757AE3626B4D9119E22D7A5CDB695 /* LKFriendRequestMessage.h */, + EBA18DDD4181A3A812C611E645D97173 /* LKFriendRequestMessage.m */, + E356109B12FC9F0482CD263F7E687FE2 /* LKSessionRequestMessage.h */, + 809796F1453997EAC850A511C5D27973 /* LKSessionRequestMessage.m */, + D395D334AE2FEF300983606510DCC347 /* LKSessionRestoreMessage.h */, + 3EEF2CBB9656C810458F5D9CBCAD87FD /* LKSessionRestoreMessage.m */, + A274E54D6784D4B37774313239CF3911 /* LKSyncOpenGroupsMessage.h */, + 294AA8F7A8B6CD723F5DF51D4DECF403 /* LKSyncOpenGroupsMessage.m */, + 43988DE082447B6D12221AB8E580883B /* LKUnlinkDeviceMessage.h */, + 6A2B0190EDA832A09F163C8A85A94AEA /* LKUnlinkDeviceMessage.m */, + 8C8EF1C2E95361223D23E1BF4F1A252C /* LokiMessageWrapper.swift */, + 67321F368961F09E7549D5ACCC3C5DBE /* Mention.swift */, + 4948DC09F49368E6DF12B3FB2F370905 /* SSKProtoEnvelope+Loki.swift */, + 948D245B84534BBF02908091691D80DC /* SSKProtoPrekeyBundleMessage+Loki.swift */, ); - name = UIKit; + path = Messaging; sourceTree = ""; }; - 7D378FAE9E5CAB9D676781A3DFC21CAF /* Support Files */ = { + 7BDCFBF924204A9E00641C39 /* Loki */ = { isa = PBXGroup; children = ( - 3E8DDFFE8C8092EBAF1BB12B7A8E8C46 /* Info.plist */, - 281DD71E4F827C6DCFB5EFB0C4B4B97B /* SSZipArchive.modulemap */, - 0B6276423E8E5BFFBB9A9EC38C4BC41B /* SSZipArchive.xcconfig */, - A60347E123B94DEF8BF4D5679239B570 /* SSZipArchive-dummy.m */, - 58F0FEAC1B6E7FFB5F2242B8FB3A1A97 /* SSZipArchive-prefix.pch */, - E2202EF1D27FD987B18A721A404222EF /* SSZipArchive-umbrella.h */, + 7BDCFBFA24204A9E00641C39 /* FallbackSessionCipher.swift */, + 7BDCFBFB24204A9E00641C39 /* SessionResetProtocol.swift */, + 7BDCFBFC24204A9E00641C39 /* DiffieHellman.swift */, + 7BDCFBFD24204A9E00641C39 /* SessionResetStatus.swift */, + 7BDCFBFE24204A9E00641C39 /* LokiServiceCipher.swift */, ); - name = "Support Files"; - path = "../Target Support Files/SSZipArchive"; + path = Loki; sourceTree = ""; }; - 7EE8718799690855A0D7EF148D01ADDB /* Mnemonic */ = { + 7C2B519E8DB36A3A01C7EEBEB63EF38C /* Pod */ = { isa = PBXGroup; children = ( - B23C35894858352029B2BB2D8E218C4B /* english.txt */, - F7B07D6D57E3C5618A484B096F58E13F /* japanese.txt */, - E3A9548F1AA88BE2A05C2FEBEB9FCC62 /* portuguese.txt */, - 31A210D252F971DCC2494BF2AEA3B89D /* spanish.txt */, + D346AC201E59C1DB2399D4C014F2C471 /* LICENSE */, + 802E194E3C93921AB521923991B70369 /* README.md */, + 7711C3EEF9C0F118E276DF9E2C087600 /* SignalServiceKit.podspec */, ); - path = Mnemonic; + name = Pod; sourceTree = ""; }; - 802C36E4FA217375694F86F17DF73906 /* Utilities */ = { + 7C9EDE9BDE37939D14B268D646E631E1 /* NSURLSession */ = { isa = PBXGroup; children = ( - EAA4BC192E94555E9C6052010862AC05 /* AnyPromise+Conversion.swift */, - BBDE26F203538540E34A1F0EDA65A045 /* BuildConfiguration.swift */, - C351BF2023E81A1E0041D98F /* Data+Streaming.swift */, - B80CAF37238CE728002003AF /* Debugging.swift */, - BEA4786B46B2EFE10958D9BC0BE5EA56 /* Dictionary+Description.swift */, - B8A5599123544407009B5F68 /* DisplayNameUtilities.swift */, - B88847C623E39039009836D2 /* GeneralUtilities.swift */, - B88847C523E39038009836D2 /* GroupUtilities.swift */, - D0A4EBD783794E77D7C42F65B9E17C51 /* JSON.swift */, - B88847BE23E2A5E9009836D2 /* LKGroupUtilities.h */, - B88847BD23E2A5E9009836D2 /* LKGroupUtilities.m */, - B80CA43023FCFBBB00F28211 /* LKUserDefaults.swift */, - D5FA8CDEB9FEC9499EA4C76A594A56C5 /* Notification+Loki.swift */, - F612848EF622A9A33BA2880617A6BC63 /* NSArray+Functional.h */, - D192BE6A79A1E1AC490E7F23DD1BAD33 /* NSArray+Functional.m */, - B8DE200F2345C4F60069EB06 /* NSSet+Functional.h */, - B8DE20112345C5280069EB06 /* NSSet+Functional.m */, - 3D933A8EF316F51A57B2AE9710652786 /* NSObject+Casting.h */, - D7F1AC602E9BA3DD88DEC920197CF0E1 /* NSObject+Casting.m */, - 43411A6062580E937F791A9E51E66F64 /* Promise+Hashing.swift */, - 40CD21829E5B98C13F86CA78DD055A61 /* Promise+Retrying.swift */, - 2E8525709A0114B7139F14AF29AC263E /* String+Trimming.swift */, + 84ABFCFCC8259F28B695B77C28D028FD /* AFCompatibilityMacros.h */, + B665D8E160D5D5EF79C0A01592DC7756 /* AFHTTPSessionManager.h */, + FE16271656FE21753C367580FE6C9235 /* AFHTTPSessionManager.m */, + 2BE27C2E060827B90881CB602B94E18F /* AFURLSessionManager.h */, + 73426CA08DF00604E049A31EAC7E6465 /* AFURLSessionManager.m */, ); - path = Utilities; + name = NSURLSession; sourceTree = ""; }; - 80595F22A835F3FC1B6980C80E93D599 /* Attachments */ = { + 7D62790526B4DE56A75CCDFDEBE07E62 /* CloudCore */ = { isa = PBXGroup; children = ( - 7BDC536E8C3A0398A5B80E40B44D7D60 /* OWSAttachmentDownloads.h */, - 48AD0300C14BF0876A5CB5C4F88D6DD3 /* OWSAttachmentDownloads.m */, - E50E29AEC593F3429FBF130D8DFA7E8D /* OWSMediaUtils.swift */, - D4116EF50DAA658AD596AE5DD91038DB /* OWSThumbnailService.swift */, - 8CF1A8932CB3AD2D5629542CAFCF9F11 /* TSAttachment.h */, - DF55C67EE0272FF7772BB15DE691D054 /* TSAttachment.m */, - 05BC599DB4C77B477AFA0707AC72D0AB /* TSAttachmentPointer.h */, - 67A0401896CDD9EB00DEDAE88491C093 /* TSAttachmentPointer.m */, - 667BF65D20BA07407A834F6CBDECDADA /* TSAttachmentStream.h */, - 5356687DA2514D9D43CE129DAFC62E3E /* TSAttachmentStream.m */, + 4474C83E547E0A848415A815F231B20E /* YapDatabaseCloudCore.h */, + 620324AEC714D843ED7C98002B390A18 /* YapDatabaseCloudCore.m */, + 49673915BB55BFE76F102323FD330EAC /* YapDatabaseCloudCoreConnection.h */, + 747ACC6AA16CE13B7DB972D082F870B8 /* YapDatabaseCloudCoreConnection.m */, + 3195DB9F465EE2D8BCF2525A93069AFC /* YapDatabaseCloudCoreGraph.h */, + B145F614354B60EDDC8A1F755F13A8DB /* YapDatabaseCloudCoreGraph.m */, + A0F3DD41B2A4FB566573F08A42C637B5 /* YapDatabaseCloudCoreOperation.h */, + 1C817572D9210C39D540E2BF36A21483 /* YapDatabaseCloudCoreOperation.m */, + 1A53BE3FF10407D395433F71F8C6E2AA /* YapDatabaseCloudCoreOperationPrivate.h */, + FB6F7470F242D82D9F7F0B96FD745153 /* YapDatabaseCloudCoreOptions.h */, + 6C400B4191B9E5C8C6BA1397EA8EBB44 /* YapDatabaseCloudCoreOptions.m */, + 5CDF85040CA1971A733E2BC73E82061F /* YapDatabaseCloudCorePipeline.h */, + 96EDF820174086266CCDE80038180DB3 /* YapDatabaseCloudCorePipeline.m */, + A377D7E078990F3F0D6470DF2A2040DA /* YapDatabaseCloudCorePipelineDelegate.h */, + 464737059C6634FB47C47855E2779881 /* YapDatabaseCloudCorePipelinePrivate.h */, + 3A3F7875943086E752DCF2F6F3E7D2CE /* YapDatabaseCloudCorePrivate.h */, + F6B3D849E4B55E2B4FF64BEB201E4621 /* YapDatabaseCloudCoreTransaction.h */, + 055C22A61ABFC9ABB05A2178E44ED1B0 /* YapDatabaseCloudCoreTransaction.m */, + 14E77180E63B408A05EFE3DE92FD37B3 /* YapManyToManyCache.h */, + 47987F3A6112CF1D6A2AA4469CDD1AB7 /* YapManyToManyCache.m */, ); - path = Attachments; + name = CloudCore; sourceTree = ""; }; - 83EDDD66830DC0DD5D9F471C6B305C0D /* common */ = { + 7D88232AE57DFB6E5B425371CDACD88C /* Logger */ = { isa = PBXGroup; children = ( - DC14BD0A6206A660DB36EAD4BF3CD88B /* sqlite3.c */, - B6038111CA43BD97B39BAC290BCB4686 /* sqlite3.h */, + AD51EE550E5167B22B67D0809D11784C /* GULLogger.h */, + C0AD9D49F1B43F6BC0C998F08B053522 /* GULLogger.m */, + D2D02F2E32388AD29975F0CB62526E8C /* GULLoggerLevel.h */, ); - name = common; + name = Logger; sourceTree = ""; }; - 863D06FBEF84BFFE985EADC8CFC7EF77 /* SSZipArchive */ = { + 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( - F718E2DD4F861046CCFC7A20F6647C2F /* mz.h */, - 619F6A353F53C797D847FC2BB05B0026 /* mz_compat.c */, - 34F037F018798DCE71A2B3569C82D42C /* mz_compat.h */, - 04ABAF66B47CAC98A554AD12A7D99FB9 /* mz_crypt.c */, - 3068ECCB29640B1E5F286DA000D044EC /* mz_crypt.h */, - 8C33E8E78C97BD5E2C0EEE3352AC12F9 /* mz_crypt_apple.c */, - 626696245C54DFFEF11B45F3EB43C705 /* mz_os.c */, - C6A23C42BD908F492376EF006185FF17 /* mz_os.h */, - FCE010C85775D6D6BB00DF43697758C9 /* mz_os_posix.c */, - EE634FF5CF1AF2EC740B8EAEAA355337 /* mz_strm.c */, - 7868BBA5B4693F87960F92562D1946EB /* mz_strm.h */, - B3A6378C298CF895AF24714F330CB8DE /* mz_strm_buf.c */, - BACD11363E279231D3FE43121B4F66D9 /* mz_strm_buf.h */, - B861B29148FC0A8686B417433E30FC05 /* mz_strm_mem.c */, - 0FC1DE27DE8D7ABD3AEC3144D4D98FEF /* mz_strm_mem.h */, - FC6402C3A70C87E0B6821C3B54A02984 /* mz_strm_os.h */, - 550B1E79EE1D4C5F8069449BE1931950 /* mz_strm_os_posix.c */, - F57D80E0A2ABC68D878A0B5483A19B99 /* mz_strm_pkcrypt.c */, - 046C0239F9DD6ADAF369A0F01B522CC1 /* mz_strm_pkcrypt.h */, - ACB13A1D1A9B801ACF000A61F297B3BA /* mz_strm_split.c */, - EAE92E7DD352C9D740A3884CE11CF827 /* mz_strm_split.h */, - 9EDA869E2ED2BD224EE985EA1C1739AC /* mz_strm_wzaes.c */, - 134DCC4A0B4346DC3A325B41398808CF /* mz_strm_wzaes.h */, - 1655457028247F2AE789888DD49E1253 /* mz_strm_zlib.c */, - C809E3F8A3D7AEE391C9B4C118F69916 /* mz_strm_zlib.h */, - D2D69CB892E2F6C8ECC6A69429531F78 /* mz_zip.c */, - 7F3A48424421CFB9F4002ACD3FDB10E6 /* mz_zip.h */, - F0BA8C9AD26346A43AC6975F27C89C77 /* mz_zip_rw.c */, - 9C01BC40DEA8FCAD4C521043139F227D /* mz_zip_rw.h */, - CE2E34EF41C5F1A3216A0770B21FBBE2 /* SSZipArchive.h */, - 41611FF213CC38A5CCC12237707150A7 /* SSZipArchive.m */, - DA4CCCA871944B2202F334831634F26C /* SSZipCommon.h */, - 452D7214F7269A5A4754B07C67C70E8A /* ZipArchive.h */, - 7D378FAE9E5CAB9D676781A3DFC21CAF /* Support Files */, + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, + CF2C047DCE84E24DB5265924D5B81819 /* Development Pods */, + 9D296F115A3E4E6539B4105B0899D6A9 /* Frameworks */, + A40124CC6BDAE5B2040AC70C1C3FCDE5 /* Pods */, + 8D7ECF08D0850C54D4FF1D8C3330A98C /* Products */, + C10559F2624FD2679E0AE0DE2899888D /* Targets Support Files */, ); - path = SSZipArchive; sourceTree = ""; }; - 88076A64A0FD642E4BED9D25F1606C56 /* Public Chats */ = { + 7E4CD5D8BE4125F6731C2D5C5A3CDE7E /* Reachability */ = { isa = PBXGroup; children = ( - 079289A25823AFD98CBCDC9BC69FCE91 /* LokiPublicChat.swift */, - 69AAA796BB93BB0C945489A714B90501 /* LokiPublicChatAPI.swift */, - B8BFFF362355339800102A27 /* LokiPublicChatInfo.swift */, - 24BD2604234D5F590008EB0A /* LokiPublicChatManager.swift */, - CF415E5DA1D2B6D643FC6568ECBD0FC9 /* LokiPublicChatMessage.swift */, - 24BD2602234D5F040008EB0A /* LokiPublicChatPoller.swift */, + EC0F2ECD8CF70F23D1E97D54ACAD7D60 /* Reachability.h */, + C7D67B73903409AF639B1FBD26443E04 /* Reachability.m */, + 77C8AB9E20A4AD4892EF511756D44F22 /* Support Files */, ); - path = "Public Chats"; + path = Reachability; sourceTree = ""; }; - 8890AC1C2BBF6A2D74B209A8B890B34F /* Support Files */ = { + 7EAF2FFF9FA1008CBB50B7B55A8314F8 /* Support Files */ = { isa = PBXGroup; children = ( - EDE5C05D98AE2B1F947B0809A0C15539 /* Info.plist */, - 500DF2A0417B036A15978C119ABF1759 /* SwiftProtobuf.modulemap */, - 71DE18FB42C8065C176662C44FBB74E2 /* SwiftProtobuf.xcconfig */, - D9C96FD8BD0ACDEFCEC97DE49B09A47E /* SwiftProtobuf-dummy.m */, - 2C3CAAA862D748378E9E6A760AB54570 /* SwiftProtobuf-prefix.pch */, - D95C542AF0A176D856BDEA21AAC4B07C /* SwiftProtobuf-umbrella.h */, + 2BF3FB13444787EC98C8E400757EF19B /* Info.plist */, + 01774ED9993BEB4705A8D774951459FF /* YapDatabase.modulemap */, + 9DE1B7BE32F6B802D5145DB11A379868 /* YapDatabase.xcconfig */, + F370C6DBDBDB58ADE2D78159D271D98C /* YapDatabase-dummy.m */, + 5C424663821353466AA5BFDC0FE8D668 /* YapDatabase-prefix.pch */, + A5B737091E441E20888B31151C8AEC3F /* YapDatabase-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/SwiftProtobuf"; - sourceTree = ""; - }; - 88A6D1387DA839E8E7EB749F82EB2665 /* Relationships */ = { - isa = PBXGroup; - children = ( - 42836EA2149E9C6A3CF37108F65EDFF0 /* YapDatabaseRelationship.h */, - E207056465FE69904D3268563C87D846 /* YapDatabaseRelationship.m */, - 9AD9C005ACD9293F8C41256E55870CD6 /* YapDatabaseRelationshipConnection.h */, - 8F90B49D33EBE4BAF94B5184F8766892 /* YapDatabaseRelationshipConnection.m */, - CAE8C9B1CAE1FFE935C296D447429A4D /* YapDatabaseRelationshipEdge.h */, - 4BE33135B3007829DAA6378CB44590B8 /* YapDatabaseRelationshipEdge.m */, - 57E999271B873332C5471C583AC5B393 /* YapDatabaseRelationshipEdgePrivate.h */, - A92E22CEEF0CF8649258DF778298902F /* YapDatabaseRelationshipNode.h */, - 34981F5627CC5BD617921A30E2BBBE61 /* YapDatabaseRelationshipOptions.h */, - D3955BAA78767651510F1408CD107866 /* YapDatabaseRelationshipOptions.m */, - F71EFFB49140D5C4185195326ECBDC42 /* YapDatabaseRelationshipPrivate.h */, - B9AEFFF7465027B11CD95889D5B80164 /* YapDatabaseRelationshipTransaction.h */, - 04FC1C7C9C1CE2691B73A0FF0FA11580 /* YapDatabaseRelationshipTransaction.m */, - ); - name = Relationships; + path = "../Target Support Files/YapDatabase"; sourceTree = ""; }; - 891B3348803754C01DD10D26516C5F4D /* SecondaryIndex */ = { + 7ECB364B6BBF9E86DA16C192408233EB /* Security */ = { isa = PBXGroup; children = ( - 6C023C3A5FEEF2A22EC5F1A8BDFCEA04 /* YapDatabaseSecondaryIndex.h */, - 3EE49DB0D7927BEA6CB565ABFBA8BAFA /* YapDatabaseSecondaryIndex.m */, - B48EF25277FF61E5D5213A98462C7E5E /* YapDatabaseSecondaryIndexConnection.h */, - 9A90CF0E33F7005E4018B5D407E34F67 /* YapDatabaseSecondaryIndexConnection.m */, - 2B6D13ADDEC384B6BA1739C462F81DB5 /* YapDatabaseSecondaryIndexHandler.h */, - C700D535CC375C57BA382CBC5B21424E /* YapDatabaseSecondaryIndexHandler.m */, - 6A23EC8E756954BD37915003B8EE6FE5 /* YapDatabaseSecondaryIndexOptions.h */, - D30B24D014F854BE0213094E0AF2602A /* YapDatabaseSecondaryIndexOptions.m */, - 0F7B3522365E3CCE98D529FA02C6195A /* YapDatabaseSecondaryIndexPrivate.h */, - ED6965B9C0E2FD5F422DEA391E466ACC /* YapDatabaseSecondaryIndexSetup.h */, - C9B5D7C3D5D7096AA841355A0476AC5E /* YapDatabaseSecondaryIndexSetup.m */, - 0EBE6D81AE0E2B1F81DC355FF71BAC2C /* YapDatabaseSecondaryIndexTransaction.h */, - E9C8CA7469C0A9C80CB729743C420E17 /* YapDatabaseSecondaryIndexTransaction.m */, + 03771CA30B0C78B7BF3F56A6CDC07455 /* OWSFingerprintTest.m */, ); - name = SecondaryIndex; + name = Security; + path = SignalServiceKit/tests/Security; sourceTree = ""; }; - 8B524EBAEAA0D277BED9D13CF2AAEE39 /* Support Files */ = { + 7EE5B593794476DA2B4C2A2B64E88AAA /* UIKit */ = { isa = PBXGroup; children = ( - A6D192EC94A4E5CF04DD72D134375756 /* FeedKit.modulemap */, - 700B7CA1E35802178B7139E4A4377B39 /* FeedKit.xcconfig */, - 7B31F3D790A14DC1DC41AFFC64D96D95 /* FeedKit-dummy.m */, - 8CDF81AA73917DCCA102A61DB4AD96E2 /* FeedKit-prefix.pch */, - CF64961A4A26120C710715DACD57B7FF /* FeedKit-umbrella.h */, - 048A1AC1FD358013B85C82B98A4909F5 /* Info.plist */, + 730D512464D25D163ECF35137ED3C8C9 /* AFAutoPurgingImageCache.h */, + ED6C65193871BFE0EC331ED479BFF604 /* AFAutoPurgingImageCache.m */, + 9F37439DD2CF12B2EECE215A9D56F11A /* AFImageDownloader.h */, + 4233D1024E4928B1441AFF92FC1ABAB9 /* AFImageDownloader.m */, + C98D31E99928753FE5479A771F7500A9 /* AFNetworkActivityIndicatorManager.h */, + 6F68FDCAC245D9FAC1F6EF2F88A0F74C /* AFNetworkActivityIndicatorManager.m */, + C388607ADA118252C700DB6E34BED80F /* UIActivityIndicatorView+AFNetworking.h */, + 4F38F494EC0910D19C80D1019BEED18C /* UIActivityIndicatorView+AFNetworking.m */, + 219C80C5FD410C6674EE86E239287AFD /* UIButton+AFNetworking.h */, + 6F5A5A254299A9C0866287E26C3E2AFA /* UIButton+AFNetworking.m */, + FCC541A7D3A1B653FFF8A8FA8E82EC99 /* UIImage+AFNetworking.h */, + D384D79ADBE4C0BDD927186FD5BDEE1C /* UIImageView+AFNetworking.h */, + 2E0C7EC764F6989C068EC909C0FC9CEA /* UIImageView+AFNetworking.m */, + 3CCC3B9F2148E4159863C2615B0788FC /* UIKit+AFNetworking.h */, + 2AE8F310B91F3681C03A3FC3994C33D3 /* UIProgressView+AFNetworking.h */, + 6CAD50C6B6764E3D951C8DFCAEB10422 /* UIProgressView+AFNetworking.m */, + 0E18F7809DBF8D23F2A3F2B33F83E64E /* UIRefreshControl+AFNetworking.h */, + 3359DBFA198C667B65DFC82DF392F765 /* UIRefreshControl+AFNetworking.m */, + 30DB369BDD24424EB6A54130F5095BDA /* UIWebView+AFNetworking.h */, + E207B727B3B84A72B917562A664ADBAA /* UIWebView+AFNetworking.m */, ); - name = "Support Files"; - path = "../Target Support Files/FeedKit"; + name = UIKit; sourceTree = ""; }; - 8BBA7F7412D164159575E366A3FF084F /* Support Files */ = { + 7F0385C13E1633F59EE338D260E1E0CA /* Support Files */ = { isa = PBXGroup; children = ( - 250EBB042EECCD16228E98E3BDBB1C20 /* Info.plist */, - 3343D540984FDA732DDFAEE3A2248C9F /* Starscream.modulemap */, - B6867750FE939219C58B02E869E33C74 /* Starscream.xcconfig */, - 20636B4CE8368F21D83E227B3D1089DE /* Starscream-dummy.m */, - 69768F95B28C0B30A85F7866C0337AE9 /* Starscream-prefix.pch */, - E63ECF36E53C049939C157E480B0EF51 /* Starscream-umbrella.h */, + 065E0230FFB82F9DAA60474F0F4015EF /* Info.plist */, + AC6D472967EFED2D68C255DFAF9E8DF1 /* SQLCipher.modulemap */, + B5DB338AC76502494299EAC5D859D6E8 /* SQLCipher.xcconfig */, + 051A000DD6863E4A691909A061C93CF6 /* SQLCipher-dummy.m */, + AB5DA5AEF9C04FB5837546E7D0245970 /* SQLCipher-prefix.pch */, + BAE0ECE7D40C946207DF3F5660B90D19 /* SQLCipher-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/Starscream"; + path = "../Target Support Files/SQLCipher"; sourceTree = ""; }; - 8BBCF11280C288FB415566FD840C2AC5 /* SQLCipher */ = { + 8199118FE7540979E93713C1EE929181 /* Frameworks */ = { isa = PBXGroup; children = ( - 83EDDD66830DC0DD5D9F471C6B305C0D /* common */, - EA1AEF05A8C74404F19C0122BE4BB17C /* Support Files */, + E4DF52CD2F8B17C9621634E1896E3F1D /* openssl.framework */, ); - path = SQLCipher; + name = Frameworks; sourceTree = ""; }; - 8C0DE54B51B7BCAA3A989AAC6EE07BA0 /* Support Files */ = { + 82D584FA6B875D62F116DC577546C508 /* SecondaryIndex */ = { isa = PBXGroup; children = ( - FCFFF8770150343E97FFB350E7D774DC /* GCDWebServer.modulemap */, - FE5B29B58459AEACC94D9488B0886232 /* GCDWebServer.xcconfig */, - 130C2557BF706EB8A6FE54DE644FB107 /* GCDWebServer-dummy.m */, - DDAD99D61D772F68FB9E4D568BC5C554 /* GCDWebServer-prefix.pch */, - 4BFE5B43396A75F173795EE46CE37D68 /* GCDWebServer-umbrella.h */, - 2FC9A14D995E077D8FAFD90BCAE98759 /* Info.plist */, + 0E5F91823AF80EBC2FE1640634D91EDD /* YapDatabaseSecondaryIndex.h */, + DA25C1D9520A6FBBD9C44EDD2A55264E /* YapDatabaseSecondaryIndex.m */, + B4749130B0428530C084F80D9DEC14A6 /* YapDatabaseSecondaryIndexConnection.h */, + 37B4380AB0B3F4A05FA22F178DA672B3 /* YapDatabaseSecondaryIndexConnection.m */, + 5140EA6FDE65CEAE3A1D53EF533EBC66 /* YapDatabaseSecondaryIndexHandler.h */, + 8C7AE497AEEB787295DB659814B0E005 /* YapDatabaseSecondaryIndexHandler.m */, + B73D696F786A2E3BAAE9FFEBA697A985 /* YapDatabaseSecondaryIndexOptions.h */, + 0CD2D269676B454073DDB2D95080FF94 /* YapDatabaseSecondaryIndexOptions.m */, + A19868C471F08CD4F8C7377BE20C4808 /* YapDatabaseSecondaryIndexPrivate.h */, + 703FEC85859EAD4B92FC616CC8FAFB3C /* YapDatabaseSecondaryIndexSetup.h */, + 72299AF0E68F7FA10BD0014A854F03BB /* YapDatabaseSecondaryIndexSetup.m */, + BDA8451360E2AB07DD3F9079F4E7C251 /* YapDatabaseSecondaryIndexTransaction.h */, + 1DA23EDC8712761BD88E266E4FD8A0AB /* YapDatabaseSecondaryIndexTransaction.m */, ); - name = "Support Files"; - path = "../Target Support Files/GCDWebServer"; + name = SecondaryIndex; sourceTree = ""; }; - 8F597D630D1EB532BE3924D6E2979038 /* Pods-Signal */ = { + 838816A85AB53064832D378B719FF2F8 /* Network */ = { isa = PBXGroup; children = ( - 5B29B67D3449F4A9F2AD28E693439223 /* Info.plist */, - FAAA12F08E28BCBCAAADAAD32D55FA71 /* Pods-Signal.modulemap */, - 3045469D4844D35BA714F162358A2E08 /* Pods-Signal-acknowledgements.markdown */, - CBDD8525DC390A41175DE9F6BD9093B0 /* Pods-Signal-acknowledgements.plist */, - A0C131142BEC1754F4EC4A195B0AF381 /* Pods-Signal-dummy.m */, - EE8F40C5EAD114DD12B621438102C4CB /* Pods-Signal-frameworks.sh */, - 9A9B3B4D06A980DE08CA1C4DC7E393CB /* Pods-Signal-resources.sh */, - C7DB77B7D6BB4C4C79E6ECF8314F613E /* Pods-Signal-umbrella.h */, - 7BE55430C152C3ADF41767DA9AB14673 /* Pods-Signal.app store release.xcconfig */, - 4C9A29E60D4928CF567E12CE25B51FA0 /* Pods-Signal.debug.xcconfig */, - DAC91B7E7797D5B6BB3E54A91A760003 /* Pods-Signal.release.xcconfig */, + 04BAE815E2728C2B3BAABD6E7AA8E832 /* MessageSenderJobRecordTest.swift */, + F619ADFA2517074EC7057711C610BB04 /* MessageSendJobQueueTest.swift */, ); - name = "Pods-Signal"; - path = "Target Support Files/Pods-Signal"; + name = Network; + path = SignalServiceKit/tests/Network; sourceTree = ""; }; - 90E33A6D994201E04A33273F355B91AF /* Messages */ = { + 84423448720732A096D40AFE8458EC62 /* src */ = { isa = PBXGroup; children = ( - F5CCD9C51446DDFC628621B9E706941A /* OWSDisappearingMessageFinderTest.m */, - 25FC0921EB2F706ACA0BEB4C178F6545 /* OWSDisappearingMessagesJobTest.m */, - 9F1F8DB6E3BCA46B27EFA0FBBFA4C667 /* OWSIncomingMessageFinderTest.m */, - 3A51302704A16FC923CCF3E02B425214 /* OWSLinkPreviewTest.swift */, - 4F86FB647B876D8DBD1F58F478C9C9D6 /* OWSMessageManagerTest.m */, - 49CE8C2F74FAECC5F9D93D84E711D540 /* OWSMessageSenderTest.m */, - 53A3AE9FC7B6A99365552840C3696B36 /* OWSSignalAddressTest.swift */, - 7D6CC16DEFC6F6C72E69ACF6078E8FF0 /* OWSUDManagerTest.swift */, - EEC1C290A38F4AC2FFCEF88B57EB2174 /* Interactions */, + 03C60ABB412FCE643EC04CA5C7983CBE /* Loki */, ); - name = Messages; - path = SignalServiceKit/tests/Messages; + name = src; + path = SignalServiceKit/src; sourceTree = ""; }; - 90ED49659289E0F1C9D1C9930A9A0C0A /* Core */ = { + 84F666557773950EF343A5D284AB8F45 /* GRKOpenSSLFramework */ = { isa = PBXGroup; children = ( - 6AD52109073109ECC905339A481A826B /* GCDWebServer.h */, - 46EF5D46CC568818F260EC6859F9B68D /* GCDWebServer.m */, - 4AF701E04D847AB29169040E0B1E1128 /* GCDWebServerConnection.h */, - 385C667126D7E5553E9F7010846A00A7 /* GCDWebServerConnection.m */, - 39BAD3FDA208CD4A50B0E695AFD9935C /* GCDWebServerDataRequest.h */, - FB6570720F4D9645ABF5112B117D96D9 /* GCDWebServerDataRequest.m */, - 49958B6BBFFAFEE35F4F24E5DB1C05B9 /* GCDWebServerDataResponse.h */, - EAFB5BE12DEA2CE059B34B5C1228A303 /* GCDWebServerDataResponse.m */, - 10876643B4E65AA4BE50643AA9276A12 /* GCDWebServerErrorResponse.h */, - EE736CC774AC97CA6CD9CE117C9B8BF6 /* GCDWebServerErrorResponse.m */, - 64A69D1B5F9FFEC85701F8D5887E0447 /* GCDWebServerFileRequest.h */, - 65C76288E7A2D0E40E2DE44CAE8B1A31 /* GCDWebServerFileRequest.m */, - DDA3DCEDF0964273505C1E4482BD4DD4 /* GCDWebServerFileResponse.h */, - 89762EAF9CED4502EB272351C17C53FF /* GCDWebServerFileResponse.m */, - 2AA8280D8A6FAE70BDA8DB0CBF1FF36C /* GCDWebServerFunctions.h */, - 165AE690B04C9230556F5B6950B23CD1 /* GCDWebServerFunctions.m */, - 205805D42726E01B8017721524735D03 /* GCDWebServerHTTPStatusCodes.h */, - 4FCFB297CA8F3ABE0E2D628DC15AE3EF /* GCDWebServerMultiPartFormRequest.h */, - F80A0B76C6904A2EF07350F5F9D30E32 /* GCDWebServerMultiPartFormRequest.m */, - FAEE45A538247E95DBDC8478971528B9 /* GCDWebServerPrivate.h */, - B25E5C13888EC2B733351D2756B1EBE0 /* GCDWebServerRequest.h */, - 72F1B6434AD63E59A1DFB8A38D29BC15 /* GCDWebServerRequest.m */, - 5BB1BF2421B01D31E08871F19F604055 /* GCDWebServerResponse.h */, - EF93C1C073ED30E2023E71CD85CC7488 /* GCDWebServerResponse.m */, - 8797E305F98441E016BF965561A07CF2 /* GCDWebServerStreamedResponse.h */, - A1238574CFFE40B8E61A8AA1B927B242 /* GCDWebServerStreamedResponse.m */, - C203DA7720C2A8C4240A51BC076B99F0 /* GCDWebServerURLEncodedFormRequest.h */, - D1875AB6508FE93EAE108BB99C0EB307 /* GCDWebServerURLEncodedFormRequest.m */, + 8199118FE7540979E93713C1EE929181 /* Frameworks */, ); - name = Core; + path = GRKOpenSSLFramework; sourceTree = ""; }; - 91C20690F39366A7E37810C6D04B6074 /* SignalCoreKit */ = { + 88C5AC914EC9740CE3E2FDE82A4B7A6A /* Support Files */ = { isa = PBXGroup; children = ( - 9723F88DBD0A06C6F601B998AADD9113 /* Cryptography.h */, - D696A749408F5D732FB1BAD82B96088B /* Cryptography.m */, - 0205448879DDC46ED079C7B1F354BDD5 /* Data+OWS.swift */, - A65E7FA1BE52BCADED77AC93D7756415 /* iOSVersions.h */, - 891109DCCE8C56C8B2B5ADF998632C94 /* Logger.swift */, - 540C32545AD9B1EAD2D65380C6E3E4C1 /* NSData+OWS.h */, - 8C291D34E0195FA5512AA0DA59398900 /* NSData+OWS.m */, - 23A7B82DC7E1224B35F12371FFD32B1B /* NSDate+OWS.h */, - 6BB358B99280C24D299FCE09BF464E80 /* NSDate+OWS.mm */, - D6BCF0F988A75417EAD1FB6AD6EA33D7 /* NSObject+OWS.h */, - 0B9A36CADE911527DFF3A46AE894DC26 /* NSObject+OWS.m */, - 21BE40E74375E0A59D5A7141B499A45E /* NSString+OWS.h */, - E13E5F9068320F4161ABC492BE68A8B3 /* NSString+OWS.m */, - AB8E3613D72E1C9E81D57B1F42B2420C /* OWSAsserts.h */, - DDCAF0B3DAAEEEA7C8F98EBF87B2D233 /* OWSAsserts.m */, - CAFA9494EE1DFA502344B2EC9BD01C05 /* OWSDataParser.swift */, - 9A388A3C374A7943356BAB1B9BD34935 /* OWSLogs.h */, - 4543FABB98B4AE1810F069E63F9AE3B8 /* OWSLogs.m */, - BB4BE9214DAD8901676181322654EC40 /* OWSSwiftUtils.swift */, - BAEFDFAA8F84AEE7C68F8D3729ECEA13 /* Randomness.h */, - 08788652F17A42C29A954A739DEAD59E /* Randomness.m */, - 8C8D47704A8555589886603480AB25E9 /* SCKExceptionWrapper.h */, - CA7C01DEC82F15AFA1E47E92E238311B /* SCKExceptionWrapper.m */, - B0F9CC10CA564535FE9AFBE66B3B7F0E /* SignalCoreKit.h */, - 21FBBFF5966E66319781B71D09CB153F /* String+OWS.swift */, - 79C38A0DE6A638AFB2CD80EA8AA95827 /* Threading.h */, - EBA7C5621E37EF2C0B796055EFE47D74 /* Threading.m */, - 157A653D97EEE67195998386E9A7F809 /* Support Files */, - 1966C2C60CE1E98E35C3504D6BF33652 /* Tests */, + 2AEAA52FCB01D3CFE2AAE0ABC9F85D12 /* Info.plist */, + 6D6A0164CB70FA71E1C54C674A964FEC /* YYImage.modulemap */, + C470798A46DAE61CE27D44C1DCD40BDB /* YYImage.xcconfig */, + 2BC1ECEA93BBDC44E0A2778CDA9B55B3 /* YYImage-dummy.m */, + D55BEF02ACDE2AB35B63C159425E153F /* YYImage-prefix.pch */, + DA5313A874DED8C6872D5844E057765B /* YYImage-umbrella.h */, ); - path = SignalCoreKit; + name = "Support Files"; + path = "../Target Support Files/YYImage"; sourceTree = ""; }; - 95CE1419E437D5BE530211E296E15031 /* Support Files */ = { + 8947E3654F56C1248BFE2BF8DA5B46A2 /* Support Files */ = { isa = PBXGroup; children = ( - D5901182CCACB7E9EFD735DEED9CE10C /* CryptoSwift.modulemap */, - F1E4B77FADFD329E2D249EF201895870 /* CryptoSwift.xcconfig */, - 5D0A4D9A00904D1B88D00E5B1E63B17E /* CryptoSwift-dummy.m */, - C4993E4E066F5AE301DFBF1589791CD9 /* CryptoSwift-prefix.pch */, - 532E4666E816818BE8C92D136F45F777 /* CryptoSwift-umbrella.h */, - 6CEE839E5919495D53931D82DD74F832 /* Info.plist */, + BE98CFCC08221EF9BA2F06551F476D54 /* GCDWebServer.modulemap */, + 8FC3EEE6F3108AC4CA31C87DB973517E /* GCDWebServer.xcconfig */, + F676E37CBD3D739D23C6B5D1EB5A2E2E /* GCDWebServer-dummy.m */, + 3B2B35583EC12A7EB831CC4CAADFF5EF /* GCDWebServer-prefix.pch */, + CCFF7F92732FDF4272A02E0FCD84A825 /* GCDWebServer-umbrella.h */, + E7A74D354C541DF54139F6715ABC84CE /* Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/CryptoSwift"; + path = "../Target Support Files/GCDWebServer"; sourceTree = ""; }; - 97F3F8272FDEF2A449F029240B53444C /* AxolotlKit */ = { + 8D7ECF08D0850C54D4FF1D8C3330A98C /* Products */ = { isa = PBXGroup; children = ( - 95366E2A772E1393C9D7748CC9CDDB78 /* AES-CBC.h */, - 1B9A457A6F21B2C3CB8DFA791F75E61A /* AES-CBC.m */, - 031B7F871142ABF21276B31132E15F4F /* AliceAxolotlParameters.h */, - 07E173A654159052E151C18249415345 /* AliceAxolotlParameters.m */, - 24AFECA4B88CD4BA4097B7006561DD62 /* AxolotlExceptions.h */, - DF9C1C6FF72B98CC72CE85F3D827697A /* AxolotlParameters.h */, - DDED2C3FEED917DF16D7EBCAFA5271F9 /* AxolotlStore.h */, - B16D734FD5984FE0F9FF0CC53805B0FB /* BobAxolotlParameters.h */, - A02FAB20AB4F372599BE8326DB4727B9 /* BobAxolotlParameters.m */, - 35AE8E24348CE51C89C428D5845EE400 /* Chain.h */, - FDEFE549E31B0D987F507808B184594B /* ChainAndIndex.h */, - 2F813AD4A90C2E6B242B9AE8EAEADC21 /* ChainAndIndex.m */, - 5C44C1AD95850D4E9BED3293E287D1ED /* ChainKey.h */, - 60BE82FEEB864B8D68E586024D6D6A48 /* ChainKey.m */, - FC4BD8CA07FA9C1E490E0021F8338DB3 /* CipherMessage.h */, - E21F2F9A31E7190379BFFCF9C9ED4ADF /* Constants.h */, - 67B34FA51A79103A772986F869817CB6 /* IdentityKeyStore.h */, - ADD09A68908A00753CA620D1D9D337A4 /* MessageKeys.h */, - EF9ACC6A49DBF162496BB38781F91A44 /* MessageKeys.m */, - D3E0885D4593A36C6D547EDCEDA488FE /* NSData+keyVersionByte.h */, - F18406DF6FEFCD6740B429AD8083F582 /* NSData+keyVersionByte.m */, - B86D736B84AB8403597F7293B21A1280 /* PreKeyBundle.h */, - 64379CA087552E1F00514F4E431E67E0 /* PreKeyBundle.m */, - 605B1572B1612EF0E02CF1274E6056A8 /* PreKeyRecord.h */, - 6E0CFA4F2A3B03D40EFB7A63C889E001 /* PreKeyRecord.m */, - C97D0BA6A0E5B8C1C44FB2BDC762E269 /* PreKeyStore.h */, - D0254D46F729E3A3B7663F0AC288DD15 /* PreKeyWhisperMessage.h */, - 01E7CA316BE641E9F63A5FA9AD10A5CB /* PreKeyWhisperMessage.m */, - C24D3A7B6731F56AD3A94DC128ADD632 /* RatchetingSession.h */, - 5246191E1822A11F39A1E31A60CCF0C9 /* RatchetingSession.m */, - 11037D7D41AFB933972A8A53EAA11934 /* ReceivingChain.h */, - EAFCCA158144D0CD94EE70FC0D1E5735 /* ReceivingChain.m */, - F2A065DF994FCD97986E908923A72789 /* RKCK.h */, - 1EA1C5787FEFD053469BC9B027A9211F /* RKCK.m */, - 6721F5992E54CF42657ACE255A6ACDB9 /* RootKey.h */, - 15968FCCBEB977712793E40B4BDD16B2 /* RootKey.m */, - 7FDE645D2177ADE96782B7EDC597388C /* SendingChain.h */, - 13D471D0888415EB1E1044DF715AA771 /* SendingChain.m */, - 4EECF2EB1D25AEAA78FE3D6902D06ADD /* SerializationUtilities.h */, - B1926EB07CE2F9AAE32787A0DB2D0B9C /* SerializationUtilities.m */, - CCC54BE015319486D2F8F2EFEFEA30EC /* SessionBuilder.h */, - 23BE798271C6533CDDFFC8030BD58671 /* SessionBuilder.m */, - 3C238F9755CBB130713A9B345197D765 /* SessionCipher.h */, - 2595AACF40A9AB56E49C4AF4590B5531 /* SessionCipher.m */, - 86E25CA49CC18C94EFCA62986D604B5F /* SessionRecord.h */, - 48C41109D889E4AAF74E952A1C4BD569 /* SessionRecord.m */, - A9A85B36FDA348C5A6EF145A512850A5 /* SessionState.h */, - 5F8D9125BBA4098BED5D80E3B9D5A261 /* SessionState.m */, - 99219436FB01CF8BCB67C2D018748935 /* SessionStore.h */, - 8A87B989657BF344031280E8B9295F3C /* SignedPrekeyRecord.h */, - 95B0E130D1A1785ACB637C577E8E9EBA /* SignedPrekeyRecord.m */, - C0824E949824213582B098E0726A47F8 /* SignedPreKeyStore.h */, - A7D6CEF77FB04EE9021B1D08F701EF16 /* SPK-Bridging-Header.h */, - F05FFBB99FC23A08E67A1777E711ADE9 /* SPKMockProtocolStore.h */, - 5BD6BD55B2337CDC3EDD695D43DED44A /* SPKMockProtocolStore.m */, - E888FD29306F368BC2B382D774975A10 /* SPKProto.swift */, - B28CC36DCB29CCCB318A276AA6633A22 /* TSDerivedSecrets.h */, - A3F9065A384100D08A261F2808E2DA1F /* TSDerivedSecrets.m */, - 7F29B50144BC9556D1D9D48F3B0FBB56 /* WhisperMessage.h */, - EF1618F3CF6C6F466B0517DDEE2BD941 /* WhisperMessage.m */, - 790FA1FC83A24DCF5EE7633E580E2DBB /* WhisperTextProtocol.pb.swift */, - 7BD4838E23E3B39D0007F1BA /* LokiFriendRequestMessage.h */, - 7BD4838F23E3B39D0007F1BA /* LokiFriendRequestMessage.m */, - 19B66F54A2935080541D13CF3EF575CD /* Support Files */, - 229AA2713F8D62E8F5B23FA5689C34ED /* Tests */, + 329ED33B1D6C1F1BCD6A9050315302C8 /* AFNetworking.framework */, + 9C586159EA37D1219E061D260F9CEEF0 /* AxolotlKit.framework */, + 1C8EE178F54A48DC6BF72B2CD6D9B64B /* AxolotlKit-Unit-Tests */, + 481D98241BA69B182796CAA006344BE6 /* CocoaLumberjack.framework */, + 8BD558EDBB0A6D832D52F7A38510D4CA /* CryptoSwift.framework */, + 1295CC2204B2AF62422D89265386783F /* Curve25519Kit.framework */, + C602B9F2FD639FB2661B469F328D899D /* Curve25519Kit-Unit-Tests */, + 2EC2060B048F8FC8F112C33409D0FE6B /* FeedKit.framework */, + 25A45352D1475FC650A29CD5F7A84613 /* FirebaseCore.framework */, + 3FBF033A7EBFF938079087CBC303E265 /* GCDWebServer.framework */, + D9133DAEBA618BF560476BEC1A15287D /* GoogleUtilities.framework */, + EBBFB5109DB45456AF54AB7DB029E4FD /* HKDFKit.framework */, + 87561AF04B282F82A774AC90571B1237 /* HKDFKit-Unit-Tests */, + 28A5EEBBC8AE352D8C8F4F5DF2FA826F /* libPhoneNumber_iOS.framework */, + 7AF5BA46DEDC3D1D5D23D3C956CE94C1 /* Mantle.framework */, + 5A32ADBEC9CC5472FF684F6F255A0891 /* NVActivityIndicatorView.framework */, + 9EA86193B5CF675984E39DF738400B89 /* Pods_LokiPushNotificationService.framework */, + 84A828D1DB2C335AF3EA79714BDE065B /* Pods_Signal.framework */, + 2D1E79F392E9E2F17A2DEE59CFB52142 /* Pods_SignalMessaging.framework */, + 6F2BDE793FCAEF2E9473ED96AF713239 /* Pods_SignalShareExtension.framework */, + 5F53C3E1975376193A2AE3EF9F0B6117 /* Pods_SignalTests.framework */, + C9E514F42AC74F38A10B7680E92DC523 /* PromiseKit.framework */, + 07A8E0A206B822BE72F9D79BC67AA120 /* PureLayout.framework */, + 8155C81B279FE36B315FF514412AB5E2 /* Reachability.framework */, + CF53DAE56E088DC155166F8D1D06AF02 /* SAMKeychain.framework */, + BBDD117E0CEC753072A28DE3461D67C8 /* SignalCoreKit.framework */, + 581819E709477237E44A68D8D0F8F3C2 /* SignalCoreKit-Unit-Tests */, + 1A15B68F9DA15AA3B5AE6584FE74EF0B /* SignalMetadataKit.framework */, + D3D8DC81CC082F6C473DA7861A213E53 /* SignalMetadataKit-Unit-Tests */, + C55423988A91ED5FCD9F4E9DB5653580 /* SignalServiceKit.framework */, + C72915A837933F6049CE8ED9C24BFD64 /* SignalServiceKit-Unit-Tests */, + 681C34BD8749593FD38738AC8B8C3F90 /* SQLCipher.framework */, + 6979D2841DC8F3FE19DAE0953786FEB1 /* SSZipArchive.framework */, + 33340CDCEC682C7CE57162FB9427781D /* Starscream.framework */, + 70FD7C11461D8073F28EE094C7E0398E /* SwiftProtobuf.framework */, + 2AC7265B11FC236A8C7E2F44EE586610 /* YapDatabase.framework */, + 9F60676AAB9BEB62F8274248381E79CD /* YYImage.framework */, ); - path = AxolotlKit; + name = Products; sourceTree = ""; }; - 98220A5C5248FB5283717FEF88BB31F1 /* Threads */ = { + 8F4BD400A871969E22B7B438FB75FC57 /* Presenter */ = { isa = PBXGroup; children = ( - F0A28577E20F3B608EACD05B663FCA38 /* TSContactThread.h */, - F132E03B01D3FDAF451F247F29845B8A /* TSContactThread.m */, - A916483E40FE713997488475AAE2CB9E /* TSGroupThread.h */, - CA51D22F889D900B62A901241336CCCA /* TSGroupThread.m */, + 8CEA6F479C14F55D9E4C110A173A3CB9 /* NVActivityIndicatorAnimationAudioEqualizer.swift */, + 923B0002172C50DBE8EFF0230AFDEDA7 /* NVActivityIndicatorAnimationBallBeat.swift */, + E7AA520B597EA2280BD05A35F5970B3B /* NVActivityIndicatorAnimationBallClipRotate.swift */, + 09C0AB1ADAF8D4DA2B26B09C16A34FF0 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift */, + AEA14B88E74AE471FB820A0CF9CBF507 /* NVActivityIndicatorAnimationBallClipRotatePulse.swift */, + E19B6669F62FB0A536138275893CCEA9 /* NVActivityIndicatorAnimationBallDoubleBounce.swift */, + 8169B1F123ED8AC936DDF5434EE7D7E6 /* NVActivityIndicatorAnimationBallGridBeat.swift */, + 933CFDEE7EC7D4540D8D171AC02DA0A7 /* NVActivityIndicatorAnimationBallGridPulse.swift */, + DCF9F56A3C5B39191186DE30B398EB07 /* NVActivityIndicatorAnimationBallPulse.swift */, + 1584B657A9B276533D9ACFD02EE677BD /* NVActivityIndicatorAnimationBallPulseRise.swift */, + 72BE24668C6FA7FDE9B2EB0CB9BC15E4 /* NVActivityIndicatorAnimationBallPulseSync.swift */, + FF92B65132B679027788ECC2E04D47CB /* NVActivityIndicatorAnimationBallRotate.swift */, + 44DC37C136740B166BF7294BD737EC75 /* NVActivityIndicatorAnimationBallRotateChase.swift */, + 889BC598F7B514D4F3CCA6B6D69BA9A6 /* NVActivityIndicatorAnimationBallScale.swift */, + 4B0ACD1CB2292852B39A6CFDE362B2ED /* NVActivityIndicatorAnimationBallScaleMultiple.swift */, + D9214F0DF7C8D8C8D8CF8AB2D5B50F95 /* NVActivityIndicatorAnimationBallScaleRipple.swift */, + 98F3BF9EB61411D9B7C460CE43B72D8A /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift */, + 970E6A4ABBE1079AD1DA80924A430F47 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift */, + D9F2073C41BE615D4F3B59077474924F /* NVActivityIndicatorAnimationBallTrianglePath.swift */, + 3BD0D08EA289883BE8BA3D1E2F2A9B2B /* NVActivityIndicatorAnimationBallZigZag.swift */, + B3E2721933951933A41131DC1A9BDC6A /* NVActivityIndicatorAnimationBallZigZagDeflect.swift */, + B4C32EEBAA16F900E40CB02966456C05 /* NVActivityIndicatorAnimationBlank.swift */, + 37312AAB7CFA4362B06A9E89E6FF3ED2 /* NVActivityIndicatorAnimationCircleStrokeSpin.swift */, + 0BABDCEC54BCD9B98BF6C384B0F2B769 /* NVActivityIndicatorAnimationCubeTransition.swift */, + 36800AB718E03A93CF361EE118E04ED1 /* NVActivityIndicatorAnimationDelegate.swift */, + 475B322B55B8E1B168A9F078E7E58F88 /* NVActivityIndicatorAnimationLineScale.swift */, + E463E70EDF92A8FED0B587DA42DD6692 /* NVActivityIndicatorAnimationLineScaleParty.swift */, + 69B93E89881AC9D2381E5257CD95191A /* NVActivityIndicatorAnimationLineScalePulseOut.swift */, + E2118CA94270DFA4D5811B592B9F68B7 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift */, + EFF961CCC805140F0B5C37EBA85CC84A /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift */, + 9CB15126782652F34CED29272E48A800 /* NVActivityIndicatorAnimationOrbit.swift */, + 2799D19990FEF24A6A17B89446367E11 /* NVActivityIndicatorAnimationPacman.swift */, + F31E6578BC4DFDED46E3AE82B5A5D87B /* NVActivityIndicatorAnimationSemiCircleSpin.swift */, + 2B64B75A3AC7A1E982C17001781BF67C /* NVActivityIndicatorAnimationSquareSpin.swift */, + 88731B7E8E4E9D2D7F2B42C708231F16 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift */, + 32A460B369D9E56F2F6A23A9E5C5D157 /* NVActivityIndicatorPresenter.swift */, + DA1B86A4E77C8652C1547E3249058EFA /* NVActivityIndicatorShape.swift */, + 4DD24D57CF6DD9814DF3D64336E01553 /* NVActivityIndicatorView.swift */, + 7F68F503DCA7185D58EE99D6BF44C890 /* NVActivityIndicatorViewable.swift */, ); - path = Threads; + name = Presenter; sourceTree = ""; }; - 9854A63F4031035A658F9832DD20CD7B /* Crypto */ = { + 98AA7AC9B95DED9B6F3C3B0122F1BEA4 /* Messages */ = { isa = PBXGroup; children = ( - C62258203BD3D1E7809A574F1A576A52 /* ECKeyPair+Loki.swift */, - 2B16464D9FF3CA817BE7FC886AAB14FF /* Mnemonic.swift */, - 2A6673F52A4EBEE444F8C414602E0B29 /* ProofOfWork.swift */, + A9FF00E6ED25CEFCBF3EA9DD18145938 /* OWSDisappearingMessageFinderTest.m */, + C80E253C73B643C2715C5EACEE758DD6 /* OWSDisappearingMessagesJobTest.m */, + C700CDF54CBFFCC29FAB18DA450AE0B7 /* OWSIncomingMessageFinderTest.m */, + 36C835397379699F8A4CD643AA47AA52 /* OWSLinkPreviewTest.swift */, + 5EBE9A148BCC827E3A73CE96CCABBF33 /* OWSMessageManagerTest.m */, + FE818358B61D0F153782FB81BD204985 /* OWSMessageSenderTest.m */, + D6B4A9C40C38A2A202368FC9EC32EC45 /* OWSSignalAddressTest.swift */, + 2C36BE3F884D5BB6AE82E4713F049251 /* OWSUDManagerTest.swift */, + B9769E7BC1892A47FE7121C268754549 /* Interactions */, ); - path = Crypto; + name = Messages; + path = SignalServiceKit/tests/Messages; sourceTree = ""; }; - 99556AFB96E01C142FD2D1B3F842BA5C /* CloudCore */ = { + 9CA5C279F7A9194F86B4D44E01422D57 /* FeedKit */ = { isa = PBXGroup; children = ( - E797E7FDB20CD3ACE969E8803086369C /* YapDatabaseCloudCore.h */, - 94C2937821F1B561D414A1AC8829F463 /* YapDatabaseCloudCore.m */, - 1E5C88EA887F574B2F28AD43BE4D4E0B /* YapDatabaseCloudCoreConnection.h */, - E70C69E16BC66623334D66FC68CE3C99 /* YapDatabaseCloudCoreConnection.m */, - D5C59ACB24D671102B17AF9B4865984D /* YapDatabaseCloudCoreGraph.h */, - 6DA9238EA149B49177007EB4063E49CC /* YapDatabaseCloudCoreGraph.m */, - 6874544BF2BCEF41E9B9C38EF27194E1 /* YapDatabaseCloudCoreOperation.h */, - 5DFA04F0A881B782DE180FF816FA90BB /* YapDatabaseCloudCoreOperation.m */, - 40E92E379902A07636FE3601CA4C326F /* YapDatabaseCloudCoreOperationPrivate.h */, - D72B97D264596E697EECECDFC131E554 /* YapDatabaseCloudCoreOptions.h */, - 9D10A9CC3BB210539C60E1FF7BA77C2C /* YapDatabaseCloudCoreOptions.m */, - 89C4FA8D327468D47BF5768639718236 /* YapDatabaseCloudCorePipeline.h */, - 58D6B77A917D195877E888CCDF06C9D8 /* YapDatabaseCloudCorePipeline.m */, - 029F484A2CFEDE5C9DDB32C8E558FB85 /* YapDatabaseCloudCorePipelineDelegate.h */, - 9564AD3E5416FC8DBB8ACDEF58DFA721 /* YapDatabaseCloudCorePipelinePrivate.h */, - AB8FDE6F6E16102428DDBC6CF7BBEA76 /* YapDatabaseCloudCorePrivate.h */, - 70F90ED168D95F782FAEC04558EB26A2 /* YapDatabaseCloudCoreTransaction.h */, - B5A5F6054F72EBB42CE9FD6FBAD6D844 /* YapDatabaseCloudCoreTransaction.m */, - EB7CCF8D0311A369DDE4927F65F17040 /* YapManyToManyCache.h */, - 46E3E93F256C17E4DB4570B4C4BD448A /* YapManyToManyCache.m */, + B8B2D395DF453F8C71810305C03BE714 /* Array + Equatable.swift */, + 215D0E6E4C29E64C94FDDE0F5D086053 /* AtomFeed.swift */, + 9BC5A5EE170101833EB0A50EBEA56B65 /* AtomFeed + mapAttributes.swift */, + 2EC86B4A94B8B72EDF16E0DACB093FAF /* AtomFeed + mapCharacters.swift */, + DB36651977DC94E4FD806826CAD68018 /* AtomFeedAuthor.swift */, + 1640778F54A3ACB97B9A835A0DC857DE /* AtomFeedCategory.swift */, + A6A109E8B61F7ACEA20A02C3B0274F5C /* AtomFeedContributor.swift */, + 7C3438F69656192A4D49715B3145CCEE /* AtomFeedEntry.swift */, + 706F511C7F855B35B6FC716EA6853069 /* AtomFeedEntryAuthor.swift */, + 411CBCE05356C7512AF97CF5167291B9 /* AtomFeedEntryCategory.swift */, + B7E4788C2F0B04AB54D6E51E6D97C902 /* AtomFeedEntryContent.swift */, + 8FF8FE61429C51200BC3BE033A5586B5 /* AtomFeedEntryContributor.swift */, + AA813150DF47950EBEFF9EA93F28B583 /* AtomFeedEntryLink.swift */, + 9FD73A8D99752B83054B11F5731B875D /* AtomFeedEntrySource.swift */, + 0EA2C072B9EB7440DA8C83387DC47D69 /* AtomFeedEntrySummary.swift */, + AE3F35E6B39DF54C6494E6757CE036AF /* AtomFeedGenerator.swift */, + 3BEE03F988FD6F30A51591446BCA895C /* AtomFeedLink.swift */, + B1842991FE75624B0B9158158328A9F3 /* AtomFeedSubtitle.swift */, + 661C53C0F2AE8BF045193DF9865A743B /* AtomPath.swift */, + AC87C33B56EFC451C538317D354882A6 /* ContentNamespace.swift */, + C1223A8B4899E362FFC948BCB68FAC86 /* Date + codingStrategy.swift */, + C1D0ECCE0F6D688793F4C2B0A8E06FE7 /* DateSpec.swift */, + 94FB612C2EE5BDAA33DF71BA031CFC60 /* DublinCoreNamespace.swift */, + 92D0B6858E87DD42655B202F88A9F793 /* FeedDataType.swift */, + E80DDBE542295F7D991282136F2BB17C /* FeedParser.swift */, + 06971F0EBB173E82519A7BC32C5EB036 /* FeedParserProtocol.swift */, + 7C404FA233B7C9371746FE65894AEBF1 /* ISO8601DateFormatter.swift */, + C869931B940B1E8F7C80963A4862ABB3 /* iTunesCategory.swift */, + C72EF2884FD26FF09E56D8D1C4EA1349 /* iTunesImage.swift */, + 5363CB00BA21A7589B73713EC01AD813 /* iTunesNamespace.swift */, + E914D199A8499D475A36A668FA17142D /* iTunesOwner.swift */, + 0729D887F701704B930715B35A3C14FF /* iTunesSubCategory.swift */, + BCF228D443F9038A08CC8D14388EB89B /* JSONFeed.swift */, + 91D74F71D488A6CC4AE46F1F677E1680 /* JSONFeedAttachment.swift */, + AD2D931AE93ED75C6B3B8CE536FEC146 /* JSONFeedAuthor.swift */, + 8BBA7CE807B3DE9C0FFD87B551A25B10 /* JSONFeedHub.swift */, + 809F572799EF6229FB222895228B1EDC /* JSONFeedItem.swift */, + 33A332B5E31448BE2F447F8827F99973 /* JSONFeedParser.swift */, + 9D888C81FE887D26FA0F4A155A3A2588 /* MediaCategory.swift */, + ABE44DE2616203B43B80D35889205E46 /* MediaCommunity.swift */, + FC90A91DA025BCFBF6DA321BE4BC093E /* MediaContent.swift */, + 559D15EE6CD2CBF151636AFDFC60909B /* MediaCopyright.swift */, + 5331B5F3A76929528A78F47304F63BE7 /* MediaCredit.swift */, + 855963D9B9B178E7E378714E0D8B1E6C /* MediaDescription.swift */, + BF06C3E40AC432815EE4C9FB596C3207 /* MediaEmbed.swift */, + A5CBEE56783985FA6CDCA84A9D02F9E9 /* MediaGroup.swift */, + C4CAA212BA015C00D7AA7E6503CAC516 /* MediaHash.swift */, + 46B014F84C63AEA14CD98A91D293A28D /* MediaLicence.swift */, + A2928849EBD9FB50F2FE711E0299425A /* MediaLocation.swift */, + 3C5931B4F4C582293351AE52C15C4275 /* MediaNamespace.swift */, + 5D695EF42C943B89AA4869AAE4D35020 /* MediaParam.swift */, + FE19FBBA8FBE06DC1A340D1C54A31B21 /* MediaPeerLink.swift */, + 4C38F3A54EB991D2A07C79946BA599DC /* MediaPlayer.swift */, + 7F5169D8EEC995A7CE72A61C57C994E8 /* MediaPrice.swift */, + 1B1FFB8219B2E3D9B0355A2BA45CCF4A /* MediaRating.swift */, + 33977B47070EF355AC43B7CC71AD486C /* MediaRestriction.swift */, + 545A6C90FD373AC096A08FB87DE389A8 /* MediaRights.swift */, + 83C1F4EF91B95EC0E154297660D4EE9B /* MediaScene.swift */, + 33BF004C0FBAF3FBD1F5A37C16875EBD /* MediaStarRating.swift */, + D786375C7083F1D8963F7F2ADD424524 /* MediaStatistics.swift */, + 407E137CE1341A419C509DC26A57156A /* MediaStatus.swift */, + C87346F261AD7073E23A3A83135C1AE7 /* MediaSubTitle.swift */, + 0049D6D08A021A29C2F67358B872BE26 /* MediaTag.swift */, + 555A2E239B949DC594250DD3D0D1B204 /* MediaText.swift */, + 4D904D27AA88B4A1FED9DC15B0B72C8D /* MediaThumbnail.swift */, + 603D743D57375F04CD1A96E97BA3A1CB /* MediaTitle.swift */, + E854981C7D32C92A6B0FCE685EC2601D /* ParserError.swift */, + DAF166029235C8FD41FE0981CB288016 /* RDFPath.swift */, + D8FCF97186566FBEECDEEDF93390B479 /* Result.swift */, + 474954B2CABE7BFEBD23EF43922426DF /* RFC3339DateFormatter.swift */, + 9C7FEB43F38DB5DFAD56E657B9145C34 /* RFC822DateFormatter.swift */, + 9FE5854A0EE5B879075D8D82A11AB5C5 /* RSSFeed.swift */, + CCBB5BE6B55A40D62F9A732B5E5E1857 /* RSSFeed + mapAttributes.swift */, + CC065B5B1C46AAC9AAE0A904CB145FE2 /* RSSFeed + mapCharacters.swift */, + C6C95F5BCC98FA47BC6B4035A0CB899C /* RSSFeedCategory.swift */, + 8D0E31C684E860A5B56FA99E7B7FAA38 /* RSSFeedCloud.swift */, + D185A629847E9F817B45FF1FC6704BC7 /* RSSFeedImage.swift */, + 4C8926E19902CB1522414662944C6BE5 /* RSSFeedItem.swift */, + A88C0AF91250808E0D47A7BF74D2B5FA /* RSSFeedItemCategory.swift */, + 4BAE02F6E15EA8E8B378F1232F342119 /* RSSFeedItemEnclosure.swift */, + 042FEDEBDA420D0707531E170CD9C055 /* RSSFeedItemGUID.swift */, + D2CD125F2E1D52BCD25D4E0DD0B5FFDB /* RSSFeedItemSource.swift */, + 446998CD50E0AD19EF3ADAB0E931744F /* RSSFeedSkipDay.swift */, + 8A9CFF54A6A16103137CDF9F0F08C9B2 /* RSSFeedSkipHour.swift */, + C08226F70ED7891E41D1C88F1E72AB5B /* RSSFeedTextInput.swift */, + A75A22C969934BA745427914F76F22AC /* RSSPath.swift */, + E15F292EEC71F1CA6B1B8AD844F2F09D /* String + toBool.swift */, + 55F677664F08E41A46AE26020BEAA1E1 /* String + toDate.swift */, + 11C4BC691EEE203DC77A7694FFBDBD86 /* String + toDuration.swift */, + 66073362502E2CB7F3144CC4C5881F95 /* SyndicationNamespace.swift */, + F4DE000F6DD39FCD4447C6D14AF437A0 /* SyndicationUpdatePeriod.swift */, + A04B6EAFBBCFDD3D016388088D9BC7FC /* URL + replacingScheme.swift */, + FF63183B095F0EB4B518918D1A1F546F /* XMLFeedParser.swift */, + 699583DEE43B8F8DE9475B319D4F3E3B /* XMLFeedType.swift */, + F8D02E9A98C29888EAACC25ECCD70D75 /* Support Files */, ); - name = CloudCore; + path = FeedKit; sourceTree = ""; }; - 998ACABD93F4335C9B91EA537E752B3B /* FullTextSearch */ = { + 9D296F115A3E4E6539B4105B0899D6A9 /* Frameworks */ = { isa = PBXGroup; children = ( - 2188620CAEE4D9EAB27A5058EAB0D537 /* YapDatabaseFullTextSearch.h */, - 1BEC36268F5FFA97712E3D79B62B77D1 /* YapDatabaseFullTextSearch.m */, - FA318D79478C52FD2722E1482070173E /* YapDatabaseFullTextSearchConnection.h */, - EFC7082A8EBBE1869FC3C158DF1186F1 /* YapDatabaseFullTextSearchConnection.m */, - 0DF1D8D2DDFE843DAC41A513DE027960 /* YapDatabaseFullTextSearchHandler.h */, - 2711D1AD5560C23E5419C842DE766D0D /* YapDatabaseFullTextSearchHandler.m */, - EF4534424B5A3D8B517C4C491BE919EF /* YapDatabaseFullTextSearchPrivate.h */, - 3182666BD26428150331703CD5F5CC91 /* YapDatabaseFullTextSearchSnippetOptions.h */, - 398029584AEAAC09651007103AC98C90 /* YapDatabaseFullTextSearchSnippetOptions.m */, - D03C002B7BFF3B57559BA15C4D370F08 /* YapDatabaseFullTextSearchTransaction.h */, - 6DE9A40AC81F5F170252EEC14C5DFAAF /* YapDatabaseFullTextSearchTransaction.m */, + 12CC863BB3EBE0C2127EC23D87691B9F /* AFNetworking.framework */, + 60B94E2EFBFC76BCC0A28B0F38453531 /* AxolotlKit.framework */, + 80017E896F5B0F0A9AEA73FE506386C7 /* CocoaLumberjack.framework */, + 84E0CF2E38A4A0848CBF9404D288AA7D /* CryptoSwift.framework */, + 32846321BF06BC2A8EEF822794DC640F /* Curve25519Kit.framework */, + D132DC0ECF8C44B87F4D3A00C575B55B /* HKDFKit.framework */, + 9D7C74EDDBBACEF5B0BAFB2EBA275E7A /* libPhoneNumber_iOS.framework */, + 105A09420FE1510704E250412F9B244B /* Mantle.framework */, + 6C8373E810AC14FC0E7EDA6E9C7E5D4B /* PromiseKit.framework */, + C4B6A6268319A30F3EB2D687A5A1B10F /* Reachability.framework */, + 65B24234D523A687A2128490691B30ED /* SAMKeychain.framework */, + A12838EDDA1FF178D07F4905B0474DB9 /* SignalCoreKit.framework */, + F840133138F36FACBAEED4B069BFE704 /* SignalMetadataKit.framework */, + 39898C52C56BE2393B9B8E0CA9F32A29 /* SignalServiceKit.framework */, + 15EAF1EC54113702F786CAF05A5D500B /* SQLCipher.framework */, + E837B3EF36DB408C33F61ED53D9D55D4 /* Starscream.framework */, + FB089DADB68A3A4E7C3262823A798622 /* SwiftProtobuf.framework */, + 1BA0F08B7AB69E295E331EB795C8D28B /* YapDatabase.framework */, + DCD9D8FC7FA0811318A6695EBF9465BC /* iOS */, ); - name = FullTextSearch; + name = Frameworks; sourceTree = ""; }; - 99DE923210D2A5B216AC93FB0A20C9D1 /* AxolotlStore */ = { + 9D4BA84F7EB3F4125472460F319ED3F0 /* WebSockets */ = { isa = PBXGroup; children = ( - 8785EF1F534FDE34B7F5EF31C440F9E8 /* OWSPrimaryStorage+Calling.h */, - EA37A788287B5F9D9D2EBB4512B13DE3 /* OWSPrimaryStorage+Calling.m */, - D2D2D88AE8D95B391E67046987ABA0A8 /* OWSPrimaryStorage+keyFromIntLong.h */, - FACE4DC5AE7D9B85E5806E34BCB15E98 /* OWSPrimaryStorage+keyFromIntLong.m */, - EC602F168E7778B0D9B0455419363705 /* OWSPrimaryStorage+PreKeyStore.h */, - 1C9764A733B69C180D08242EEC70BAC9 /* OWSPrimaryStorage+PreKeyStore.m */, - 01E3EC73CBFD89FF717CDF62DBB3E34C /* OWSPrimaryStorage+SessionStore.h */, - D267792FFA792E3094C3ACF922126087 /* OWSPrimaryStorage+SessionStore.m */, - 53D7828BEE9FBC1414D1D82520E98C2C /* OWSPrimaryStorage+SignedPreKeyStore.h */, - 63F4B0FA72E8C4193365A9BC6BC67FFA /* OWSPrimaryStorage+SignedPreKeyStore.m */, + BB9AB7D78FAD18DA0BA6CCAFE0A58E25 /* OWSWebSocket.h */, + 4B39C76DAA74B15BF07D297A65F556EF /* OWSWebSocket.m */, + 91249A30400D634EA50A32908454151B /* TSSocketManager.h */, + 813B2C1B2D39614630B373AD555EB9C0 /* TSSocketManager.m */, ); - path = AxolotlStore; + path = WebSockets; sourceTree = ""; }; - 9CE416B98675A9C51ED3AC15D0340680 /* View */ = { + 9EF9921A0EA6DCCFFE3B209D6B6DACB3 /* DeviceSyncing */ = { isa = PBXGroup; children = ( - 99BC78B551179B1A94CBA426EB11AF10 /* YapDatabaseView.h */, - 3D03A9149C1A2205B5AE6A7B4012B543 /* YapDatabaseView.m */, - 7B78468425550A60EE166E6B8AEE0B11 /* YapDatabaseViewChange.h */, - 9018D4DEFFDDD1E7D8363F2DFED7EA05 /* YapDatabaseViewChange.m */, - 458E07751363AF47B3B0947203656A9C /* YapDatabaseViewChangePrivate.h */, - 4B02C607F064093E832291A99F22A835 /* YapDatabaseViewConnection.h */, - 6994CA8B3ABA5DF0C86BE842D5659554 /* YapDatabaseViewConnection.m */, - EC1D7C62FD275690885071CD01F9A967 /* YapDatabaseViewLocator.h */, - 501EF4889B7C7CA18F77DBDAA2E2BC89 /* YapDatabaseViewLocator.m */, - 1202FEEA39494BCD69E01AC4AEBC82D1 /* YapDatabaseViewMappings.h */, - 68DEDE9B65DE340F6F6E486CE08C0017 /* YapDatabaseViewMappings.m */, - A9BCACE531D08EDE880C3C0101F59DBC /* YapDatabaseViewMappingsPrivate.h */, - 6D523F3B48976F94B331638C65FA50FF /* YapDatabaseViewOptions.h */, - A2B839486B8FFC190EDB97D84B0A4714 /* YapDatabaseViewOptions.m */, - 92CFA4692F9D94511734B0FE082BE659 /* YapDatabaseViewPage.h */, - 3DA1EB2A8B627B2753EC069A98C08782 /* YapDatabaseViewPage.mm */, - 072908055C0B9CBFCF124015320CB1D6 /* YapDatabaseViewPageMetadata.h */, - 75F5B222BF477865B14F3272EE08C422 /* YapDatabaseViewPageMetadata.m */, - 6FF3F59C65F7117F4797B2E8986A9E7F /* YapDatabaseViewPrivate.h */, - 1AAD033C85C2C66AFC36B213558780C7 /* YapDatabaseViewRangeOptions.h */, - EF294A26210C772DBF21CD2707732228 /* YapDatabaseViewRangeOptions.m */, - 19799CB714A23C8CA3783288CA859246 /* YapDatabaseViewRangeOptionsPrivate.h */, - A49B266D072F37C43C94D0EE40EB9BE2 /* YapDatabaseViewState.h */, - E84AFD71C7C42BCDF02380D4F2C44972 /* YapDatabaseViewState.m */, - AA5598BD9356C7B272E90C8E2340C4DB /* YapDatabaseViewTransaction.h */, - 3D87EBA53443140FA08AAB98E6909E02 /* YapDatabaseViewTransaction.m */, + 3FEDFADC5603FC9016D2915BF718C68B /* OWSIncomingSentMessageTranscript.h */, + 6553DD76EFB7F0707773288B710FDC64 /* OWSIncomingSentMessageTranscript.m */, + 2D378D4BEF7DBF547F2F795A15607108 /* OWSOutgoingSentMessageTranscript.h */, + 6A64CBD35C7283084681BBADF61BDF95 /* OWSOutgoingSentMessageTranscript.m */, + 20F55BE40B936FA42EEF290FF7DAB0BB /* OWSOutgoingSyncMessage.h */, + 977F32156DB21155C633A0E816DA08AA /* OWSOutgoingSyncMessage.m */, + AE7830067DD05659427DB766C3A2F084 /* OWSSyncConfigurationMessage.h */, + 9613A5333B0DB08A65FFA5901A012BDC /* OWSSyncConfigurationMessage.m */, + D1929BF5C3937C168F3A7CC9B482E8B1 /* OWSSyncContactsMessage.h */, + 3CC0C2A31AE2AB6A715AF4167A0FDFCF /* OWSSyncContactsMessage.m */, + FD60F15B0E692D73888727489C8D0771 /* OWSSyncGroupsMessage.h */, + 70E660DBF0F7C05FD2C795364105766D /* OWSSyncGroupsMessage.m */, + 5C31B43EE49AA7AF612F3D446D3FD0FB /* OWSSyncGroupsRequestMessage.h */, + 8A1AF3CB6EC742A49627432AA3F1079E /* OWSSyncGroupsRequestMessage.m */, ); - name = View; + path = DeviceSyncing; sourceTree = ""; }; - 9D8F4520DA5D67D6F826E9768C445D42 /* Support Files */ = { + 9FE668C7A03A29225CACCD49E7E54E63 /* Support Files */ = { isa = PBXGroup; children = ( - BEF1E6077DE793C6B09C859166350875 /* Info.plist */, - B6AB68D3124EB80CBC265859EE6D90A7 /* NVActivityIndicatorView.modulemap */, - 8D94CBEC5821939C0FB73F7E90B94FAE /* NVActivityIndicatorView.xcconfig */, - BF46EC4B81F9F8309B740DE7F506127A /* NVActivityIndicatorView-dummy.m */, - BD95A03089CD678033A8C1FE1E64ED10 /* NVActivityIndicatorView-prefix.pch */, - DC5677395470D33FEBB9B244AF45C69F /* NVActivityIndicatorView-umbrella.h */, + 32903ADA5009F2550323FD223B9FB852 /* FirebaseCore.modulemap */, + D34EFDC3257FE3575E487FCDA5FD1DE4 /* FirebaseCore.xcconfig */, + 4570E27389E695E05C42E0C50F7574E8 /* FirebaseCore-dummy.m */, + 9E69E72CD7BEFA8D85CEFD505BA9D6B0 /* FirebaseCore-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/NVActivityIndicatorView"; + path = "../Target Support Files/FirebaseCore"; sourceTree = ""; }; - A0C6BC6D8E0FA5DAD27EE50DBD03869B /* Support Files */ = { + A169B8B669E05944329F643B7D3C83F5 /* FilteredView */ = { isa = PBXGroup; children = ( - 2B2D85078C3406A746B3A0F5EFE36998 /* GoogleUtilities.modulemap */, - 31EF34DE0D3F982275897C13751E8B97 /* GoogleUtilities.xcconfig */, - BB4373E95FA8F9CBC760FCF854A510D6 /* GoogleUtilities-dummy.m */, - AB1A3499FFE283F1385D36DCEE22E8F8 /* GoogleUtilities-prefix.pch */, - 2CF821C2DA787F51973337E3F555118A /* GoogleUtilities-umbrella.h */, - DF42E7AF60B1DA420B1413916E3E4785 /* Info.plist */, + F59ADB56DD41D95ACE6B4128F9DCE169 /* YapDatabaseFilteredView.h */, + FA4F045A1BCACC45DF9AAF7B1CB37CFB /* YapDatabaseFilteredView.m */, + D2DAD7A23CC8ECFDB5BFB373320DE797 /* YapDatabaseFilteredViewConnection.h */, + 4FF7624E1BDF8A9AE72EEDC39E447333 /* YapDatabaseFilteredViewConnection.m */, + E916EF59BB0AC73DF7908C9AB35F0129 /* YapDatabaseFilteredViewPrivate.h */, + 0EA0EFFBC378600C97D748C7FDD6371E /* YapDatabaseFilteredViewTransaction.h */, + 891FACBC1DE91F4A0B2BDEDCEE7BC05F /* YapDatabaseFilteredViewTransaction.m */, + 85554FF3CE7607CC85B5EEA56E4A7F2B /* YapDatabaseFilteredViewTypes.h */, + E854C0175259A8B6582D93ECEB259968 /* YapDatabaseFilteredViewTypes.m */, ); - name = "Support Files"; - path = "../Target Support Files/GoogleUtilities"; + name = FilteredView; sourceTree = ""; }; - A2EFB0AC010887833B79F1E7086E74CF /* src */ = { + A2339DF3D8C09FAC92B0220C64EEA9FC /* Pods-LokiPushNotificationService */ = { isa = PBXGroup; children = ( - 507E6D06DD9F16F93A7E08544B921FD7 /* Loki */, - ); - name = src; - path = SignalServiceKit/src; + 2017325EAD2700A2B59EEDB5BA241519 /* Info.plist */, + 80370718C7F3990B7CD783D5C0C1D475 /* Pods-LokiPushNotificationService.modulemap */, + 74A8334C5739D10192A4E51FC29B57B4 /* Pods-LokiPushNotificationService-acknowledgements.markdown */, + 8F990FC34575F60EE79251727C6796D6 /* Pods-LokiPushNotificationService-acknowledgements.plist */, + D18E0335322D6750AC5C10A7D443B7ED /* Pods-LokiPushNotificationService-dummy.m */, + ADDC721A494E39701B1246580BAEEF27 /* Pods-LokiPushNotificationService-resources.sh */, + FE8001C06EC37CBEB1A054D4182473E1 /* Pods-LokiPushNotificationService-umbrella.h */, + DC6D871493A3454F2F6ABD2A3F1706FB /* Pods-LokiPushNotificationService.app store release.xcconfig */, + F11225A445571C55C46D973512749527 /* Pods-LokiPushNotificationService.debug.xcconfig */, + D701F9D2ECF411361309B9F90D470B7D /* Pods-LokiPushNotificationService.release.xcconfig */, + ); + name = "Pods-LokiPushNotificationService"; + path = "Target Support Files/Pods-LokiPushNotificationService"; sourceTree = ""; }; - A5AD3D174C5FE4CF0A6B9BBF841403BA /* Loki */ = { + A3BB5E8ED882340ED64659C993B98837 /* Support Files */ = { isa = PBXGroup; children = ( - 2C5FCC0DC6A531BE3A54B7F83D0277D1 /* API */, - 9854A63F4031035A658F9832DD20CD7B /* Crypto */, - CC2F7BC5B324DDABC4CD73C34161F9B0 /* Database */, - F524083750F13B9C6214706599F98045 /* Messaging */, - B8AAA37323F5193400928D04 /* Shelved */, - 802C36E4FA217375694F86F17DF73906 /* Utilities */, + 13F175AA5A6C4004FCE1D84D54771135 /* Info.plist */, + 51CEEFA7CB81C136F2BBD1C3E00CF336 /* SignalServiceKit.modulemap */, + 10B07EF4DEB4FE50DD2FE5BC9AAFBC8E /* SignalServiceKit.xcconfig */, + 3390EC66F41A16310C2AF66B7647DD80 /* SignalServiceKit-dummy.m */, + DE81D5975DA752A1C90323BAEB980B2B /* SignalServiceKit-prefix.pch */, + 8AD9D0E435E69652D66C37CEE050F8D5 /* SignalServiceKit-umbrella.h */, + 9900C3991D13B9136E3FAD106F9DFDC4 /* SignalServiceKit-Unit-Tests-frameworks.sh */, + 9C2AA05929CA2ED254D3299C189EC805 /* SignalServiceKit-Unit-Tests-Info.plist */, + 960AF87F5DFCA86CEB2E67AE98AB1DF4 /* SignalServiceKit-Unit-Tests-prefix.pch */, + 2AF0DF7DEA6DD32292AA0F48D8CA4850 /* SignalServiceKit-Unit-Tests-resources.sh */, + 4C564182DCDEBBEE43CB2460143CEC96 /* SignalServiceKit.unit.xcconfig */, ); - name = Loki; - path = SignalServiceKit/src/Loki; + name = "Support Files"; + path = "Pods/Target Support Files/SignalServiceKit"; sourceTree = ""; }; - A6B641247F3CF9476A706E55522DD5E1 /* Tests */ = { + A40124CC6BDAE5B2040AC70C1C3FCDE5 /* Pods */ = { isa = PBXGroup; children = ( - 0CB85DCDBE92FB7384EE05EDCCDFCEE2 /* SSKBaseTestObjC.h */, - F43923211E1D1E87D49E0ABE3CC28F91 /* SSKBaseTestObjC.m */, - 6CE4166573E532BDFEA71BF289F25D45 /* SSKBaseTestSwift.swift */, - 81271C24D7651B1483E41C13989FD3DE /* SSKSwiftTests.swift */, - 283F63B3C47FF5CAB5480AEF291042C3 /* Account */, - 6E4D370F755F3BE6FA75FF2999211550 /* Contacts */, - BDF1BF90A004D068CC86602A9FADD872 /* Devices */, - 90E33A6D994201E04A33273F355B91AF /* Messages */, - 381D0D688C91879B6550647CA0006545 /* Network */, - F9021D6BC7D8D367A3CBE4155E57D27B /* Security */, - DE36B22A88FF8591A80A7F8CD491A3E6 /* Storage */, - C9ECB8C2B34CF9FA4AB54D4FA1F7BC11 /* Util */, + 2B25CE5177B693BEAB83866356BE1370 /* AFNetworking */, + 7887B343075598634C7E315EA8F8B64E /* AxolotlKit */, + C5EB909DFFDDA65F895D3F1287B7C14D /* CocoaLumberjack */, + C92349EFF76B87AE3469A3D0D93D733C /* Crashlytics */, + 10919EB47DF7B8C58BD6D5A6658F079C /* CryptoSwift */, + 19665098E39BA34BA18899AA0BDA8C90 /* Curve25519Kit */, + E6484106FFBB918306978EBA20AA411F /* Fabric */, + 9CA5C279F7A9194F86B4D44E01422D57 /* FeedKit */, + A9FCDFE96CF2AFACE0459F3D0BC6A225 /* FirebaseCore */, + 1FAE2FF1968EA6520124282A60841386 /* GCDWebServer */, + 585FFBA0521EEDB1E264FCE4F96DCA3A /* GoogleUtilities */, + 84F666557773950EF343A5D284AB8F45 /* GRKOpenSSLFramework */, + 5414AE2BC25926C7FCBBBAB8D7AA2335 /* HKDFKit */, + FB79C1125DB5B4ED0BBED50CFC19A098 /* libPhoneNumber-iOS */, + 4AD870AE33FDCDEEF3ADC530D5D222CF /* Mantle */, + 532F5818D502985BB127F320B11851DD /* NVActivityIndicatorView */, + B1A34A44D9474FA146583D9B0038A08F /* PromiseKit */, + 6033865614E9567402A9A0A3542F6108 /* PureLayout */, + 7E4CD5D8BE4125F6731C2D5C5A3CDE7E /* Reachability */, + B3674F30AAB58B27063A86FAB4E61653 /* SAMKeychain */, + 16BAD8719960497E44DDC2A4ABA9B4C1 /* SignalCoreKit */, + 54F58625A22B23291C2938308201000D /* SignalMetadataKit */, + F20D11B6BF88F4F588AFCC53CBC8C38C /* SQLCipher */, + 33AE6FE5A7305BDE1AC4A5D5598547BC /* SSZipArchive */, + 09A9EC0826DA1B89E3BA5BC9C478AB00 /* Starscream */, + DA0DBB325F9A588F30519890A14661A3 /* SwiftProtobuf */, + AE56782CF09C499D520D063848441165 /* YapDatabase */, + 7101518BEC7548671692494D083A2A8B /* YYImage */, ); - name = Tests; + name = Pods; sourceTree = ""; }; - AA74FD66E654CF07F247122DCCB7F9BD /* FeedKit */ = { + A60727FFB44113E3AB99F6792EE3B1E8 /* Tests */ = { isa = PBXGroup; children = ( - 1604E2CAAEA0B34C19969B1862FF914D /* Array + Equatable.swift */, - 297265683C3D4324FD4A6E1A8C52C03C /* AtomFeed.swift */, - CC523AB27FCC648A185067B162074571 /* AtomFeed + mapAttributes.swift */, - 4BDF0BEC22DA65D627A350348FF16A91 /* AtomFeed + mapCharacters.swift */, - C7A8F0B5EC9CBCBDDDFF44B7858B7F24 /* AtomFeedAuthor.swift */, - 5D2A5C44FCBCDBC5E5953FAAAB2238F3 /* AtomFeedCategory.swift */, - C83E24C043AE05487C0EFA61589E3835 /* AtomFeedContributor.swift */, - 5865C0906B247C2C6CAF1CB2AC558306 /* AtomFeedEntry.swift */, - 3E2637B7738A729ED9FF2DD1D3097287 /* AtomFeedEntryAuthor.swift */, - 7E83DD387A63FC46C567FDE1EC776295 /* AtomFeedEntryCategory.swift */, - 59F95C970ED236A38A4E5C7EEAA58108 /* AtomFeedEntryContent.swift */, - 4D75B5B6238A6FA73FDC71D5A5B0D38B /* AtomFeedEntryContributor.swift */, - 6E03D7C5F4C2285BA58CAED5A5CB80AC /* AtomFeedEntryLink.swift */, - 3D8264CA34ED00776B517F3C7A1EB394 /* AtomFeedEntrySource.swift */, - 483752DC029C77C4F1EDE6C68145106C /* AtomFeedEntrySummary.swift */, - F710439143948E44F31C1D247393847E /* AtomFeedGenerator.swift */, - F7E4321318C25FA53205F4BB36970930 /* AtomFeedLink.swift */, - 4A38353FF7F7DC19FDEB407F1B2F8C6A /* AtomFeedSubtitle.swift */, - 42D27836F27A95AB7E5DAB139FD7B9CA /* AtomPath.swift */, - 086366D1979E02CDEB4BE58898558746 /* ContentNamespace.swift */, - C4937BA7C6A0104AC86EED278EA169D6 /* Date + codingStrategy.swift */, - 04B2729E21E8136DED182E9CE4B70425 /* DateSpec.swift */, - 2CC6E59462D5E48FAC3A4DC259C71BBA /* DublinCoreNamespace.swift */, - 53B08F992935F46ABDB1E9F4FFCC1667 /* FeedDataType.swift */, - 446578EB64ADE6AEFC5B4E0CB8506B7E /* FeedParser.swift */, - 011DEF3EAA317217C77ADD545A415149 /* FeedParserProtocol.swift */, - E9AD17CDCDFFBA0CEC260802FC293E05 /* ISO8601DateFormatter.swift */, - ED0801D6383F3127A6AD18417C1ADBCC /* iTunesCategory.swift */, - ABD260331ADA9DC23594D7B327EB127B /* iTunesImage.swift */, - 9E5973C83C637D98672A867DBEC26322 /* iTunesNamespace.swift */, - 25CFA51FA202E2D37C42A566A9D5793F /* iTunesOwner.swift */, - 83FD097AEB7085F6667ED50D486DE3B2 /* iTunesSubCategory.swift */, - 48DE8548DD70DC217F7418B5BC4BBC30 /* JSONFeed.swift */, - B8DEB576E3EDCBA4D1BDBE44916A6669 /* JSONFeedAttachment.swift */, - 7D54D10BD1473F8DFF5AC39BF8871D0C /* JSONFeedAuthor.swift */, - 5CAEAC7A859E29F8057B7688A88C8404 /* JSONFeedHub.swift */, - C78048F8C9DB22BC1984A05FAA8173ED /* JSONFeedItem.swift */, - 7C74A3E0900614F965ABCD1576E00D3C /* JSONFeedParser.swift */, - CC363BF16CBF0BA0339424AD75F57CF5 /* MediaCategory.swift */, - E44044BA9CE81F6888BB4B97A22992FD /* MediaCommunity.swift */, - 0A4875E9420A494809B9881BE3663A13 /* MediaContent.swift */, - 3260704BE6EAD57310DBD1D6675A4A4B /* MediaCopyright.swift */, - E494E22A28F24DC653652DBD7C52B014 /* MediaCredit.swift */, - 7886C6D47D9CEF4DB466EE180E863FE2 /* MediaDescription.swift */, - FBC3D0360094FEB683088522EF7BFFAB /* MediaEmbed.swift */, - C2AB354912D8471EC77BF46AE8883E3D /* MediaGroup.swift */, - ED18E8C9C40324E4E74D4552758532F9 /* MediaHash.swift */, - 8B30733613A44897EC15E463EC258FBA /* MediaLicence.swift */, - 529A95024C300ED40AF5FE8CBF6E2E8E /* MediaLocation.swift */, - B2F01F33837430EE4A736692743A136B /* MediaNamespace.swift */, - B58CE60D4CC07BAEEC2BA43C9CBC68E9 /* MediaParam.swift */, - CBF7D49A555A7809FE062DE4073CC54A /* MediaPeerLink.swift */, - AF4665C5252293733CB4BA4D0D8FCAA1 /* MediaPlayer.swift */, - D2F494158FA21A4FCE53A84D58923185 /* MediaPrice.swift */, - C5795142CFBF0E1B6921AA248408D987 /* MediaRating.swift */, - 85787A1764F254298B4FD33875034603 /* MediaRestriction.swift */, - 31A72EA968D50CC0BB07EBE127EF81E4 /* MediaRights.swift */, - 455B66D0B5B5862E56B319A26993D6C1 /* MediaScene.swift */, - 8E7568D3C6422033944E32ED03252063 /* MediaStarRating.swift */, - 64E0354D13C120F464B096D4A89C136C /* MediaStatistics.swift */, - 50B9499912A40AE518288849FB24191C /* MediaStatus.swift */, - E7BA2BC65E28BCEA87D4811B73D7D00D /* MediaSubTitle.swift */, - 361863AE9BE5AA06092743C5C9847B03 /* MediaTag.swift */, - F8EC4C2CA4500ED9B452DDA94677154B /* MediaText.swift */, - 8E21257D7E72345D72E6FB6214DE3D6E /* MediaThumbnail.swift */, - C64BC1F9BB0012497EBFA597AD9587A7 /* MediaTitle.swift */, - D6B768EC3FC7AC0E320026B307BC9F94 /* ParserError.swift */, - 5C8F3817E0399D205891958928A0543A /* RDFPath.swift */, - 384EAACE30ECC8CD105F599D618F6FDA /* Result.swift */, - 6172F73380F326C8D618D31F15361F89 /* RFC3339DateFormatter.swift */, - 0C9D1207DF4D374C7EA8090E928EBD88 /* RFC822DateFormatter.swift */, - 03EB26E5B8485846B0BC4F46CCA0499C /* RSSFeed.swift */, - 06965CCCEC6D051D3E8844AEFB4E3D10 /* RSSFeed + mapAttributes.swift */, - ABA50657842562CFD26124FECECFB777 /* RSSFeed + mapCharacters.swift */, - 3182456F0B62C43D821ABE8061EB18EE /* RSSFeedCategory.swift */, - F2CCC7E742AAB6F61ACE0F90E1FA5F5E /* RSSFeedCloud.swift */, - 1D84E004B213E9492B07B70F758C4AE9 /* RSSFeedImage.swift */, - DF72E319266831AE8E78D38F119963F9 /* RSSFeedItem.swift */, - FA5C535B60CF7A296347C762360A6EAA /* RSSFeedItemCategory.swift */, - C426972C0A56F763331F90253322366B /* RSSFeedItemEnclosure.swift */, - C0ED22839210D72A8F8D99A82A3F9D0C /* RSSFeedItemGUID.swift */, - 177AB8D645A00B2C32978B2CBC8B2CB4 /* RSSFeedItemSource.swift */, - 65436838D6F466EE6F4A58AD595267FD /* RSSFeedSkipDay.swift */, - 261D5D9E5EEE3411E6011DCAD943D8C4 /* RSSFeedSkipHour.swift */, - 1EF54C98DC41ABB6402A6B9903584663 /* RSSFeedTextInput.swift */, - 397F0C4831DD9B0F806A12A94E5A10B0 /* RSSPath.swift */, - 67F4DE139A91E441845B8DDC77FE0DD4 /* String + toBool.swift */, - 4BCDF3EB46F8A7991D738BB8C9F2E443 /* String + toDate.swift */, - C09EE135EE9313BBC1CAD139B99076BF /* String + toDuration.swift */, - 7BC2D0573F3D2FFBF57D032AB589649D /* SyndicationNamespace.swift */, - CE92C08ACFA7B95A9DD1304A55F8B6FB /* SyndicationUpdatePeriod.swift */, - A6E66E2FA2CA221549CBBCFD9A15B0ED /* URL + replacingScheme.swift */, - 30A0CFC665FE03AA30BA02E63F81D9C3 /* XMLFeedParser.swift */, - E7A6B5751445F2B3B822DE4172ABB328 /* XMLFeedType.swift */, - 8B524EBAEAA0D277BED9D13CF2AAEE39 /* Support Files */, + CFCD6488993B3C3B8F3B9C7564F604E1 /* SSKBaseTestObjC.h */, + C1828410A76771D1C39D1A808C305D79 /* SSKBaseTestObjC.m */, + 17EE2CC8ED8B76584E1908E8BE82942A /* SSKBaseTestSwift.swift */, + A98528BAB1EC157E598A3A856D60E4DE /* SSKSwiftTests.swift */, + 0A74ABD636AEB8400F273A8CAD926505 /* Account */, + BBF9CBF6C35058E8026B43346ADD9878 /* Contacts */, + F37AB23382F479F76E999210AD3F642C /* Devices */, + 98AA7AC9B95DED9B6F3C3B0122F1BEA4 /* Messages */, + 838816A85AB53064832D378B719FF2F8 /* Network */, + 7ECB364B6BBF9E86DA16C192408233EB /* Security */, + 7174349BF980C2E8D2728E8ED29F2F92 /* Storage */, + F9DB728A96F795B3CD3CC17066099E05 /* Util */, ); - path = FeedKit; + name = Tests; sourceTree = ""; }; - ABA8C59527C76FC00E6623130A16FA47 /* Curve25519Kit */ = { + A7B13D29D1D9B3F5F63764C930F32CD9 /* ManualView */ = { isa = PBXGroup; children = ( - 5A9FBBBE6FA1A067905371BE007E939C /* api.h */, - A32261D843A3F010DFF1AA32FABBF047 /* base.h */, - BD35BC46E0F1F93D3010FCF8493E72E6 /* base2.h */, - 8CA91D14EFA1C207841D6EE98C2C4FD7 /* blocks.c */, - 6CBA6AC9BF46488BF20B568D3E847EA5 /* compare.c */, - 26BC71143B85B01C5BCBDF83D5F66FD7 /* compare.h */, - C58C5BBC37000149164845A1F5990C8C /* crypto_hash_sha512.h */, - 6663C5ED7AD1985A9ADD42273E172ED5 /* crypto_int32.h */, - 7BF03B4D763F3B38B29ABE708B92F9CE /* crypto_int64.h */, - 5C5C16E03C8C25E0CD5C6E791C416C1B /* crypto_sign.h */, - 653DE7D38C2ACD0D2289865C7B1D1D18 /* crypto_sign_edwards25519sha512batch.h */, - 14607472EBD9E11E64BA134F26DDA5D5 /* crypto_uint32.h */, - EDF587F86C8986E235798AED4845D70F /* crypto_uint64.h */, - 28C2CFDE79A3C656A18605233FCF2C89 /* crypto_verify_32.h */, - 6FA5305AE80EC015BD691C479DE3E813 /* Curve25519.h */, - 9759C51DB3F7732DF508F9AC8822E80D /* Curve25519.m */, - AF1DC313A80DC2E4A1E099627B61C52B /* curve25519-donna.c */, - 258A51032744873A6ABFEFBB6C910C4F /* Curve25519Kit.h */, - 6EADF5F9A78C312284C62C648F12580C /* curve_sigs.c */, - A103DF8DC215021C1D250525DFD7D80C /* curve_sigs.h */, - 71376FA8120A7825524978D54D384354 /* d.h */, - D29260BFB7370CFF0E161B68630C83E9 /* d2.h */, - 063FEEC160187DC6B8DCCB8567F233C8 /* Ed25519.h */, - 2759199DA11DB5D729AD9A1A8665889A /* Ed25519.m */, - 720B889C52F6E9B62DB5AF37249CA87F /* Ed25519.swift */, - 7EB532FFB444782A98194DDADE8E9D43 /* fe.h */, - 167D30B6409E12B5ECFD93150B315F8E /* fe_0.c */, - 73227657C6F86DAC0EAF88C8F5316F09 /* fe_1.c */, - D23127B54B0D7A8DDF71140C4F9C5DEB /* fe_add.c */, - 2290520DD3FA01A8024A9BE27D4F6E9E /* fe_cmov.c */, - 151530D69883F9287AC7ADE595B3C7D5 /* fe_copy.c */, - 2DDABD2D76E37C1429D527F53F2261BE /* fe_frombytes.c */, - AE8A9A60CA210F718BA6C41F624D4863 /* fe_invert.c */, - 855F84CD063FA3E041430BCB887205B6 /* fe_isnegative.c */, - 9EB7F16069CD7CEB5503DC9A6206FBC6 /* fe_isnonzero.c */, - BEBE6289A96397C3332FB13DC166C681 /* fe_mul.c */, - 77B053D1EBDE119A6F3C5974AF254F0A /* fe_neg.c */, - 390C2C6A1F5E0B473B1B18C8318A6503 /* fe_pow22523.c */, - A7C311BD86DA95AA1DC388E2544D1743 /* fe_sq.c */, - 9F6B8FBF9F22442843977BCDD277CE93 /* fe_sq2.c */, - 207DC2E69DC65C3E7DBF8C725DA0BC67 /* fe_sub.c */, - E337CE5315A7E98C853FC6CBEF7566E5 /* fe_tobytes.c */, - 167480F97C496BDA47A3672B937E9048 /* ge.h */, - C0240F69116DBE164457ACF8E2375366 /* ge_add.c */, - 4530D79A74C810BF67095E4D4116870F /* ge_add.h */, - 7A27B1568489A5FCE23213157DF89CC5 /* ge_double_scalarmult.c */, - FADA4AF2DD96EC33EA24B3294E50E6E8 /* ge_frombytes.c */, - 50838E8EFD7A4D0E28692D9A017E9A0C /* ge_madd.c */, - 52E91493EE83BB728F06ECAEEE61D88D /* ge_madd.h */, - 130CAD7ACAAF37ADB662B506D5D7B997 /* ge_msub.c */, - DAF34D1C8254147087B0C72B431549E1 /* ge_msub.h */, - EDCD039E3FA95481050DD782B2B1B8E2 /* ge_p1p1_to_p2.c */, - EFF715DF5D2276C3DD4CEAF9BD20A50B /* ge_p1p1_to_p3.c */, - 5F38605080B1DCD8447A367A443F7248 /* ge_p2_0.c */, - F723AA0F88FA556F7115BE40D0A03819 /* ge_p2_dbl.c */, - A79A12897E7D1EF97DF9B8B038A63929 /* ge_p2_dbl.h */, - C1E78FDD1E7E83D69C62845E32E5DCAC /* ge_p3_0.c */, - F18D2880D8B34F5A363A5E48E6D6B8CC /* ge_p3_dbl.c */, - 4140B5EFB658F836C5F82A547D04B05B /* ge_p3_to_cached.c */, - 28FC3AF44C02D0714FAE77FBFAECC49E /* ge_p3_to_p2.c */, - 272C0D7FFB36CC03E53244F8CF8CE466 /* ge_p3_tobytes.c */, - A9F17D18B7F2026A48EF4E8D309698B0 /* ge_precomp_0.c */, - E71CE8AF2DA14F2E8C38F7DF7BEC715E /* ge_scalarmult_base.c */, - C0F3CC1A9F7A785E32701E6AF9EADBAA /* ge_sub.c */, - 17B44F143660645457AB425FF5570643 /* ge_sub.h */, - 43C6CC1471AEB636C83582DF83B9AAD0 /* ge_tobytes.c */, - F48A017B8BF7378CF8D9C42E4F7F288F /* hash.c */, - ED9FACB6E8886787966A7292AF5F3C70 /* open.c */, - E1D27BAE301D28CC70CB9C8EAF036A28 /* pow22523.h */, - 1030EB135E30DF7DC4C1A522992872B6 /* pow225521.h */, - 0903CEA995E83FBA89D042017BE6D486 /* sc.h */, - 6034C56C7200F3DD520417A2AF4D8D2D /* sc_muladd.c */, - A9494E164E8B6EA6A8A15815BFA12909 /* sc_reduce.c */, - 7D1FEA4505091CA001FD2992C7A14CE4 /* sign.c */, - 987AB252A165B539C0757CE19BDF9C86 /* sign_modified.c */, - 9E08683E66C41EA725FA9514A343476F /* sqrtm1.h */, - 02AD020F737652B70AF210C785072CB0 /* zeroize.c */, - 82C68E7FF62E53EAE619753197DB9DE6 /* zeroize.h */, - 399A5B73B40624A30DC3A9D0EFBE8F78 /* Support Files */, - 3E9F174122E4C4371D292701B2E8DB38 /* Tests */, + F4623D39CFB847781B74062E3AC9780F /* YapDatabaseManualView.h */, + 4D6A45320692E0E89ECB81C4FB2EE171 /* YapDatabaseManualView.m */, + 60EA957185A67BA651BC0CF3D3C8BF58 /* YapDatabaseManualViewConnection.h */, + 4A8E7A4FD4185AA64347C68285CAEEB1 /* YapDatabaseManualViewConnection.m */, + 504D429D22D9A453D8494F204A27CE32 /* YapDatabaseManualViewPrivate.h */, + F74583E9D90FFE261E14CAE00952CC48 /* YapDatabaseManualViewTransaction.h */, + B8A527B28A5BD8266ED5B1852A64EC56 /* YapDatabaseManualViewTransaction.m */, ); - path = Curve25519Kit; + name = ManualView; sourceTree = ""; }; - AC652FCFF6B3AA995D633305222D6100 /* Support Files */ = { + A924BC6F5C6D61B3F848437328069888 /* Devices */ = { isa = PBXGroup; children = ( - 2BB55F736CA8C8B5DEC2DB0874AC2346 /* Info.plist */, - 334CC7FC585C3A44649E4BEFB30C01AF /* PromiseKit.modulemap */, - 5EAC49787FD657DC4231479C9B77F19A /* PromiseKit.xcconfig */, - 10678AA44871B0DFF6411C2C98C7B65A /* PromiseKit-dummy.m */, - 137B8DD172E22E8D4020EF555488A51C /* PromiseKit-prefix.pch */, - 861827EFD2FEB9680AF93D18862FC7DC /* PromiseKit-umbrella.h */, + 63D0979D0D597FE945C2E487DDB90032 /* OWSBlockedPhoneNumbersMessage.h */, + 2F675B4526A4B0983D34CA2AFAC2E9DE /* OWSBlockedPhoneNumbersMessage.m */, + 3ADD3F4CAD877118EDC54036C0BCE5EA /* OWSChunkedOutputStream.h */, + 5A51BD69F54E0E76CF803EB1071C8915 /* OWSChunkedOutputStream.m */, + F742A8528CE3E21283FFA1CB8E076179 /* OWSContactsOutputStream.h */, + 31A4F5F3371B1909526ACC36ED4C9F88 /* OWSContactsOutputStream.m */, + 3E57C846F7255DDF7DF20BDFDB446AD4 /* OWSDevice.h */, + 750BC512DF32509A6F01F1F1B7E90DF6 /* OWSDevice.m */, + 14C9A4CB23D5E90EF398823B07ED816B /* OWSDeviceProvisioner.h */, + E503D21A51B4B5053131905F89571FE7 /* OWSDeviceProvisioner.m */, + 3C8F657A5D06E2A78738E67540F47E55 /* OWSGroupsOutputStream.h */, + CCE09C67222379F3EBF8D708A9D970A8 /* OWSGroupsOutputStream.m */, + C406693BB6559BCC7C508910CD3B728F /* OWSLinkedDeviceReadReceipt.h */, + 5839A423865B924FA6CA5409BA9D222F /* OWSLinkedDeviceReadReceipt.m */, + 77A6E9C2F7317419C690F2FC7F176674 /* OWSProvisioningCipher.h */, + 0E49F608AA7576D9BD2E14F15B469B1E /* OWSProvisioningCipher.m */, + 3321C6CC65BCD94467261D9DD21F148C /* OWSProvisioningMessage.h */, + 168059500696C80523313452424E89CB /* OWSProvisioningMessage.m */, + 0163E90A2BFBA082726C2AE63CE4F5AA /* OWSReadReceiptsForLinkedDevicesMessage.h */, + 0343C7581DEFD604D80FDA418484D0BD /* OWSReadReceiptsForLinkedDevicesMessage.m */, + 25298C3DD02FE536BB1FB0F67D2235A0 /* OWSReceiptsForSenderMessage.h */, + 449C1D612D169CC0C5C54A0B22508841 /* OWSReceiptsForSenderMessage.m */, + 49F8B52A4F1719D5E961401A532F5CE7 /* OWSRecordTranscriptJob.h */, + A5C656098BF28ECD9F78DE16F4B16E4D /* OWSRecordTranscriptJob.m */, + 5C7CF9AD54CC4D30D2701241F947DFF4 /* OWSVerificationStateSyncMessage.h */, + E751AD36C4343AE53F1FB0BAB48FC255 /* OWSVerificationStateSyncMessage.m */, ); - name = "Support Files"; - path = "../Target Support Files/PromiseKit"; + name = Devices; + path = SignalServiceKit/src/Devices; sourceTree = ""; }; - B0C6622F23C909081273D4894B8814B3 /* SignalServiceKit */ = { + A9BFF2422760DCE6E1ED73369DF6E44A /* Account */ = { isa = PBXGroup; children = ( - D34AB4C00B87099B27DE3BFCA3C24F5D /* SignalServiceKit.h */, - 207A5E89B774BA85F2CE7215353EA1B8 /* SSKEnvironment.h */, - 3DCC9D98B18F043FEC53E28985AE30FC /* SSKEnvironment.m */, - 9C65D337333C6C93A2EAD81D32B43D87 /* TSConstants.h */, - DBD3AE6FD69118BD661DF353DB68E8D7 /* TSConstants.m */, - B8F4724D678B888409F99C631C513A86 /* TSPrefix.h */, - F03C72EA51CCE7860E12CF166BF9E0B6 /* Account */, - BBCF8194546409FB1B2708EC87E4900D /* Contacts */, - D2039FCCBB230A36CB8146DF07BFE959 /* Devices */, - A5AD3D174C5FE4CF0A6B9BBF841403BA /* Loki */, - DB0F7868BBD9BB1BAB44F60936265F19 /* Messages */, - 25A8CDB8752DBA70512C958C79A1C795 /* Network */, - E84C38010BC32E4B05724496A9DD18CC /* Pod */, - 6AD5B90DD6E6CF34F10C5C9D6C48EF81 /* Protocols */, - C4A6106AE25C1C44B9D3C20A8050AD6D /* Protos */, - 547B4C01253CD7A2F1E92FF882BB6FCE /* Resources */, - 159AFB7B2DD54BB62200A8EBEF1A6651 /* Security */, - 399DF8EB82D971E0EFC4D195B4DB826C /* Storage */, - 10D701574915A21BE4D6F4A10B948E53 /* Support Files */, - A6B641247F3CF9476A706E55522DD5E1 /* Tests */, - 3558CB10EB7E18B9331442B83C5C625A /* TestUtils */, - D94968B17BBBA1F420426CC93442904B /* Util */, + 471D46960A4A2798E08C2C805D22F57C /* AccountServiceClient.swift */, + 3B5DCC21DCFFD52D8C07EAC5ECF19B1A /* CreatePreKeysOperation.swift */, + CE64D05FE4D2964016F64854B2A98B33 /* PreKeyRefreshOperation.swift */, + E7D0CC305297FDB945E43BF6A9C05FD9 /* RotateSignedKeyOperation.swift */, + B0CBE088B9C0CBD646AAFAAF3937E688 /* TSAccountManager.h */, + 860958FC42065E9509448ECA8F73D7E7 /* TSAccountManager.m */, + F51EC573198A59C99ECDE62702FAC818 /* TSPreKeyManager.h */, + 902337E99018A2BA08EFFD8973216368 /* TSPreKeyManager.m */, ); - name = SignalServiceKit; - path = ..; + name = Account; + path = SignalServiceKit/src/Account; sourceTree = ""; }; - B2DD2A96BAD99FDC701EF49F88FE39BD /* libPhoneNumber-iOS */ = { + A9FCDFE96CF2AFACE0459F3D0BC6A225 /* FirebaseCore */ = { isa = PBXGroup; children = ( - EF7F86D0142871143432FD8120BA7C7A /* NBAsYouTypeFormatter.h */, - D21BE4E2C1BD7F89580FF94781A24DBD /* NBAsYouTypeFormatter.m */, - F4C85D5090F944090DAF1250A3E103EC /* NBGeneratedPhoneNumberMetaData.h */, - A4069934027E6EC9EAEC48E056CDC6F9 /* NBMetadataHelper.h */, - 1EE786D1E443FD302BCED4ED0B06FFA9 /* NBMetadataHelper.m */, - 3AC01B0E733C60428D6E5FD466899EF9 /* NBNumberFormat.h */, - 8D1DC1C03378E4B31C58F16A86E3A459 /* NBNumberFormat.m */, - 88A6A1E9B4F182DA34A92D8D4CA399B1 /* NBPhoneMetaData.h */, - ABE0B149FD3D90CD81F12CFF08D2987D /* NBPhoneMetaData.m */, - 72F884CCE346A2B8B8DC5249A5094019 /* NBPhoneNumber.h */, - 5FF29C49C252992D173EF5234DB0E5BE /* NBPhoneNumber.m */, - C4263682487BB86BE933E89D6B2DBEC3 /* NBPhoneNumberDefines.h */, - 9BBC5A021FE1984494133AABED204559 /* NBPhoneNumberDefines.m */, - 0DEE0C6E3CF3C7BA8BE1B30E1169487E /* NBPhoneNumberDesc.h */, - 50279392960E7D3D10EED17C5A5E90DE /* NBPhoneNumberDesc.m */, - 6CF8960926B45E28F86663E2ED9FFB04 /* NBPhoneNumberUtil.h */, - 1F04B1C74A1C086FA6C1C0E879AFFE49 /* NBPhoneNumberUtil.m */, - 1621CB931F7847DDFD881735025A7EE9 /* NSArray+NBAdditions.h */, - 50ABD11AC6FD02C113421A093CD6949A /* NSArray+NBAdditions.m */, - E3F969CF7791D1F76E1AD704C699B40E /* Support Files */, + 99362A4D58521B3961420E3FA40C0DDC /* FIRAnalyticsConfiguration.h */, + A523DEFD57182710833031A067DFA4BA /* FIRAnalyticsConfiguration.m */, + 0C097477EFB52B474B17827F69A45788 /* FIRApp.h */, + D23400F835A29FD241D7BD2F432FF7F2 /* FIRApp.m */, + 0D69E779398EC71A44176173B7F9B6E3 /* FIRAppAssociationRegistration.h */, + 4A635A8BA44A05DFE9EC0295AA438A8E /* FIRAppAssociationRegistration.m */, + C00E20E3A983125BE3CB825B7CE76ED9 /* FIRAppInternal.h */, + F5F71894E688975E4833B55FB4F5AB74 /* FIRBundleUtil.h */, + 78B70DF5EFF77A3FA22E446B531CF4A7 /* FIRBundleUtil.m */, + 1E60D50A2DCA633E7FFBDA18E22A36F4 /* FIRComponent.h */, + 4F753DD49D200E678CD1BABF26211F24 /* FIRComponent.m */, + 83D7E3AE82ED07B05F63D1009DABAA23 /* FIRComponentContainer.h */, + 665FBA93ADD478AB87C9E2C7BC43D5DB /* FIRComponentContainer.m */, + D49459D9A70D3A664C12B2CD1E24ABA9 /* FIRComponentContainerInternal.h */, + 3719C08ECCEFFD9D30E50E53213A8EC6 /* FIRComponentType.h */, + 12FD9F03298B60C2505F484AA035E9E8 /* FIRComponentType.m */, + 30B6581797D0C7C81702731B5BED0790 /* FIRConfiguration.h */, + 7BF3F4E8D4F40B5E6B4F0D335349EF75 /* FIRConfiguration.m */, + D1F4A2290C3A3E8474CC3A0D0F39540F /* FIRConfigurationInternal.h */, + F036F5E2E835EE45BD901DCDB175C0B4 /* FIRDependency.h */, + F19DDAF1CC1AB90EF96904864201D36F /* FIRDependency.m */, + BE9BC9309AABD7995F9A9A3AD8E3DCE0 /* FirebaseCore.h */, + 31F4F171300977307628C5D618D76679 /* FIRErrorCode.h */, + 7374641EAB238DCB3EF3726DD1058A8E /* FIRErrors.h */, + D6CB228D0A13DA02C75D76DCE41E7955 /* FIRErrors.m */, + AA7D47D24ADCDABBCBFF106D233246B3 /* FIRLibrary.h */, + F7DB7A62228713AE270257CB2FE27F52 /* FIRLogger.h */, + FD892FC198FC96FA387AEE685E82AD45 /* FIRLogger.m */, + 0A5E4BE2A48C816E66B7D185216E6CC4 /* FIRLoggerLevel.h */, + B9E1CD059EE25558091DA91BF4A1161A /* FIROptions.h */, + 368CE05FE2A7A27DF74857350E4EE1AC /* FIROptions.m */, + 34A5BE86471801C671874C6259EC2464 /* FIROptionsInternal.h */, + BB159A73B50AE396DC2250542ED75F20 /* FIRVersion.h */, + 851547BD11A2A7285F59D17153217F70 /* FIRVersion.m */, + 9FE668C7A03A29225CACCD49E7E54E63 /* Support Files */, ); - path = "libPhoneNumber-iOS"; + path = FirebaseCore; sourceTree = ""; }; - B3B4B5B1007635CC2E781799EE33F57E /* Certificates */ = { + AB10981C00986B9CA223FBB037547015 /* Support Files */ = { isa = PBXGroup; children = ( - A55CF9AB22784A0BF4CB3E12BE844F02 /* DigiCertGlobalRootG2.crt */, - 39E6C959B491C89E95D9E3B9417AE17F /* DigiCertSHA2HighAssuranceServerCA.crt */, - FE96046AC4DAA14A2B8F7B396D5D4CDC /* GIAG2.crt */, - D227676F10123CC34907B59E1DD0ECA2 /* GSR2.crt */, - 9919E2DF5CC9332E4759B2E356CD826D /* GSR4.crt */, - 5720A9679B3A7BB714F28B98892B9481 /* GTSR1.crt */, - 231FA0445BEC36224C98538C68CC984D /* GTSR2.crt */, - 073497EB45E1AB195CC073E33FBF5E70 /* GTSR3.crt */, - F5A9279D979F57C0FD5CAD9DD2DECCC3 /* GTSR4.crt */, - B1FE40EBB497027F8F4539685439DCCE /* ias-root.cer */, - E792234E117F3731D72C010720FF5298 /* SFSRootCAG2.crt */, - F2A9332722595E23D63521F83EB6A61E /* textsecure.cer */, + 528FC6F8DFB720E1C28E3B8EA4E3AD05 /* Info.plist */, + 8C70CDDDD3D9519C76E6A66DA5911A36 /* Mantle.modulemap */, + C885495F25A202343D01C2C2CD473B85 /* Mantle.xcconfig */, + D690407BE016C39B67A7533126943E8B /* Mantle-dummy.m */, + 7DBD6A4BA40D3A1217781A84F62E37FC /* Mantle-prefix.pch */, + 88AC9C1F88151E807B537E873CFF5D87 /* Mantle-umbrella.h */, ); - path = Certificates; + name = "Support Files"; + path = "../Target Support Files/Mantle"; sourceTree = ""; }; - B53028985A021F9D3498A57D6A6251EA /* Support Files */ = { + AB5D491A92EFC92D3388FAD1E784ACB9 /* Support Files */ = { isa = PBXGroup; children = ( - F9A3C098B4694F35A51ABABB9E7D144A /* Info.plist */, - D857E1A6E43527521C4CA769BA4D03BC /* Reachability.modulemap */, - 6E4D8884497652ED0F3A6608B3A67FAE /* Reachability.xcconfig */, - 7A965F3DC5D5C85FDB27CADDCFB66ED6 /* Reachability-dummy.m */, - 4A44EE7131D8DA32C06CB8CC428BCC9C /* Reachability-prefix.pch */, - D7B4EB79D0A0FA2C0A7C18B41AD30312 /* Reachability-umbrella.h */, + EA2ADBE8C4AE22D1579EC5C6253DC368 /* Curve25519Kit.modulemap */, + 05E0B764DA23F94AE73E8661F13AB6E1 /* Curve25519Kit.xcconfig */, + D8A924900971AC7A277200B23CF4A192 /* Curve25519Kit-dummy.m */, + C23CE7D14E4377DD0FD8D22147720D69 /* Curve25519Kit-prefix.pch */, + 2EEEE3B7FBE8AB5DFE9F941BDDAC30EE /* Curve25519Kit-umbrella.h */, + 267AB5DAD6942D1FC2AA0850A6A2EFA4 /* Curve25519Kit-Unit-Tests-frameworks.sh */, + 2590271BBE9F51A450392B14AA42E559 /* Curve25519Kit-Unit-Tests-Info.plist */, + EFF7E54FA0A453DBD9E0328E9E9CD5BC /* Curve25519Kit-Unit-Tests-prefix.pch */, + 35F909904E02E27179D2A2FC9BE3C83E /* Curve25519Kit-Unit-Tests-resources.sh */, + CD32E50FD0F490DED11F1BB5630B1479 /* Curve25519Kit.unit.xcconfig */, + FE5EF6DCBC43E51F6A1D3725433893B4 /* Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/Reachability"; + path = "../Target Support Files/Curve25519Kit"; sourceTree = ""; }; - B5388F79ABAE5FB4FEB3EC3C0F51A895 /* extobjc */ = { + AD4CB9645D36DCAC319A723A61806B31 /* Multi Device */ = { isa = PBXGroup; children = ( - F31CA3A11D97263E345A63108B36DCEF /* EXTKeyPathCoding.h */, - 0BFEAE0D4C62F213BB0707623ACB819B /* EXTRuntimeExtensions.h */, - F863D4DF54CEB90A65A6F1109B6465B2 /* EXTRuntimeExtensions.m */, - 55D75287F87139BC0691496FD56D34BE /* EXTScope.h */, - 7FA6B70A580669549ED3285647C1710C /* EXTScope.m */, - E75E950F47B18065BEAC72D78A3DB816 /* metamacros.h */, + E5CC8E0BE9BD233A7DE8D1432A4DC13D /* DeviceLink.swift */, + DA83BB9172B56C8D73E89BA4B5FEBAD6 /* DeviceLinkingSession.swift */, + DE9B34074ADB6EAD954D55184E7E5B9E /* DeviceLinkingSessionDelegate.swift */, + 44D252544153CABBD4322D79CFA5C06D /* DeviceLinkingUtilities.swift */, ); - name = extobjc; + path = "Multi Device"; sourceTree = ""; }; - B55F7F6F54AEEBEF2BFEAB436CF9ACB4 /* PureLayout */ = { + AE56782CF09C499D520D063848441165 /* YapDatabase */ = { isa = PBXGroup; children = ( - FA42EEA3119CFB75E881C00DE5744663 /* ALView+PureLayout.h */, - 967A4D9C7E2BA24BEFF4B77814EED9A9 /* ALView+PureLayout.m */, - 82E1CF4762C0FCE85DBB32E53CB1E0F6 /* NSArray+PureLayout.h */, - 1A13860A8382559D48DC80C448E55F90 /* NSArray+PureLayout.m */, - D7D8A7D51257F92697C33072868F7360 /* NSLayoutConstraint+PureLayout.h */, - F45B64F856F2F26F5AF6318DD79CC426 /* NSLayoutConstraint+PureLayout.m */, - 1E637B71925C6A62FD471662EB0B5C79 /* PureLayout.h */, - 8D899395C3BE9B87A57465F3BFA72C0C /* PureLayout+Internal.h */, - CB572BD0597534357C227267877A53E4 /* PureLayoutDefines.h */, - F6F7EB71788DE70F5A88A5C70D99CD20 /* Support Files */, + E821953489D81F86C13C66E6479B77AF /* SQLCipher */, + 7EAF2FFF9FA1008CBB50B7B55A8314F8 /* Support Files */, ); - path = PureLayout; + path = YapDatabase; sourceTree = ""; }; - B63BDA7D6875977A71E72E6C52E956DF /* SQLCipher */ = { + B11988BB97EB1B50340F7E149A2775FE /* View */ = { isa = PBXGroup; children = ( - 21AC2A7CBE7373459133E711113D7D19 /* Core */, - 3C52903585FD4D902256A87A79D49EE0 /* Extensions */, + 54951302B6348CCC02E6DEFAD8296CBF /* YapDatabaseView.h */, + 1349391E566DD6F288E4353A58FCB800 /* YapDatabaseView.m */, + 98C82EF89E1B515989B34867F939D816 /* YapDatabaseViewChange.h */, + 0E38A0116C3AC1526FB4D15493709BC1 /* YapDatabaseViewChange.m */, + A0D71B398978E1469A95E3580FD63504 /* YapDatabaseViewChangePrivate.h */, + A8E15B909864FF1A06D11E4CDE83D2D1 /* YapDatabaseViewConnection.h */, + 31EA6DDD899D36FD0110A5A3C9F33646 /* YapDatabaseViewConnection.m */, + 7C3E4D253EE4F13512ECD97C39B6BAF5 /* YapDatabaseViewLocator.h */, + 07F4EC3804F569D75EA938E3AA93A812 /* YapDatabaseViewLocator.m */, + 79918D43364734F4E0FC3EBB05530976 /* YapDatabaseViewMappings.h */, + 98A43BE790A3E00B9E373E58F98E1DC1 /* YapDatabaseViewMappings.m */, + ECB871E33721A9CD04B989614934B7E1 /* YapDatabaseViewMappingsPrivate.h */, + 04BE479D170FECB47E87DC126290B016 /* YapDatabaseViewOptions.h */, + FA2243153233A6BAAE81B9DEF8B2E68A /* YapDatabaseViewOptions.m */, + 2BFFB1843A73191039C47E4C93D02D37 /* YapDatabaseViewPage.h */, + 4F6A438B8FBA10F3CB3ABA5673542BCA /* YapDatabaseViewPage.mm */, + 759392B9028EFD2A6E80FA71F06D5897 /* YapDatabaseViewPageMetadata.h */, + 56BC21727995DD0D41068CE840751D8C /* YapDatabaseViewPageMetadata.m */, + 89AC2CD340521C6FB86EC88E868D3CCE /* YapDatabaseViewPrivate.h */, + 44FED5E5B24771F16D89F05942D80D0D /* YapDatabaseViewRangeOptions.h */, + 99755190C9AEA33978C4F2359B1FA4D3 /* YapDatabaseViewRangeOptions.m */, + A74C46C23B5D910F826B629B0A0ADF87 /* YapDatabaseViewRangeOptionsPrivate.h */, + A5328390412660B58FC5FC61A9F18EB0 /* YapDatabaseViewState.h */, + 66DCE03232E1FF01C4437E63062B2B9A /* YapDatabaseViewState.m */, + B2181050783C987C6E69D532FF44DBEF /* YapDatabaseViewTransaction.h */, + 4626995490808FD063D6E4B935D4C9DE /* YapDatabaseViewTransaction.m */, ); - name = SQLCipher; + name = View; sourceTree = ""; }; - B8AAA37323F5193400928D04 /* Shelved */ = { + B1280E300E990B6E689609B1490A9DB2 /* Core */ = { isa = PBXGroup; children = ( - 38D3258760341C2F323FC2DB2615B6A3 /* LokiP2PAPI.swift */, + 49395F51B6E1940EC1E326AE45BAD912 /* GCDWebServer.h */, + 88EB0EA319A0EBCC39339A62108D9CF3 /* GCDWebServer.m */, + A53BBF570BFC7847A1E3D0928E2066A3 /* GCDWebServerConnection.h */, + 51D88586BD10DAC4B24023F35C30268A /* GCDWebServerConnection.m */, + 897F47E404A809FF6CB7C2EE7848A9AB /* GCDWebServerDataRequest.h */, + 12886AC7C643F7A3BF900514A55A05AB /* GCDWebServerDataRequest.m */, + 226C23597E88B5DDAE6BA5C687B9E3CA /* GCDWebServerDataResponse.h */, + FDD451695A06145271311FB4CF996955 /* GCDWebServerDataResponse.m */, + 92A69C4A4EEFDAF455B8D96453BB5512 /* GCDWebServerErrorResponse.h */, + 322C59A5706F52DFEDB29272AC37867B /* GCDWebServerErrorResponse.m */, + 2E416321D32E0D2FDD949959E8C8C85C /* GCDWebServerFileRequest.h */, + 01980764365898905D909B7A0248FD0E /* GCDWebServerFileRequest.m */, + 47185964EEADB69B89B6B5C6C1B8E52C /* GCDWebServerFileResponse.h */, + 153EB3A44B2F2B793F0F0F3558BEA0A0 /* GCDWebServerFileResponse.m */, + 5C599DF7A025288CDF8FB0D88C261F20 /* GCDWebServerFunctions.h */, + 78B14A3BA2A66323A344A15A292F9463 /* GCDWebServerFunctions.m */, + 2E0A088DA173B4B4B5FEBB43F3CE4B8A /* GCDWebServerHTTPStatusCodes.h */, + 4A44D1F4C8C22405E0D104A82D9A962C /* GCDWebServerMultiPartFormRequest.h */, + 5F7D954331B42841D6803560889CF471 /* GCDWebServerMultiPartFormRequest.m */, + 00A6EA6AE45318F54E25FC8942463816 /* GCDWebServerPrivate.h */, + C5AD3DFE84B6C2B6B07A78714AF53441 /* GCDWebServerRequest.h */, + 062A2095330066F365A8BDA1C65AF580 /* GCDWebServerRequest.m */, + 8AE80B76F50F61A817B256AA3C802312 /* GCDWebServerResponse.h */, + D331228123C3E034EF32396A5F78B849 /* GCDWebServerResponse.m */, + 06E097733E6252C51C7E79251B575880 /* GCDWebServerStreamedResponse.h */, + 13B4867D0DE6499D0B30EC65EA80BE1C /* GCDWebServerStreamedResponse.m */, + 98889BDD5B9ED19D24A4417CE60DD286 /* GCDWebServerURLEncodedFormRequest.h */, + 4B20A572F5727006FCA98221304FB304 /* GCDWebServerURLEncodedFormRequest.m */, ); - path = Shelved; + name = Core; sourceTree = ""; }; - B8E0BA5223E8DF6500A60168 /* Loki */ = { + B1A34A44D9474FA146583D9B0038A08F /* PromiseKit */ = { isa = PBXGroup; children = ( - 7BD4838723E2A1740007F1BA /* DiffieHellman.swift */, - 7BD4838623E2A1740007F1BA /* FallbackSessionCipher.swift */, - 2423FD3D23F65E5E00902D5B /* LokiServiceCipher.swift */, - 2423FD3F23F9F36000902D5B /* SessionResetProtocol.swift */, - 2423FD4123F9F88700902D5B /* SessionResetStatus.swift */, + 0FF94ED94B6E9EA2754BAFD30C361C5A /* CorePromise */, + 6AC7A1570107FAA3F8255ACF7885682F /* Foundation */, + E961B8772BA032F88175F75A43931A25 /* Support Files */, + EC20D061C96968D7353ABB79018986CA /* UIKit */, ); - path = Loki; + path = PromiseKit; sourceTree = ""; }; - B938F01F6E17B0F95D94CA4535CE5243 /* Resources */ = { + B3674F30AAB58B27063A86FAB4E61653 /* SAMKeychain */ = { isa = PBXGroup; children = ( - 3A9BBB0D2609413A7F79BA505BC1DE8E /* SAMKeychain.bundle */, + D51DF0D031E2351A7D5298AC5938A2C1 /* SAMKeychain.h */, + 5BA66861FB79FDAB21E1FE05E9F32E3E /* SAMKeychain.m */, + 48031999256A8E6906DBC374C06F60F7 /* SAMKeychainQuery.h */, + 59FCCB136633C46FEC93FDD01842C7DB /* SAMKeychainQuery.m */, + DA60DA67AC70539DDD55ECC8CE71CF3C /* Resources */, + 20B8B941838DC78EB7F8853B14DF4D0E /* Support Files */, ); - name = Resources; + path = SAMKeychain; sourceTree = ""; }; - B946192C791BF5495056C777BA98818B /* Fabric */ = { + B685BE780112058CD1154C4AF1D80113 /* Relationships */ = { isa = PBXGroup; children = ( - CAA2A96B2C7AF967E585B81B7233E95E /* FABAttributes.h */, - 6D9C64AEBB2ED1AC3F9D3936C00DDC86 /* Fabric.h */, - 0FDA19979358B426CC3FA17B196A5857 /* Frameworks */, + 38524CE5A5BBC8D78B6BFAD8F8E705B1 /* YapDatabaseRelationship.h */, + 6AFCD6B273499502D7923CBD81532D11 /* YapDatabaseRelationship.m */, + DA6FF94C4BCC0272AC67CF8FF42C4BB1 /* YapDatabaseRelationshipConnection.h */, + D217374FB5EAFA7085767CBA17AAA397 /* YapDatabaseRelationshipConnection.m */, + DFCAAA79DA10F324765CE416A065D69F /* YapDatabaseRelationshipEdge.h */, + 042F694C80D229B03D35D112F98604D0 /* YapDatabaseRelationshipEdge.m */, + 618E85459ADAF84C3B7DAA10F66796A0 /* YapDatabaseRelationshipEdgePrivate.h */, + 7BA4E832611B70507407DC40A4449387 /* YapDatabaseRelationshipNode.h */, + FCF89CA14FBB4F671FCD79C2FD480DC7 /* YapDatabaseRelationshipOptions.h */, + 3D6A0048F26D47D4B68499107978939F /* YapDatabaseRelationshipOptions.m */, + 11973F59D75BA4D4DA47232B0B4A92F6 /* YapDatabaseRelationshipPrivate.h */, + 352A4F0492EDA2B34A3C533A8257CE72 /* YapDatabaseRelationshipTransaction.h */, + A6D361CA842FB811BDFDC83CF8F66098 /* YapDatabaseRelationshipTransaction.m */, ); - path = Fabric; + name = Relationships; sourceTree = ""; }; - B9A3FEDF6E32441953BAE2D5FD63A10D /* Core */ = { + B7E5BE3EDEC9BEB2A3CCE3945344F27C /* Support Files */ = { isa = PBXGroup; children = ( - 14FB02E6164B51857009927051D47378 /* YYAnimatedImageView.h */, - E2C6F5B62F3027B9FF2127A450FF7929 /* YYAnimatedImageView.m */, - C4FDECA328604ADF5C19D19C0972CAD6 /* YYFrameImage.h */, - 5013091BE381B4E4AFFA193B7A850F67 /* YYFrameImage.m */, - 13A456130B94DC2D52F639B593F7CC03 /* YYImage.h */, - 7D24F9B5177B7BF144D1E1E197287DE4 /* YYImage.m */, - E70DF614D7C7ECEB121853DA30246E3F /* YYImageCoder.h */, - 4567D7B46FE7110051299D85C0C3CB21 /* YYImageCoder.m */, - D98FA984AFCDB29F6FC5F257ED273030 /* YYSpriteSheetImage.h */, - CED001E7381363E215D3AC95BD7CA6BE /* YYSpriteSheetImage.m */, + 996BA20DF2254D32107214FA38130BC3 /* HKDFKit.modulemap */, + A2E465C9B49CFEDEC4DE76CBAD64B804 /* HKDFKit.xcconfig */, + CF3B3B0D497C958E3D7DC33225B3643F /* HKDFKit-dummy.m */, + 9F07BB25B7A1CAB93EE0A74C83166CFE /* HKDFKit-prefix.pch */, + 92772AF150EF98B4B4F2167D6C6BB03D /* HKDFKit-umbrella.h */, + F028C282B45695B92B38676C0A459DE1 /* HKDFKit-Unit-Tests-frameworks.sh */, + 88476927FB7CB1C2E9690247C97AD92F /* HKDFKit-Unit-Tests-Info.plist */, + E7996409322641ECB1E7BBE4FAF6759C /* HKDFKit-Unit-Tests-prefix.pch */, + 01DC9E75B3531AE3D4823524EC51C43F /* HKDFKit-Unit-Tests-resources.sh */, + 7E809EFE5F5EDD63DE066E28A38B267D /* HKDFKit.unit.xcconfig */, + 677E8DFF800BAE65465375BFEAA033EB /* Info.plist */, ); - name = Core; + name = "Support Files"; + path = "../Target Support Files/HKDFKit"; sourceTree = ""; }; - BBCF8194546409FB1B2708EC87E4900D /* Contacts */ = { + B9769E7BC1892A47FE7121C268754549 /* Interactions */ = { isa = PBXGroup; children = ( - 438491E2166635A30C70F09F142EDAE3 /* CDSQuote.h */, - 26E53CF04E58D2D15712F166F470D204 /* CDSQuote.m */, - 1CA73AB49B75E99B11DD622A4470F816 /* CDSSigningCertificate.h */, - 744AAE9C4C334809BCC46C43CEFAACF0 /* CDSSigningCertificate.m */, - 0DCF320525CD7A1F51E71E112C1038B6 /* Contact.h */, - 73FC75A0B803F785F2F845CB0BB92E79 /* Contact.m */, - 2B5C9002765D5BA3DC36A233277B1CD9 /* ContactDiscoveryService.h */, - D62219E444ECB19F866A624B99BD472D /* ContactDiscoveryService.m */, - 03D4B7244799BCE4C035D7E137ECE5AF /* ContactsUpdater.h */, - F61FC8CDF673A0A10467CA81E346E541 /* ContactsUpdater.m */, - A98A44DB56EBC9FFD6B4334D5444C826 /* OWSContactDiscoveryOperation.swift */, - C49FAA58E733D476435FBCE70776A0F7 /* OWSDisappearingMessagesConfiguration.h */, - C67E4FCB5C1E799656EC53BA687D3CB7 /* OWSDisappearingMessagesConfiguration.m */, - 54D7194D1D21E048627A186740338C4D /* PhoneNumber.h */, - 27FDF9C41E45E2FB2B3D11ECEB740D9E /* PhoneNumber.m */, - 73F7CD9032820E80A49909704E2AC0E0 /* PhoneNumberUtil.h */, - 2E5461D0817CA802D5E058031199A8C1 /* PhoneNumberUtil.m */, - BB3F78F993D63FD74674A537AAB053DE /* SignalAccount.h */, - 2A0DD51353BE4AEEA7ED81B8032CDAD3 /* SignalAccount.m */, - E310F9540CD7A02E7EB73EC272787C15 /* SignalRecipient.h */, - B21E91FCD3DD5A17805C75A2346439AD /* SignalRecipient.m */, - 9454421401DF75093055831C3411037E /* TSThread.h */, - 54BD9FEAA45AC5AE2B796E0BCE06F065 /* TSThread.m */, - 98220A5C5248FB5283717FEF88BB31F1 /* Threads */, + B8399F92B6E063A28D10B624B81E91A8 /* TSMessageTest.m */, + 247F06D052DBC39C3C798957AEF64046 /* TSOutgoingMessageTest.m */, ); - name = Contacts; - path = SignalServiceKit/src/Contacts; + path = Interactions; sourceTree = ""; }; - BDAF7A9F2CCF001ACDD8D38BDA55D66B /* Mixpanel */ = { + BA44347F411C5466664DA3BE30C26765 /* Threads */ = { isa = PBXGroup; children = ( - FC292CF539C5A856E7FDAB5088D1376D /* _MPTweakBindObserver.h */, - B84A1ABC3D99E9B5F3C347C65AA3D531 /* _MPTweakBindObserver.m */, - 14B063379115576613070FDC5E314218 /* AutomaticEvents.h */, - 10BD821A48D3E7A4F66B218C2B99D9B3 /* AutomaticEvents.m */, - A2FAE98EC821A7EA5E58A3F82CB19D93 /* AutomaticTracksConstants.h */, - 0E99DA4C19CEA9ABF417754AB22E42D6 /* Mixpanel.h */, - 6CC5E41B142D6BB650906A6E3A6020C9 /* Mixpanel.m */, - 89D9466CCEEDFD632CB34FD20D6F19CC /* Mixpanel+AutomaticTracks.h */, - 27B632D75E3203AF8A588E62B62C6792 /* Mixpanel+AutomaticTracks.m */, - E336DFFFFAF34773EA3710C10601615C /* MixpanelExceptionHandler.h */, - 303ADF30C949883DA207B1E2A433C3D7 /* MixpanelExceptionHandler.m */, - 2EB46776C096FB8B596234DA0D5F04CC /* MixpanelGroup.h */, - 8C4B150B9AEA3057AC812AC627ADA8BD /* MixpanelGroup.m */, - B131A102A6190F68CEDCFDA7E82AD0C0 /* MixpanelGroupPrivate.h */, - EC66FB4EADAA5684B23663D455A512A0 /* MixpanelPeople.h */, - 9074A93112FACA0358774D53A6B49030 /* MixpanelPeople.m */, - 194E648A8F13373CEA3BFA0118DBF82D /* MixpanelPeoplePrivate.h */, - 5D0FB85202B537C4763B614B17314E47 /* MixpanelPrivate.h */, - 75256CD8F6DFACA3D031FB27B6196932 /* MixpanelType.h */, - 1773A97443C5A2487B6F9C65D2A9D3A0 /* MixpanelType.m */, - 68C96B265A5A7541BDEC3C8884D42D07 /* MPAbstractABTestDesignerMessage.h */, - F3F86BD15E742F2F1FC127D187395E51 /* MPAbstractABTestDesignerMessage.m */, - 36A62AAC7F296F9BC359CD636DB6F24F /* MPABTestDesignerChangeRequestMessage.h */, - CB689F617269B1F9E24F4021008C6E0C /* MPABTestDesignerChangeRequestMessage.m */, - E20A2E70EAE91C40D21706183C818117 /* MPABTestDesignerChangeResponseMessage.h */, - C83193C07FC8EAE7B509C8C8A43C2493 /* MPABTestDesignerChangeResponseMessage.m */, - 3DFD4C3F90E7B2B98DB974DB0C06588A /* MPABTestDesignerClearRequestMessage.h */, - 42BE04F6F6FD5C2C9C829CACF1F689ED /* MPABTestDesignerClearRequestMessage.m */, - B29419C990FF078104E2F651FADDE2C6 /* MPABTestDesignerClearResponseMessage.h */, - A626D02A5EE784035EA6A53115CD5FA1 /* MPABTestDesignerClearResponseMessage.m */, - 0AEF6C3EE48478ABEAEA3E43D68D8F07 /* MPABTestDesignerConnection.h */, - E4B2E8A228B2D737E4766CAAEFFC1D2C /* MPABTestDesignerConnection.m */, - 8E28E5E873C23E711947C102CA67BA2B /* MPABTestDesignerDeviceInfoRequestMessage.h */, - FB582E581ADDBFC21A022F24C5802603 /* MPABTestDesignerDeviceInfoRequestMessage.m */, - 420E0C86CCE65648AE3D56874FD15FE5 /* MPABTestDesignerDeviceInfoResponseMessage.h */, - AEF0C01D3188CBE674F04D33CAE09FD7 /* MPABTestDesignerDeviceInfoResponseMessage.m */, - 70E8E89B2216AB2E6DE5FA07EBC376EC /* MPABTestDesignerDisconnectMessage.h */, - F51A805D09B562A543452D88F53266D1 /* MPABTestDesignerDisconnectMessage.m */, - 3330DA2C7A233B849AC1219FB97C4B32 /* MPABTestDesignerMessage.h */, - DF942CCB4358E9F169A6389AC63E89D9 /* MPABTestDesignerSnapshotRequestMessage.h */, - 5BC551874C50108931F313D9B41E564C /* MPABTestDesignerSnapshotRequestMessage.m */, - 0CBF4FDF08AF93606F98D923D49AB28F /* MPABTestDesignerSnapshotResponseMessage.h */, - 65CF1D3B156E8233B50D94C1B6F0A2EE /* MPABTestDesignerSnapshotResponseMessage.m */, - E54EEABB33232D72BB7ADA0A8B011528 /* MPABTestDesignerTweakRequestMessage.h */, - 1D4F984B3985C5184DC80ED5B7621683 /* MPABTestDesignerTweakRequestMessage.m */, - CA34FECF2D1CA22AC0BEE562F990FAC9 /* MPABTestDesignerTweakResponseMessage.h */, - 728C3263439E9EA23CF4C8C68CDE29B3 /* MPABTestDesignerTweakResponseMessage.m */, - 0EE48A8884996B8A16EA62AB5DDDCD5A /* MPApplicationStateSerializer.h */, - 78FDDFF63CE39DD7DCC4C7BB61CBF2A8 /* MPApplicationStateSerializer.m */, - 8B884A71488790E0B619D1F5DFD0D1D5 /* MPBOOLToNSNumberValueTransformer.m */, - 697A6909A39491E968BA0F04F337D925 /* MPCATransform3DToNSDictionaryValueTransformer.m */, - 593161C4026B72005F531D8B41148D10 /* MPCGAffineTransformToNSDictionaryValueTransformer.m */, - 8B8181C4AD215A6D442494EDC9B841BC /* MPCGColorRefToNSStringValueTransformer.m */, - 4BD901CE1C2E92A4FC1BDFE575E2A820 /* MPCGPointToNSDictionaryValueTransformer.m */, - DF05F542252D9A788870C5122B0DBBA7 /* MPCGRectToNSDictionaryValueTransformer.m */, - 10AAADB6C78CC406B7ABACDC6B10FAD4 /* MPCGSizeToNSDictionaryValueTransformer.m */, - 22C39987B5CFCF935A6F14B4130C4439 /* MPClassDescription.h */, - 94045CD92B6AD28B0FADBCF77F6638EF /* MPClassDescription.m */, - 705E2B7EBC82BB5FBF14AB6FB3FB61F5 /* MPConnectIntegrations.h */, - AA8813AA710C4AA699516A470B174EFA /* MPConnectIntegrations.m */, - 43EFF97FED843732C35760F700F0D7C1 /* MPDesignerEventBindingMessage.h */, - 8FB9F30182DC4D942B2CA2B6E35EDD37 /* MPDesignerEventBindingRequestMesssage.m */, - 2F4C9B04A67EF8FBBB1A3EB5F652425B /* MPDesignerEventBindingResponseMesssage.m */, - 4AA0A32B7493D52E559F573D0D6358FB /* MPDesignerSessionCollection.h */, - 9F1522A166F80FA00EBCC4B618004CC6 /* MPDesignerTrackMessage.m */, - 711B53A07E7B5E69D3B133EDF6CA0266 /* MPDisplayTrigger.h */, - BEF0262D3CAA4A0E5B175EDE8265020F /* MPDisplayTrigger.m */, - C8116DD3DAF0519A7D1C2C494FDB0616 /* MPEnumDescription.h */, - 24E59A0AB638C2BC4D5B59982C21CDDF /* MPEnumDescription.m */, - 0FBF987105DC19B9D24D4F4726392A4D /* MPEventBinding.h */, - 3E04B0CA6DAFD71AC4B6026C371D4DC7 /* MPEventBinding.m */, - 20F985311D3E29EE374EDF7C93E2316E /* MPFoundation.h */, - 4F4A0B085C37CA57FFB4F94E123E6E5A /* MPLogger.h */, - F4A00E6FF273476784E7F8ECAAE40204 /* MPMiniNotification.h */, - DC3CF4DB8895CD5F8F51A30F8BA33C6F /* MPMiniNotification.m */, - 7C5957CEE9F1BCBF43C86A4C2D4A7E30 /* MPNetwork.h */, - FC89B178536BE1C8C9F98C39A9409980 /* MPNetwork.m */, - A6D7A02C1E50A5855316C74B4E3DFEEC /* MPNetworkPrivate.h */, - 8C9232C5E279CEE26429CFDF123B2E3A /* MPNotification.h */, - B789DBE75A1E3C180186183BBEE35CD7 /* MPNotification.m */, - 87E5DC6233E4EAB44B0FD3618028CDDB /* MPNotificationButton.h */, - B0A1DD63C9FA1CEE8385B3313ACCB833 /* MPNotificationButton.m */, - 72A35030DE9F2993AC685BCC0F6D75C8 /* MPNotificationViewController.h */, - D7F51C531866AC8E43828F9835918106 /* MPNotificationViewController.m */, - 5C164576EA16C6A8461820A6D84F054F /* MPNSAttributedStringToNSDictionaryValueTransformer.m */, - C183AC3082FF95B2724CA1893F6F5339 /* MPNSNumberToCGFloatValueTransformer.m */, - 0C36D95FDD46BDF95FDB11423C68B8EE /* MPObjectIdentifierProvider.h */, - 94F68A7708459395BF371639B261BAB3 /* MPObjectIdentityProvider.h */, - 42448362C4A1B1E69E140AAF1FD4061E /* MPObjectIdentityProvider.m */, - 2248B3DBB78A4CD725A624C46AF325BE /* MPObjectSelector.h */, - 78EEBB60F1D37AD0EA30622D4CF70601 /* MPObjectSelector.m */, - F524E3799D4CB3F4558E98AEE895973E /* MPObjectSerializer.h */, - 129007893AD6CA9E63B3C7EAAA7E71AC /* MPObjectSerializer.m */, - 5016FD1657089ADD8C4673BF752A9186 /* MPObjectSerializerConfig.h */, - 82CA516C6D50548651F8CEA4635D7438 /* MPObjectSerializerConfig.m */, - 22AC1331D73AA4F2B25D4A11BBE7967E /* MPObjectSerializerContext.h */, - 870F09801A308B1355253D1BCAFE56F9 /* MPObjectSerializerContext.m */, - 2576B4213F93DD700E0E118B09CCBADF /* MPPassThroughValueTransformer.m */, - E4CE2E0A94D00102FCB27E7769327D20 /* MPPropertyDescription.h */, - DE0BA83C3D7C164421AA5B7863B3E1DA /* MPPropertyDescription.m */, - 9DAEE252B0B6E4CE29879A4FB5CD772D /* MPResources.h */, - E64E9179B7ADAEFC16178FA59A067319 /* MPResources.m */, - AC4E24B5A4F640D4520DAE413206459F /* MPSequenceGenerator.h */, - 55D042AE4D9C855084371B5C13BE5D47 /* MPSequenceGenerator.m */, - 4D9A92C834F45FF04010FB2728B1FA18 /* MPSwizzle.h */, - A2F211573FE8E45838D78EA851F97894 /* MPSwizzle.m */, - F8B3608D93D739122E4C94442984A128 /* MPSwizzler.h */, - ABAC20049EA59640859856E460E13820 /* MPSwizzler.m */, - C392555180DEC38836CA183AC9D5B7EB /* MPTakeoverNotification.h */, - 165DD48C9211B592FF2AEBBC55583626 /* MPTakeoverNotification.m */, - 4596E2B19BD9033C3FED4A6689FDE17C /* MPTweak.h */, - AF1C4734E88EF282E01261E789F9B9F0 /* MPTweak.m */, - 241F9EA2DF08CF77476696D3DF7C14F1 /* MPTweakInline.h */, - 7CD2ACBA07F533D868BD6980B159E9F4 /* MPTweakInline.m */, - 36A4AA6C1DCC8804995533D132D96603 /* MPTweakInlineInternal.h */, - 2CDED2B29E6A4F6B2239EC19149318A7 /* MPTweakStore.h */, - 959E6274C89FCBDEB1B15638D2DA214A /* MPTweakStore.m */, - 884F5E11998C0CA95D710328D41D8156 /* MPTypeDescription.h */, - 0AA79A4DD9EE160716CBFFD41579C46F /* MPTypeDescription.m */, - 2C8F16A2D7028924AA0FB3724F214624 /* MPUIColorToNSStringValueTransformer.m */, - 49F8556E101464EB0C28178841AF6691 /* MPUIControlBinding.h */, - 057677C8FBD4470768FBCB39C3EC00E5 /* MPUIControlBinding.m */, - 1A4741F22F6E02CCB8CA9F7F7F3B6E1E /* MPUIEdgeInsetsToNSDictionaryValueTransformer.m */, - ECEE7F15BA18C444C71D2E5CA05F7E63 /* MPUIFontToNSDictionaryValueTransformer.m */, - CC308DD5B104D63AD6825900D97E5F90 /* MPUIImageToNSDictionaryValueTransformer.m */, - 97E333907F6A0399737DFF8EC4ECD6C4 /* MPUITableViewBinding.h */, - 0AA207580396C4298542896B75B6EB85 /* MPUITableViewBinding.m */, - A6AF89C01AC5CC23B87A14763A741EC2 /* MPValueTransformers.h */, - 9B34C1E6FFEA77EB80A4923BA271C3B3 /* MPVariant.h */, - DD31A7D31A227E47226531E4387E4686 /* MPVariant.m */, - BC94413E2499F513AA3CD3D5BE050D4E /* MPWebSocket.h */, - 42AC9A3671DCFF2D717F142670C790A0 /* MPWebSocket.m */, - E4F9AF4ACA5930151ED3790F77F71C57 /* NSInvocation+MPHelpers.h */, - 2E655D1298C69E2F89F61A26675D2BD0 /* NSInvocation+MPHelpers.m */, - 18A4E2EA17A9C16DE5F7F701D48F7324 /* NSNotificationCenter+AutomaticTracks.h */, - 98EF8E9833D96FC9204D3AB733E006B5 /* NSNotificationCenter+AutomaticTracks.m */, - 5982702504EFC5BBD50318DFF0325193 /* NSThread+MPHelpers.h */, - 9EF1285BC8465EF0E5C81AC644467128 /* NSThread+MPHelpers.m */, - 36F36AA3356C3685BC291FCBD92EDB70 /* SelectorEvaluator.h */, - 458887ECD425B3DB0EE5F279C5A1B1C5 /* SelectorEvaluator.m */, - ABCB395A33593A85BD927A5C110D1693 /* SessionMetadata.h */, - 7142D4C2290E1E1826A9C4D6D102303F /* SessionMetadata.m */, - 15EB9ED5BECD0376CC482935A57B7F23 /* UIApplication+AutomaticTracks.h */, - D2BA78CEFFF66645458525EE71AB7D06 /* UIApplication+AutomaticTracks.m */, - 10C3F5CC8848D719E1F83AB54254BAFB /* UIColor+MPColor.h */, - F4A64D4040D424BB290986136666E4D8 /* UIColor+MPColor.m */, - 0400242FB0340150DA52F054E326FB4B /* UIImage+MPAverageColor.h */, - 65ECBEFC5A8B05440DD13175BB9A17CC /* UIImage+MPAverageColor.m */, - 65DFEF6AB118206C23629A1A07EB42AB /* UIImage+MPImageEffects.h */, - 93AE128FDE68E6E434CB0959D18CD0C0 /* UIImage+MPImageEffects.m */, - 1DCDF4E4F7A5BF7CF5A6D876A5F5946E /* UIView+MPHelpers.h */, - 92E04068EF8D77BF3027C745971ADC5C /* UIView+MPHelpers.m */, - F56E995D3A9BCBA00C4D008B5AF85630 /* UIViewController+AutomaticTracks.h */, - 056F3B498A2DD85B1485CDE3A2AC47AC /* UIViewController+AutomaticTracks.m */, - 0E1E971D9B8DDE298484D4D2C8FFB257 /* Resources */, - 1C103AD0E8EBA89BB686C13D04B11019 /* Support Files */, - ); - path = Mixpanel; + B3D3EBCB1C9FFE497C21D4DF99CAC346 /* TSContactThread.h */, + 223C155B1760CD69D27970C750611DEA /* TSContactThread.m */, + 8B6B911CA1251438A0E6F079B2DDDF47 /* TSGroupThread.h */, + E014E13C0EC6BFBA884F63935E41C035 /* TSGroupThread.m */, + ); + path = Threads; sourceTree = ""; }; - BDF1BF90A004D068CC86602A9FADD872 /* Devices */ = { + BBAEECB112FA40F71896D36578847D59 /* CloudKit */ = { isa = PBXGroup; children = ( - C9E953C0D9ACCC330E2A850154FEE301 /* OWSDeviceProvisionerTest.m */, - 0683D90A1A04D4ECD408B16F91495CB0 /* OWSProvisioningCipherTest.m */, + 81D2A96070AF88680FECAA768E492C57 /* YapDatabaseCloudKit.h */, + 37F55EB45CD5E04CA77BD54817FB6515 /* YapDatabaseCloudKit.m */, + 20D7DB6445C1DFF10CECCA7F0F2325D7 /* YapDatabaseCloudKitConnection.h */, + DEF1BBB7240C7E7A90DB2CC42F7374F6 /* YapDatabaseCloudKitConnection.m */, + A1C9F281F7C66EEDB34181E360EE8BA4 /* YapDatabaseCloudKitOptions.h */, + 14301C71259D76E43CEB1C2AE737F328 /* YapDatabaseCloudKitOptions.m */, + 0832145DC779139C1BA203C1BCFDE312 /* YapDatabaseCloudKitPrivate.h */, + EA2397B146ECDD840ADC6297F07843D9 /* YapDatabaseCloudKitTransaction.h */, + 926C9B4633A4B6BC8196E8650281DCC1 /* YapDatabaseCloudKitTransaction.m */, + 4DB52E16C9046152D0B0B7A7FF69012E /* YapDatabaseCloudKitTypes.h */, + 24A824614E87F6AF30DC6BBEA18ECC20 /* YapDatabaseCloudKitTypes.m */, + 3BA3F1FC561AB941D9B7641FD5487E50 /* YDBCKAttachRequest.h */, + 6B1D1F92A5F6C572AD59731EB07BFC1A /* YDBCKAttachRequest.m */, + 07963B9C4FE9D78C2624658794869582 /* YDBCKChangeQueue.h */, + DF6A071C7A4DB1F9DB12F9DF37F99530 /* YDBCKChangeQueue.m */, + 89B783F28B6343C822404AFF3DD2508A /* YDBCKChangeRecord.h */, + C7B17AFB318EEBE013B3161DF148C073 /* YDBCKChangeRecord.m */, + 243B6EC4FF144BF14CF12FF1D54B30F2 /* YDBCKChangeSet.h */, + 9A3DDCFF59017B5A4716D209C301964D /* YDBCKChangeSet.m */, + 6FB0D6EE7300E92DD36B261E239C482E /* YDBCKMappingTableInfo.h */, + 2536C79BDC5741265205ABA221F70941 /* YDBCKMappingTableInfo.m */, + D0831278D554467E6C00EBBC26B999AF /* YDBCKMergeInfo.h */, + 98730961D595CE7605A5E80BD88E0F99 /* YDBCKMergeInfo.m */, + CC907524ED982FB557424B5D8CD88891 /* YDBCKRecord.h */, + EFC2E9CB39F0D3C36100B58BD9920F69 /* YDBCKRecord.m */, + D7D8C8B79F109630174A9C322F593CA8 /* YDBCKRecordInfo.h */, + B19F9A481EAFF6688AF08BFDAB591901 /* YDBCKRecordInfo.m */, + CF46AFC7959B175C0E1F836D72C58D95 /* YDBCKRecordTableInfo.h */, + 8E2EF0A62F387934332523F90B2DFBEE /* YDBCKRecordTableInfo.m */, ); - name = Devices; - path = SignalServiceKit/tests/Devices; + name = CloudKit; sourceTree = ""; }; - C0B522C33FB3CE8A54AE037E203FE8DB /* HKDFKit */ = { + BBC0C39F083E37C3E9DAD6F700B9665A /* SearchResultsView */ = { isa = PBXGroup; children = ( - 0AB8A17246DB9F35F4E2EBC7B1326CF2 /* HKDFKit.h */, - CC1093C2BDAC81ABEAE9DDAB8BF63259 /* HKDFKit.m */, - 2FE411F5102066933E22CDB8C6A365C3 /* Support Files */, - DCA4870193EB2F703A898893DFD82BC1 /* Tests */, + 74A261FECC2B8EC71F2BBF0371FB2A04 /* YapDatabaseSearchQueue.h */, + 5FC0B2BDCAB63E74342D9990813B08B3 /* YapDatabaseSearchQueue.m */, + 850C2F42271C9DB876932F25172E88C8 /* YapDatabaseSearchQueuePrivate.h */, + C0557383B119CBB116697C3C95D33074 /* YapDatabaseSearchResultsView.h */, + 9ED842EA487D27CA0ED70F5701A584F3 /* YapDatabaseSearchResultsView.m */, + D7BCF09BDC8D58419AA35C97D965F1D8 /* YapDatabaseSearchResultsViewConnection.h */, + EC77CB7F0E39E16597394DEC6FAFD12E /* YapDatabaseSearchResultsViewConnection.m */, + 1063729587BB82F06D92B313B659601B /* YapDatabaseSearchResultsViewOptions.h */, + FFA273381F1A5A012982A30EA6A93372 /* YapDatabaseSearchResultsViewOptions.m */, + 1AF5ED0B1B203E32AC6D5187A96BB55F /* YapDatabaseSearchResultsViewPrivate.h */, + DAE333843A9EAFE42AA37FFEE7A7F447 /* YapDatabaseSearchResultsViewTransaction.h */, + 69E31A87EEFC7EE41106D62D11D3DF2F /* YapDatabaseSearchResultsViewTransaction.m */, ); - path = HKDFKit; + name = SearchResultsView; sourceTree = ""; }; - C4A6106AE25C1C44B9D3C20A8050AD6D /* Protos */ = { + BBDC3575719D168CB0BAB358B1529AD7 /* Network */ = { isa = PBXGroup; children = ( - EDA30CF5B498E4155B70B258F4AEC29F /* Generated */, + A83D3402FE63F389406F813A83DD1D11 /* ContentProxy.swift */, + 44C547E7E62D72A4F47B3398C035774E /* MessageSenderJobQueue.swift */, + BBA1D012A7541F2466D0067E8BD0E8E2 /* OutageDetection.swift */, + 4F9B898E8C69D24D7CF10B16ABC4AF58 /* OWSCensorshipConfiguration.h */, + 13385081870B1D7D06F2EBC5D1758C10 /* OWSCensorshipConfiguration.m */, + CA58CC64AE29643A5BE3E94D26F94A1F /* OWSCountryMetadata.h */, + 2BC2CB1633061CBB08AFBFC438663BF2 /* OWSCountryMetadata.m */, + A6213775ABBE523338C76ED1559AAC7D /* OWSSignalService.h */, + DAD84B9C79AB1D30CADF7CA378A51E96 /* OWSSignalService.m */, + 89A56356FEE05D7ABF5CC3C689C74BE7 /* ProxiedContentDownloader.swift */, + 6F5E8F84C6EB9B37BB22515630229B81 /* ReachabilityManager.swift */, + C89CAC9887B61894868EB8A830E49A5D /* SignalServiceClient.swift */, + 35342D7C1586A1173062241A97C69CEC /* SSKWebSocket.swift */, + FE016F757ADB764EEF70240B1CDBDDEA /* API */, + 9D4BA84F7EB3F4125472460F319ED3F0 /* WebSockets */, ); - name = Protos; - path = SignalServiceKit/src/Protos; + name = Network; + path = SignalServiceKit/src/Network; sourceTree = ""; }; - C4A976EC7116B66FDE8055ADE8C31BA2 /* ConnectionPool */ = { + BBF9CBF6C35058E8026B43346ADD9878 /* Contacts */ = { isa = PBXGroup; children = ( - 25E265D9710185BAC420FC2332BDFB6D /* YapDatabaseConnectionPool.h */, - A71228731AA2B136ABC27800B8C8C1AF /* YapDatabaseConnectionPool.m */, + 174EA129FEC799BAC0B6ADFFFB29559B /* ContactSortingTest.m */, + 6E92563F598247E85BC293708DF249D8 /* OWSDisappearingMessagesConfigurationTest.m */, + 8ECEF9808702C6BE47693B116C943F2C /* PhoneNumberTest.m */, + 3889D3E8C755D0D2E9FFBB4E3B00FC93 /* PhoneNumberUtilTest.m */, + 0E3E938FA08B09D3AFAFDFB7A8CAFEE8 /* SignalRecipientTest.m */, + 8ACAA1B3B319B4AFCFDF6807B0D64C94 /* TSContactThreadTest.m */, + D65CE8B851F97F4FBC9F1FC3F41302D8 /* TSGroupThreadTest.m */, + 6D9862AAE9AF0EF67CB72F16E5C7E751 /* TSThreadTest.m */, ); - name = ConnectionPool; + name = Contacts; + path = SignalServiceKit/tests/Contacts; sourceTree = ""; }; - C7CBEDD2A517CF95CF083C45FDDFF995 /* FirebaseCore */ = { + C10559F2624FD2679E0AE0DE2899888D /* Targets Support Files */ = { isa = PBXGroup; children = ( - 6B97FA1B5E5B4E5473F2DE076DB1593B /* FIRAnalyticsConfiguration.h */, - 1009D2CB92B73357388FC7528D1CD719 /* FIRAnalyticsConfiguration.m */, - 02B803BAD103176340874E28D0379565 /* FIRApp.h */, - AF18900FC5D10267E059D8CE5C10A308 /* FIRApp.m */, - A52F73C0A3F96834C47FDAB46DF3EBCA /* FIRAppAssociationRegistration.h */, - 6907BC3F042ABA26375606693F9CAC22 /* FIRAppAssociationRegistration.m */, - 5A8DB7CA07DD11326BA537E50E52A195 /* FIRAppInternal.h */, - 5C5FB8AB74741B510B896C57D66C7A5B /* FIRBundleUtil.h */, - 567B98E11A25F1D7F3054BE463BDF4AE /* FIRBundleUtil.m */, - 278DC2A69FD599A123CD97F2A0DE1362 /* FIRComponent.h */, - 5006545B36AFFA0FA53A40EFC3DC55B7 /* FIRComponent.m */, - F5620FD40B63BC69929EC1E903B1B584 /* FIRComponentContainer.h */, - 0625C01A435188551CBBC352CD55D5A9 /* FIRComponentContainer.m */, - 5307E1A9A2FA37262226A224CE80ED77 /* FIRComponentContainerInternal.h */, - 55D20278638AA62F3C84C4FB5BDFCB94 /* FIRComponentType.h */, - 1242C92C6D89E81FDA79556F6543B7F1 /* FIRComponentType.m */, - B92D847B827FD9155167851C232CEC58 /* FIRConfiguration.h */, - 3948497597DCFA9063811677EEDF88F9 /* FIRConfiguration.m */, - 7EFA09E63F660B9CEA117B6DE85145F1 /* FIRConfigurationInternal.h */, - 8567BCB45892B758F662A9B9A6113EE5 /* FIRDependency.h */, - E14F5C235A6ED0A919E64FDB47EDD4E8 /* FIRDependency.m */, - 15D10724D7D4E4EA984AB4641DBF82BE /* FirebaseCore.h */, - 7477F6D2E94DF650D64DC1263AD3FBD9 /* FIRErrorCode.h */, - FFAF95FD4EF88DF7142B10DCA60C71C1 /* FIRErrors.h */, - 0441E07E6BB1BBDF41A2DAAFBBFCA815 /* FIRErrors.m */, - 05A8C5573B7ECADE4B2199A9A843A3DC /* FIRLibrary.h */, - 41CD49878C0FB85D14C7132762C2204C /* FIRLogger.h */, - 00D221B808A11B5F85DD171182C0917C /* FIRLogger.m */, - ADB5DAC71BFD22977C0326608DA53F7E /* FIRLoggerLevel.h */, - 428BE35FC55ACF995F4253FBC137D74E /* FIROptions.h */, - 69E984A4C42480CAAA0E6ADE5A639707 /* FIROptions.m */, - 0EF71B74EC9F5F795F11974E820C3536 /* FIROptionsInternal.h */, - FA1B7DA3014D79091720D00FF2063BD5 /* FIRVersion.h */, - F35FFC589B02FA9223CF58203A137695 /* FIRVersion.m */, - E33775014733E1922A32A2E77F80CCB5 /* Support Files */, + A2339DF3D8C09FAC92B0220C64EEA9FC /* Pods-LokiPushNotificationService */, + 2E3B8AE000733A15014C350C211A3DE2 /* Pods-Signal */, + 0504592C791A0A23D2ECA284A95FD14D /* Pods-SignalMessaging */, + 2116162490D090AB0552E740293E78B0 /* Pods-SignalShareExtension */, + 09DEA6C8F1D57E6A8D7BD60EEB13B3EC /* Pods-SignalTests */, ); - path = FirebaseCore; + name = "Targets Support Files"; sourceTree = ""; }; - C8BF186DB9A0B8A832AFF47287C605BF /* CorePromise */ = { + C466961E89E9D790146A8A1BAB7BBCD7 /* Frameworks */ = { isa = PBXGroup; children = ( - 9315531F674C1A111DED6DB0FB471F90 /* after.m */, - 57C4EE166B61DAD531BC9B13BB8B3B27 /* after.swift */, - 0266D34A40994A7157C87D94B25BB98E /* AnyPromise.h */, - F87A5E14D3AB6180F1B03053FF30C218 /* AnyPromise.m */, - 4A27BC73DC1ACA0B79C7EB2D71773C63 /* AnyPromise.swift */, - B6A291D035550116231449F81C6155AD /* Box.swift */, - D6B04B3996D02682A464A14C492AEBA2 /* Catchable.swift */, - 3C7E522DCF8A58A8DCFEB218E34E98C2 /* Configuration.swift */, - 38C8A1D2E65889F825312B551C5A69A8 /* CustomStringConvertible.swift */, - 20B74EDF43E008156935F7B0E8CF9CD6 /* Deprecations.swift */, - 8293E2A743D63A5D00D0BAE1B309720D /* dispatch_promise.m */, - C369DCE9B771AA4A1C7B40DFFA3C4DCB /* Error.swift */, - 511B483FF333DEAF04A12F54FAA8EEC8 /* firstly.swift */, - AFBABB7C64B63C3378277EF1A4D154BE /* fwd.h */, - 4B9E4104B8E407ED4156FA0A289E22E1 /* Guarantee.swift */, - 6393D5EA0920C701AFA810A51A09F545 /* hang.m */, - D4A5F0E233534286FC6C1AEE1462B2BE /* hang.swift */, - C52AB403FC6D823012C332C2F34534DC /* join.m */, - 53B494ED11128E3A2A64ED19884C4242 /* Promise.swift */, - C26219655E1359BEFD60DC1F72AE425D /* PromiseKit.h */, - B86370BD1964415A19C65F4A837F0B1E /* race.m */, - D1A00BD3CF2194C38BDF51DF395FA5BE /* race.swift */, - D76809838B3F625A8027963813F93A9F /* Resolver.swift */, - 5F07CBBBFB32198DD4BF11B2D7B35D75 /* Thenable.swift */, - BC5F900BDEBCBF7A60884FFB9F7855DF /* when.m */, - 83E3EA4FF195800D50B5D20C7AAF31AB /* when.swift */, + E1833048746C36F32EDD5C4BE5E3649F /* Fabric.framework */, ); - name = CorePromise; + name = Frameworks; sourceTree = ""; }; - C9ECB8C2B34CF9FA4AB54D4FA1F7BC11 /* Util */ = { + C4736F4955412B8147F73F2614A2A46F /* Core */ = { isa = PBXGroup; children = ( - 7166B92B9C166FDF75635F25C15D3E3F /* DeviceNamesTest.swift */, - B293C04A6B6FF07C61C819C02B2C06FB /* JobQueueTest.swift */, - E602DAC73D8755CE8C55D5C243B185E1 /* OWSAnalyticsTests.m */, - ECE37EAF4CA44826CD8F901C794D25D1 /* TSMessageStorageTests.m */, + 02AC165B020A2456487CBF1D0D5AB75C /* YYAnimatedImageView.h */, + 3B4032002353349009D12B2ADBE37D1E /* YYAnimatedImageView.m */, + 2D9930483CF467092B3937C5DF55A0E8 /* YYFrameImage.h */, + 0AA02633FFB192B168B207E9AFA63A97 /* YYFrameImage.m */, + D6873113E0D0E7D73ABBC650C43A5233 /* YYImage.h */, + CB464C8C8CAEB4F478DC2E710336D621 /* YYImage.m */, + B4E3E6296BA56A800BA9EA4F2F56B039 /* YYImageCoder.h */, + FB8929BF1500B1289BC2C843A7217E87 /* YYImageCoder.m */, + 72BCECCB112DB0A26FA3E1434F85F233 /* YYSpriteSheetImage.h */, + 2A9CC6B24BBD99A6BF6B24F332927961 /* YYSpriteSheetImage.m */, ); - name = Util; - path = SignalServiceKit/tests/Util; + name = Core; sourceTree = ""; }; - CC2F7BC5B324DDABC4CD73C34161F9B0 /* Database */ = { + C5EB909DFFDDA65F895D3F1287B7C14D /* CocoaLumberjack */ = { isa = PBXGroup; children = ( - 3097DE003D80C0F81C1E4592902601CC /* DeviceLinkIndex.swift */, - C86EF8D9E74885F62A88D8871ECF2B00 /* LokiDatabaseUtilities.swift */, - B80CA42423FA378600F28211 /* LokiSessionResetImplementation.swift */, - 2CE4EF549F4DA9C3E7B4A76913C6C6B4 /* OWSPrimaryStorage+Loki.h */, - 83EEB7ADA8AE57E0C5BC66A44D733B61 /* OWSPrimaryStorage+Loki.m */, - 1619E7AFB3D5987F998D3EE5077C5D90 /* OWSPrimaryStorage+Loki.swift */, + D2551F0DF9DD96DB31EE10BD644BAEA6 /* Core */, + F4C1E9BE939FB3DD6BDDD43453BEF027 /* Support Files */, ); - path = Database; + path = CocoaLumberjack; sourceTree = ""; }; - CC8B53C899B8DF3B9A53BB3276B4E7FB /* GoogleUtilities */ = { + C80B68FDDA4B762740F3EA6C174189DD /* Resources */ = { isa = PBXGroup; children = ( - D4E2181B26D1941D8EDD7AB0EEA2BBA5 /* Environment */, - 6BA33437983BD04F5242FBA697A55F18 /* Logger */, - A0C6BC6D8E0FA5DAD27EE50DBD03869B /* Support Files */, + 4A400774D011F6C6B6FF02A81282AF4A /* Certificates */, ); - path = GoogleUtilities; + name = Resources; + path = SignalServiceKit/Resources; sourceTree = ""; }; - CCD5DE7F501E93402922A02AD57A88F9 /* Starscream */ = { + C92349EFF76B87AE3469A3D0D93D733C /* Crashlytics */ = { isa = PBXGroup; children = ( - 4BFD0DED0EB195882732493ED625B96E /* Compression.swift */, - 1E9FAB28E05B56D6830C0E750279DD01 /* SSLClientCertificate.swift */, - 3AAD6AA7C7742C21E8F13B00CCA85538 /* SSLSecurity.swift */, - 0F40522AEBD0B81FEE6204CE52AA628F /* WebSocket.swift */, - 8BBA7F7412D164159575E366A3FF084F /* Support Files */, + CDF6850BBB0640D51A0A78DB567FFB7E /* ANSCompatibility.h */, + E880FDFCA718C0049203F62ED1C89253 /* Answers.h */, + 9B6AA86D1978D8F92AF68B7DD9596FAF /* CLSAttributes.h */, + C6E69B77B9E3FEB68E5AA54AD672F91A /* CLSLogging.h */, + 978A084C4BC1D7A11D128506B501555D /* CLSReport.h */, + 1761BEE643636502247793A46ECA428F /* CLSStackFrame.h */, + E50FC5014F5A9D42DB03F91F0023C5E2 /* Crashlytics.h */, + F555156EFF82399E64F84B0AB9B6C52A /* Frameworks */, ); - path = Starscream; + path = Crashlytics; sourceTree = ""; }; - CF1408CF629C7361332E53B88F7BD30C = { + CA0119D3A09AA23B30AF614055DA1669 /* FullTextSearch */ = { isa = PBXGroup; children = ( - 24390EFD555DD124430DFF9724065945 /* Podfile */, - CF5C65A9E5C96EA06F29F21161D681D3 /* Development Pods */, - 18E828C85CA8849CCB3C8251450DFC89 /* Frameworks */, - 0F4E36B6EA682B04653F67DB66F24306 /* Pods */, - 1C8FA7FED84C713348362E25A47539C4 /* Products */, - 5D2090E7B14F3BC41C1CD9191863928A /* Targets Support Files */, + 1CE67C7B9D0FFF920780E481CBF0A406 /* YapDatabaseFullTextSearch.h */, + D336B734034978529A1EE0F3A6203E5D /* YapDatabaseFullTextSearch.m */, + 7C5D62E86302FF7667076D2CE29F71D8 /* YapDatabaseFullTextSearchConnection.h */, + D7B3F6601015874F5580A99B4F1B5E1B /* YapDatabaseFullTextSearchConnection.m */, + 357F87903640BF0318263DD1308B8E2B /* YapDatabaseFullTextSearchHandler.h */, + 7BC4B9F21686CAD9A7AB18F043389E4C /* YapDatabaseFullTextSearchHandler.m */, + AA57E77C74F7AA2C2A33849B4BD9362F /* YapDatabaseFullTextSearchPrivate.h */, + FE77BC82A78E4C219A06A096CFB7D99E /* YapDatabaseFullTextSearchSnippetOptions.h */, + B08205867C54B8A3370DD0295DAF2ED7 /* YapDatabaseFullTextSearchSnippetOptions.m */, + E0F8D03AF7C377A34DCD1697D30CFC2D /* YapDatabaseFullTextSearchTransaction.h */, + C4E090CDEE9AC8EA80B30856FC904706 /* YapDatabaseFullTextSearchTransaction.m */, ); + name = FullTextSearch; sourceTree = ""; }; - CF5C65A9E5C96EA06F29F21161D681D3 /* Development Pods */ = { + CBCDD845D499453E4FD67A0D80BDA794 /* Tests */ = { isa = PBXGroup; children = ( - B0C6622F23C909081273D4894B8814B3 /* SignalServiceKit */, + 3A5112659A91D7F44B85040155168F1A /* HKDFKitSwiftTests.swift */, + 283F732AD9513FAEC86FF43EB6C151C0 /* HKDFKitTests.m */, ); - name = "Development Pods"; + name = Tests; sourceTree = ""; }; - CFD60FC8403EEF595BB40354390402A7 /* AFNetworking */ = { + CBE994D4A6AD4D0E4BFD7F8CB399B7AB /* Tests */ = { isa = PBXGroup; children = ( - 3E82C3917488BD813AD4A052A208B366 /* AFNetworking.h */, - 227EB1532DDC9C70D0B1E4F56567CD4D /* NSURLSession */, - DE8249B2E9F47ADBD191E207C608B434 /* Reachability */, - 2F1166BF9F4C05715CDB67B331EC4F20 /* Security */, - 77983B6BACE3D380AF84F112C228472E /* Serialization */, - 6CF44C6E5B664D45DF8BDEFB4A10350E /* Support Files */, - 7BF24807591B01F97B26C25925686B0A /* UIKit */, + A07743F71DEB3115984B36FE9DB3A440 /* CryptographyTests.m */, + AC9919CDBA3BFAFDFC15C0E47B71D276 /* SCKSwiftTests.swift */, ); - path = AFNetworking; + name = Tests; sourceTree = ""; }; - D1FFF9B78EFF5C497AB2C40FDF0EAD0A /* Support Files */ = { + CEDF3D8E94A35AC2AA73C1136F188E20 /* Serialization */ = { isa = PBXGroup; children = ( - FD0D368AFEB4B3AA78F4D706AFDC46DC /* Info.plist */, - A2E45E0EA2B57E3842B32FC7FB06447D /* SAMKeychain.modulemap */, - F35E0788F133C263B7709165E1DA4B40 /* SAMKeychain.xcconfig */, - B5B13667C0FF4A91A035E4C452DA6929 /* SAMKeychain-dummy.m */, - AA6331D91A831C8B05796F54372C468C /* SAMKeychain-prefix.pch */, - 60F64F750321842497154F9A465D20E1 /* SAMKeychain-umbrella.h */, + 2270E652A8DBB3758BB2032C9968687E /* AFURLRequestSerialization.h */, + 85319A8B0118B36E0BE8FAB4F1766405 /* AFURLRequestSerialization.m */, + 04163EF2E9112749ADB144482ED1C32E /* AFURLResponseSerialization.h */, + FAF038E8BBB4239F544C58412F6D1902 /* AFURLResponseSerialization.m */, ); - name = "Support Files"; - path = "../Target Support Files/SAMKeychain"; + name = Serialization; sourceTree = ""; }; - D2039FCCBB230A36CB8146DF07BFE959 /* Devices */ = { + CF2C047DCE84E24DB5265924D5B81819 /* Development Pods */ = { isa = PBXGroup; children = ( - B6C4949C4669C1A3735224E994B5AC69 /* OWSBlockedPhoneNumbersMessage.h */, - 4091955B2A674FCE6503B6EDD7D3967A /* OWSBlockedPhoneNumbersMessage.m */, - B17EEAEDA83C0F8F0E2102612AC47F70 /* OWSChunkedOutputStream.h */, - 2AB4D9AEDA8542E68D23BB9CF2F7EF38 /* OWSChunkedOutputStream.m */, - FA3B6BBBF48E6F38323A90F1D4990DD1 /* OWSContactsOutputStream.h */, - 6EDCA059CD69F5EED5B076D24B613DB7 /* OWSContactsOutputStream.m */, - FB1D4A4E5D21D572C6F9DBFD22E1C539 /* OWSDevice.h */, - 1C9E3F8D7ACBBDC9E7CD3ED4EB0D7D87 /* OWSDevice.m */, - 7B4B00DD709EA0959550C4D1BB45738E /* OWSDeviceProvisioner.h */, - 691A38BB328AD0ABEA95300182E354DF /* OWSDeviceProvisioner.m */, - D046A1D1EA52912EE887F67D8F0A44CE /* OWSGroupsOutputStream.h */, - C6438314B8752E5ECF576722ECF13CBB /* OWSGroupsOutputStream.m */, - DE93549DC382C34AA10B88171351E664 /* OWSLinkedDeviceReadReceipt.h */, - F29ECEAC2560471FAD09E24E6CDB28BE /* OWSLinkedDeviceReadReceipt.m */, - 8994A4C39390E5F779BD010A2FC99773 /* OWSProvisioningCipher.h */, - 569095E4B2FB01109764C258F300CAA0 /* OWSProvisioningCipher.m */, - DB548746E6BD9F055C4D63A78E64C73B /* OWSProvisioningMessage.h */, - 6746313C3F3B3E7C63B1BCC5EC9ADB62 /* OWSProvisioningMessage.m */, - 9887FCC46B6179E30DD0F80CD591E106 /* OWSReadReceiptsForLinkedDevicesMessage.h */, - 323436477D93E81C5087CE531740AB04 /* OWSReadReceiptsForLinkedDevicesMessage.m */, - 74301BF813B91BC6AB9BD320C1FEF1D1 /* OWSReceiptsForSenderMessage.h */, - 672AA22084045B9835A0D46F4EE5C080 /* OWSReceiptsForSenderMessage.m */, - DFE6600D93F86DC6B3C3ACD3F7E537C7 /* OWSRecordTranscriptJob.h */, - 851804EC0075E5F57200C7A10E5783F3 /* OWSRecordTranscriptJob.m */, - 537052C162AD069D1415E05713C9EF94 /* OWSVerificationStateSyncMessage.h */, - D2F9530A2AB33AD33D87397CF6F75FA6 /* OWSVerificationStateSyncMessage.m */, + 40964EB4E74A9C685F2A08ADA1F226E6 /* SignalServiceKit */, ); - name = Devices; - path = SignalServiceKit/src/Devices; + name = "Development Pods"; sourceTree = ""; }; - D274A9098162A732D5D460579C7E50E1 /* Multi Device */ = { + D2551F0DF9DD96DB31EE10BD644BAEA6 /* Core */ = { isa = PBXGroup; children = ( - 1D4F351BFDC6C7359C248A6349ACC94F /* DeviceLink.swift */, - A9CE4E9B644C02D916883CF37C63CD06 /* DeviceLinkingSession.swift */, - 579FF5B44E8E7E20CBB9468D07F50366 /* DeviceLinkingSessionDelegate.swift */, - 0967C25F4D6231AAA6AA2D8EA9A1EC43 /* DeviceLinkingUtilities.swift */, + DF625FBCC038A1C094DCE8A363CC23B6 /* CLIColor.h */, + 1CDB804424F1E3BE31ECD4BB1F6EA3F7 /* CLIColor.m */, + 35785B80A62A04DD5F9BD1675F12B0EC /* CocoaLumberjack.h */, + 986B8B1E6A67391BEB812C28FC89F5A2 /* DDAbstractDatabaseLogger.h */, + 0A44E100D0C15BCDF8B44CB1D8BD9C77 /* DDAbstractDatabaseLogger.m */, + 09155805E9C4FB92EE6B6FB7AFBE3B60 /* DDASLLogCapture.h */, + 85D76F6A8041BEC4042F1F13A8EC0D9D /* DDASLLogCapture.m */, + C2182246DCE20DC1D397525F32A8CE2B /* DDASLLogger.h */, + 52CDE0A18018BC67E2D08EA5FD80860A /* DDASLLogger.m */, + F34FC2D0A98D903A6FBEE1504C489AE9 /* DDAssertMacros.h */, + E0799DD3286718BF809F92E5B657E93F /* DDContextFilterLogFormatter.h */, + 40A23518CFF9B02380526DD8545BA439 /* DDContextFilterLogFormatter.m */, + 6936B7DA7F663ABDC282F52786CD85CB /* DDDispatchQueueLogFormatter.h */, + 90F94D9FA523A0E8D1FC5A1B80A9A52A /* DDDispatchQueueLogFormatter.m */, + 454AB54D781C00073D74579D119C4431 /* DDFileLogger.h */, + 6E0DF8C75D077A83C5D6DA4909AF252E /* DDFileLogger.m */, + 153F5E77D09D98D546B7BA7FAC969E16 /* DDFileLogger+Buffering.h */, + 1C7CA293774E8AD6D5DFCF29589E09B5 /* DDFileLogger+Buffering.m */, + B2C3DC2ED3A9BB31FF2CAAF0F5D151E7 /* DDFileLogger+Internal.h */, + 970E6D34635C0D6D05466CB8DA34B905 /* DDLegacyMacros.h */, + C11909A4726953F688D2CFF62D39BB10 /* DDLog.h */, + 0A021205CB4676D02D4C5F4B4D7FA617 /* DDLog.m */, + 30E8CFB70FA69A7AA2C2FDFB954E6605 /* DDLog+LOGV.h */, + 262C23EB0CE9B302905F326A590B9851 /* DDLoggerNames.h */, + C6E937F35B878409DE498FDA476200D4 /* DDLoggerNames.m */, + EA869D1A800BAFB85E3E766A8FB1C9DF /* DDLogMacros.h */, + 69FEA08EA87DCA938826D3B8B4B7E2AB /* DDMultiFormatter.h */, + CF8B4D94DF2883E3383739D883B6A1AD /* DDMultiFormatter.m */, + BC3BC486FFABA76F890D6E9BEA391DDA /* DDOSLogger.h */, + 36345E864499CC888023D252B13BFA3F /* DDOSLogger.m */, + 88AC67E029EE959AD1832DF9B256304D /* DDTTYLogger.h */, + 74E2343F25338B63F4F05EE0662E1558 /* DDTTYLogger.m */, ); - path = "Multi Device"; + name = Core; sourceTree = ""; }; - D4E2181B26D1941D8EDD7AB0EEA2BBA5 /* Environment */ = { + D3D0905275D9F236DE1357A5682243E5 /* ConnectionPool */ = { isa = PBXGroup; children = ( - BFCE71277788486350487CFBE96C3F11 /* GULAppEnvironmentUtil.h */, - 86178AA39F3584C065BDA03462A0A67A /* GULAppEnvironmentUtil.m */, + 52447CB576574DE415FED6B4D1B7C740 /* YapDatabaseConnectionPool.h */, + A05D400B610131618F0D8C2E7C13BD96 /* YapDatabaseConnectionPool.m */, ); - name = Environment; + name = ConnectionPool; sourceTree = ""; }; - D6149D00400620562D6531FFF4BDCC90 /* iOS */ = { + D715768A93FABFE40E675F647D7B765A /* common */ = { isa = PBXGroup; children = ( - 243AB39BA8DEB501EB1429C77F309526 /* Accelerate.framework */, - 4D698410913D071E465FFD4395C8A376 /* AssetsLibrary.framework */, - D52AB20E151BFF98F37DC41B4C4A1E67 /* CFNetwork.framework */, - 173DD1B7F95D5725755B5C84B502765B /* CoreFoundation.framework */, - 61350B58F41768CB92723FDCAC80050A /* CoreGraphics.framework */, - 52EBC0CF0386E48CC827F294ED694312 /* CoreTelephony.framework */, - B6A3B5F625D05D1A8083E728A75AB1F4 /* Foundation.framework */, - B32880718FF42BA3CE5C9922B7CBBFE8 /* ImageIO.framework */, - A3195AC9376BA117C1D14EF68223BCA7 /* MobileCoreServices.framework */, - 48D0EDD30D23912191798E45FA80388D /* QuartzCore.framework */, - 105A6FEFC45DE9C8B89ED32FE6A7C501 /* Security.framework */, - A77C362EC9DB96928A5E8A851DC2DECA /* StoreKit.framework */, - 26B9008F74BF53CA04543647AA5B1DCF /* SystemConfiguration.framework */, - 3843F4F9FCDD989A9A60967A6BABEA64 /* UIKit.framework */, - E5F8D8C19A592772F7A66BCE657A6A94 /* UserNotifications.framework */, + 8ADF913D72839AECB99A60F0C321FA7B /* sqlite3.c */, + E42551366B5564DC7446AAA522953A58 /* sqlite3.h */, ); - name = iOS; + name = common; sourceTree = ""; }; - D94968B17BBBA1F420426CC93442904B /* Util */ = { + DA0DBB325F9A588F30519890A14661A3 /* SwiftProtobuf */ = { isa = PBXGroup; children = ( - A5573C0E05A46C32538531E414071126 /* AppContext.h */, - A497072DED602879E6D5D5B9BC9C35A0 /* AppContext.m */, - 758D6E8BDCF12C9C35DB1643ADDCD040 /* AppReadiness.h */, - 73E0513980676F3CA67BBEC8C4D54243 /* AppReadiness.m */, - 730A99F3E470CB3C8EA9DD56DA23DCDB /* AppVersion.h */, - 66894E2D58BBBCC25579FCFFD4F2A505 /* AppVersion.m */, - A2A806B6F98D29D05FD9BBFADD974A1C /* ByteParser.h */, - B3F76974BAF05195E6C2F8F7A44988DE /* ByteParser.m */, - 77750FA582ABA84BC1356FABC26B95D7 /* DataSource.h */, - 6E7067D34A454B3ABD4DC0ED22E5332F /* DataSource.m */, - 19D0B787F34696B242570A94A934306B /* DeviceNames.swift */, - D7A530899A365309A5C08976637BCDB6 /* FeatureFlags.swift */, - 5029B913B1ECDE94877D596A700D7ED8 /* FunctionalUtil.h */, - CF9EFD8F808E2724AED16F00EB966F89 /* FunctionalUtil.m */, - 4A8E9826369F549FD9C26E75A63B7510 /* JobQueue.swift */, - C2B434B6844A101FF33473073AED0A24 /* LRUCache.swift */, - 97CE6A91A0944AA05FCEDEF9172685B4 /* MessageSender+Promise.swift */, - 27E79DDA774CEEBFCE0E540B278A89B2 /* MIMETypeUtil.h */, - B2F233A6E0FFE197D4370DD0CD584C66 /* MIMETypeUtil.m */, - 87CA02B6CC66385E136075BFD5921F0A /* NSArray+OWS.h */, - 17174150F1824B5CB3A49B30FBCE13BC /* NSArray+OWS.m */, - BF593168517D803EBE08D696483921C1 /* NSData+Image.h */, - A86160D9EBEB9BD0D8EF1142C3E6D7FA /* NSData+Image.m */, - 20DD67FB46BD7D4792D217AF377F2E21 /* NSError+MessageSending.h */, - 68828932CFF1787DEE1181C5C4504EDE /* NSError+MessageSending.m */, - 721C0592B3829450B100F4D5F92C5CF5 /* NSNotificationCenter+OWS.h */, - 8757A020F3671DB84519FE9AD101DF1A /* NSNotificationCenter+OWS.m */, - EEF677C9251DC2C66910DB8E19306991 /* NSRegularExpression+SSK.swift */, - 274793CD68CF2E978F703C274D76BFBF /* NSString+SSK.h */, - 3D6BF3CAAB281CFE10C957863C23003E /* NSString+SSK.m */, - 32C2B32A9BECEEAB09A2B39AE4775B32 /* NSTimer+OWS.h */, - 5F3D334BE721A45F4849E6137200A992 /* NSTimer+OWS.m */, - 7240FBD0CC08757D9BB1159774252BF4 /* NSURLSessionDataTask+StatusCode.h */, - C60A9979E63ADFA3C3ECC18869675A2D /* NSURLSessionDataTask+StatusCode.m */, - 205C24276CC6B9FB6D0C1955AD662B1E /* NSUserDefaults+OWS.h */, - 349F565BF75CB2FA84D297EF716C8BD2 /* NSUserDefaults+OWS.m */, - 6B65E32AD2F9F7FB3C7770B584D2CBA5 /* OWS2FAManager.h */, - B273985EE1118B55015BF2DC0E9B1975 /* OWS2FAManager.m */, - 92C2FD669B37F29F0CDE93FFEA02F24D /* OWSAnalytics.h */, - 4A13F86BAFD0B462E2E56371568ED3E5 /* OWSAnalytics.m */, - D2E47D3EB336DDDBAF5F3A103F04342B /* OWSAnalyticsEvents.h */, - FAFC41140607ACD9080A55C17BD98ABD /* OWSAnalyticsEvents.m */, - EA6F04ABB88B30CE10BA942EB9D44C26 /* OWSBackgroundTask.h */, - 5605CDAC84A1FE97D798F7C6515D8A32 /* OWSBackgroundTask.m */, - 34BCD2EA7690741B4F49743C2B2118F5 /* OWSBackupFragment.h */, - B6E3FF73BB217BBFC415271DEDFD45DF /* OWSBackupFragment.m */, - A952019A532D2E2BBD535991171545F2 /* OWSDispatch.h */, - B3F38296176616E6B43C5178B984D93C /* OWSDispatch.m */, - 23B10BBE78DFD83CD88FA08A9B3179E5 /* OWSError.h */, - 5B1D14A0E741872D78747ECB2AC036FD /* OWSError.m */, - B75D7BD820A85ECA758EDDD257A7F336 /* OWSFileSystem.h */, - F70E9CE2EED92D0DFD78371212070E7F /* OWSFileSystem.m */, - 5AB85C832AC58465413629780AA8C568 /* OWSMath.h */, - 0937579A0A00DA8DC4F5CAD79D65C306 /* OWSOperation.h */, - 25E161F1874C26DE8B578DCCCCC95431 /* OWSOperation.m */, - EDA28324E341D23A313FE8565A65F9B5 /* OWSQueues.h */, - E06BF576CAE337CAB43BFB18E341D098 /* OWSSyncManagerProtocol.h */, - E5FFC40ACD62E7186C24D659F785166D /* ParamParser.swift */, - B7CDE370E6369E02629CAD329D738C51 /* Promise+retainUntilComplete.swift */, - 31A23987CBDCB916F6EBBAAEA847F257 /* ReverseDispatchQueue.swift */, - E7A9D0BEF503DE4B8D83F6A57BF52250 /* SSKAsserts.h */, - C8ADEFEF977CB53D5A23CCB891609015 /* SSKPreferences.swift */, - 558F4A8A0568BFB9E04ECF4EF3A6105F /* String+SSK.swift */, - A2AFF153A21BE3EE0B6E9C19BE33F081 /* SwiftSingletons.swift */, - B89ED78F6254D2201FFDCE0189950775 /* TypingIndicators.swift */, - 53014F257C08806ACB10A8CA3A41DE21 /* UIImage+OWS.h */, - 2A93E487A839FBB1F1D59C95799CD482 /* UIImage+OWS.m */, - 6906E512F936F654DB89621F90928B41 /* WeakTimer.swift */, - 957D01562AAAAA4EE5A13F7553012910 /* YapDatabase+Promise.swift */, + 2946E479A6EF5918D0F41367CBD81E5A /* any.pb.swift */, + 30A7E04E241B26E68D29F05871A36A12 /* AnyMessageStorage.swift */, + 3E1052F9C392E0BD93E91A3AF6F3B6F7 /* AnyUnpackError.swift */, + 4DEBC1D539A5148AB2AF718FDD95785B /* api.pb.swift */, + 1A4DA574654B8A4420D4DA5DD19F17FA /* BinaryDecoder.swift */, + D7DD5C6B0DEA38DCE441B21DBB006DCA /* BinaryDecodingError.swift */, + EA37CD3D0F68C7B67B46AEF07D13629A /* BinaryDecodingOptions.swift */, + 5B3535A4B8356BE6449AD0388DDCB7A1 /* BinaryDelimited.swift */, + E0590D8306EB7157774AFDFEC59237E4 /* BinaryEncoder.swift */, + 05E2AD738B93610B696260782179169C /* BinaryEncodingError.swift */, + CD7EA77166DF2FC4FBED66D176AE01BA /* BinaryEncodingSizeVisitor.swift */, + EF1C70EB1F920668F66E872523625E2B /* BinaryEncodingVisitor.swift */, + AD6A5D3D59860A49095AF2C1202E6A70 /* CustomJSONCodable.swift */, + ADA81A9CEE78CB2CECD3985CE9B1BDE1 /* Data+Extensions.swift */, + 85EE95244EA265DC5A3EF5E234643B3B /* Decoder.swift */, + D707D19FDBD2F7B3AC25A6ADBFDFF77A /* DoubleFormatter.swift */, + DE0911FEEB04922545AD0D1042EF2E3C /* duration.pb.swift */, + C46F0C11FDBA81761BD180C88D20EB4C /* empty.pb.swift */, + D37B5936EC87AAC9306016CDE41BE0F6 /* Enum.swift */, + 040B4040447F2FFEE84D22045F366AEA /* ExtensibleMessage.swift */, + E7DFA755012D9C9F7F827BB4E37936E4 /* ExtensionFields.swift */, + 4DDD43D2AB4C7D0684F65BC8DCDB4553 /* ExtensionFieldValueSet.swift */, + 07C15AF91D8DC6147DC8D2F0DF2BB1BB /* ExtensionMap.swift */, + AE0DD6C213D6785D38A828DA7D5C4638 /* field_mask.pb.swift */, + D728D1F866EC435408DF94C31D0FABCC /* FieldTag.swift */, + 41FFBE257F03F91AA208224D37572114 /* FieldTypes.swift */, + E91C52D10BEF526E52DE1C078D2C7302 /* Google_Protobuf_Any+Extensions.swift */, + 62EBDE06A8461FED635718811905FDBE /* Google_Protobuf_Any+Registry.swift */, + B83BCE8D69D31A9C7140EC04530D6C3F /* Google_Protobuf_Duration+Extensions.swift */, + 0361C1EF79016070D45D7E992C67767E /* Google_Protobuf_FieldMask+Extensions.swift */, + 033BFF9DA4689FD20C67610DAA4BBCE1 /* Google_Protobuf_ListValue+Extensions.swift */, + 5AE87A751B09FC38C445F5D52198D0C4 /* Google_Protobuf_Struct+Extensions.swift */, + 3B404F95E1489960CE29E0CBFEF859E2 /* Google_Protobuf_Timestamp+Extensions.swift */, + A9E20C5010DE5A7AC9F9FC2AA3B315D5 /* Google_Protobuf_Value+Extensions.swift */, + 259C1F02CB0C7955F51F7A16BE226180 /* Google_Protobuf_Wrappers+Extensions.swift */, + FA35A4D7F0E6F9D112F731070D8C1379 /* HashVisitor.swift */, + C89B14A1CDD4C1EC8C256B767686B774 /* Internal.swift */, + 1296243BED93752EF37E06D1372E53F6 /* JSONDecoder.swift */, + F9FDAB5D304DAB64232A74CEEBC27CA4 /* JSONDecodingError.swift */, + 19CE377719EAD85764DDB0AD135DA76D /* JSONDecodingOptions.swift */, + A8A894A7A99EFC77DA222F2D11EB6971 /* JSONEncoder.swift */, + 7FC14B6F4E4D823EC6B4845FBA5DFD60 /* JSONEncodingError.swift */, + A4D975B2188A155EC0F9658AA3CC6EFC /* JSONEncodingOptions.swift */, + 01716367F15CF8872510F336FAB26162 /* JSONEncodingVisitor.swift */, + A7736B4649ECA336B8E25AA05CA87BEB /* JSONMapEncodingVisitor.swift */, + 787D098CC135CFAA1C14EF590FD15852 /* JSONScanner.swift */, + 86A1D90DB7D363CB54A6710BD62569E5 /* MathUtils.swift */, + B096835B035F70E70AFFFF7BEC8820DE /* Message.swift */, + 8B63D137999DB65B06D31E35A470C04B /* Message+AnyAdditions.swift */, + E6A1A174E15E83F7E54DF923F832717C /* Message+BinaryAdditions.swift */, + A9B3872571418A0096AACA3473D110EE /* Message+JSONAdditions.swift */, + 764F8C4349A9E92B52B2DD86B0FB42D0 /* Message+JSONArrayAdditions.swift */, + E8CA9DDFE3897FAB7FD3EEE017AE6BC6 /* Message+TextFormatAdditions.swift */, + CDAA8EA554CC2E5BDAE02EF52B82EA99 /* MessageExtension.swift */, + D79957FB9EDC3489CC34ED71EF4A467A /* NameMap.swift */, + 69860CBAB9B5EE0F4B0A220D1560C6A5 /* ProtobufAPIVersionCheck.swift */, + B9BB0433F8351A4AC9BCBCDE1F3F3356 /* ProtobufMap.swift */, + 1800741EAA2BBC67DC08FD87F8455FAA /* ProtoNameProviding.swift */, + 6FAE70DCE980D6A8C1EE12EEF01C1A6E /* SelectiveVisitor.swift */, + 1177E26FB75995FEE6200C9D3E523A7B /* SimpleExtensionMap.swift */, + 81CFE4B4DEA6A9D99156F986C07B0E5A /* source_context.pb.swift */, + 386AADE491F9E1C2357F5C5B9D6EF206 /* StringUtils.swift */, + 5B08A26A1E372A5509A0A59C53F0FD31 /* struct.pb.swift */, + B72148D7D749E91133EA4F6A3F0EC82A /* TextFormatDecoder.swift */, + 26CEBFA2C0698641CBB53F4FA6F2DE39 /* TextFormatDecodingError.swift */, + 2D2A12A6EDD373F568AC5493F37CFDA3 /* TextFormatEncoder.swift */, + 06400CE5BB1BCFF3846610D5825EF1B3 /* TextFormatEncodingOptions.swift */, + 6BE1A41474A98F566680BB09DCD45C80 /* TextFormatEncodingVisitor.swift */, + 785B06E3977758C55944C5FEEDC6C8AD /* TextFormatScanner.swift */, + A4567D67C63DA694B17CB5E9E50D4F27 /* timestamp.pb.swift */, + 165E004EAD1D6B8FF4232C1FDDC839DF /* TimeUtils.swift */, + 4E5BAFDAE5D1C2572B8F996189580818 /* type.pb.swift */, + 2FB489D0372DD344A9A65E798CD76989 /* UnknownStorage.swift */, + DFE4D3EEB9F9F8F927F36C993D5D251E /* Varint.swift */, + 01A6CA070A7C470ED5377D348C63F6A2 /* Version.swift */, + E32CA4AF4958231340ABE402AC7D512A /* Visitor.swift */, + 3109E8652676AF051606EFA3FD7CC282 /* WireFormat.swift */, + 249F542EEA55010AD9F32F0FABC9C1DE /* wrappers.pb.swift */, + D6326A5BB73AFFDFEC12155D231CCD45 /* ZigZag.swift */, + 4743D553C80CC212AC10A9FC2978D4A1 /* Support Files */, ); - name = Util; - path = SignalServiceKit/src/Util; + path = SwiftProtobuf; sourceTree = ""; }; - DA9425AC26DA9A8E9C93F1053D4AF52C /* RTreeIndex */ = { + DA60DA67AC70539DDD55ECC8CE71CF3C /* Resources */ = { isa = PBXGroup; children = ( - BEC05968F02AF862246BC5AB8F09D8F6 /* YapDatabaseRTreeIndex.h */, - 5747F71F9EA384175889AE8173E85BAE /* YapDatabaseRTreeIndex.m */, - 6D207B11FC33B5AD02F5DFA06BC1775E /* YapDatabaseRTreeIndexConnection.h */, - 5EC6021A5DC659D5D97C8CF0B6206722 /* YapDatabaseRTreeIndexConnection.m */, - 1A3A050502A4FD8E9116374162E1EA09 /* YapDatabaseRTreeIndexHandler.h */, - CF2B237AD1F927BBB0C71FAADBDDE972 /* YapDatabaseRTreeIndexHandler.m */, - 4A1CDC48E94C3754D9C3617D582DF9BB /* YapDatabaseRTreeIndexOptions.h */, - 4777C4695CD1C580EE773CA4A67466F0 /* YapDatabaseRTreeIndexOptions.m */, - 9B663C00AA4DB0E415A5EBFFFFD4E19B /* YapDatabaseRTreeIndexPrivate.h */, - 3EA4FEBE32ED56A07C4A1F6F4150972A /* YapDatabaseRTreeIndexSetup.h */, - 1412BC2DDC574D460188761A18E58F62 /* YapDatabaseRTreeIndexSetup.m */, - 252AAEA028E444A93B5A6579EBA49532 /* YapDatabaseRTreeIndexTransaction.h */, - 9374DDBCED59354E1A819C3B90779209 /* YapDatabaseRTreeIndexTransaction.m */, + 3D1E907636483AE7C8CADB233B631731 /* SAMKeychain.bundle */, ); - name = RTreeIndex; + name = Resources; sourceTree = ""; }; - DAAF355BA6A3D9C6999840882B7DAEB2 /* PromiseKit */ = { + DCD9D8FC7FA0811318A6695EBF9465BC /* iOS */ = { isa = PBXGroup; children = ( - C8BF186DB9A0B8A832AFF47287C605BF /* CorePromise */, - 6A8C924647D4574F6678463204CA746A /* Foundation */, - AC652FCFF6B3AA995D633305222D6100 /* Support Files */, - F7A6C296C306A622FD996390E18BC11C /* UIKit */, + 86D3832CFAF4206AC3AECCE9B0167CCB /* Accelerate.framework */, + 82DE1727B0D4C81BAABE46E5F789F087 /* AssetsLibrary.framework */, + A7A1483C85706A63C478909AAD5D1AC5 /* CFNetwork.framework */, + 4B0D3B366175DDEEB857C7F3FEBD36BE /* CoreFoundation.framework */, + AC681F498ED2CB5003D603AC04872660 /* CoreGraphics.framework */, + D4A5B4BE05F44448199B50D029E5A60F /* CoreTelephony.framework */, + 4752280A03879D406225EC3EBD65831B /* Foundation.framework */, + 7EC7E74BB2E7277E12397B1EC778FCD6 /* ImageIO.framework */, + 79F8A3B011810BE8F0376D62B96A7B41 /* MobileCoreServices.framework */, + 5276375AF137175266E8DFDB6EA9FD45 /* QuartzCore.framework */, + E6863DB7664C6D8A946A9E37D8C00B66 /* Security.framework */, + A3A02FBBD251AC9DBBC0B9F77EAAB4E3 /* SystemConfiguration.framework */, + 01A617671FC41D09F7509014C72ACED5 /* UIKit.framework */, ); - path = PromiseKit; + name = iOS; sourceTree = ""; }; - DB0F7868BBD9BB1BAB44F60936265F19 /* Messages */ = { + DDD152CC960EA599D3CD679AFAE62858 /* Support Files */ = { isa = PBXGroup; children = ( - 54962F7C194128FAF8931DBEFA08EE49 /* OWSAddToContactsOfferMessage.h */, - F233892791DFC5B4CE81A6067ED38189 /* OWSAddToContactsOfferMessage.m */, - AA7B34F768852F827ED6CBD799E7C8CB /* OWSAddToProfileWhitelistOfferMessage.h */, - 6A4C74A4E92B39C3FCC7AB5567F5C68F /* OWSAddToProfileWhitelistOfferMessage.m */, - 31459344F7E9FD43279DD41408F442F4 /* OWSBatchMessageProcessor.h */, - F7DCFFC95770EB689D0A37CE9628F7BD /* OWSBatchMessageProcessor.m */, - 15D2C5214152FB92546BE961523CB6E8 /* OWSBlockingManager.h */, - 35D992F96AF54C428A510D5B47EE39F4 /* OWSBlockingManager.m */, - E68C316417653D5454FF9A9F186FA86D /* OWSDisappearingMessagesFinder.h */, - 312346232AE4302E70F79EAFBD0C935D /* OWSDisappearingMessagesFinder.m */, - 28587F71F317D1468EBCAAAF805D5996 /* OWSDisappearingMessagesJob.h */, - 5976E63D1A0EF7F1AE66984D553E11A6 /* OWSDisappearingMessagesJob.m */, - 0DFBB5A917032A9C614AE870E5B0B654 /* OWSFailedAttachmentDownloadsJob.h */, - F21A1FABB90A9D6576F59395F04EEDA6 /* OWSFailedAttachmentDownloadsJob.m */, - E588F8B00FBB3972BBDBE72707338CE5 /* OWSFailedMessagesJob.h */, - 52376AA505C56B842D6198FA2EB34FF3 /* OWSFailedMessagesJob.m */, - 356894955FAAF58C7308E7A84127EA8D /* OWSIdentityManager.h */, - 54E9FC430E9F5E0DC3567A49CDDC905C /* OWSIdentityManager.m */, - B37255AA1A935FD2E14A47A4A4AC16AD /* OWSIncompleteCallsJob.h */, - D1E6330321F13A507F593468BC84DB86 /* OWSIncompleteCallsJob.m */, - 87E31875A05AD8931CFDC905526CBB34 /* OWSMessageDecrypter.h */, - EB59AD361172C1BA24FECBC0F0BFAECA /* OWSMessageDecrypter.m */, - AB8D24A3D2153A628743C5E8A64D8024 /* OWSMessageHandler.h */, - B758844D2C00B61377511CD6A94B795C /* OWSMessageHandler.m */, - 72D4DB9E026E3AD89F9E5E4CAE71AC7F /* OWSMessageManager.h */, - 424E5D149B2D63C401AE74C0DAF0BDB4 /* OWSMessageManager.m */, - 576C2D553410C4B962E8D9FB8E932113 /* OWSMessageReceiver.h */, - 3255AF0944F19DC87FC74897AA8CB141 /* OWSMessageReceiver.m */, - 06B1E0274E8FB69811120446082C9725 /* OWSMessageSend.swift */, - 6C3E333845DE3289BAF4AC0321A5690C /* OWSMessageSender.h */, - 14613E1F2F58F1C1B88E6ED6591B910C /* OWSMessageSender.m */, - 6803905BA551C903924143D136535B1C /* OWSMessageServiceParams.h */, - 5081E88E8EC08C73F3C8DCB48FC4B876 /* OWSMessageServiceParams.m */, - 023F071568CB6E4D1CADF21C09F95975 /* OWSMessageUtils.h */, - 65251D44152FBF514FC8EF738A09600D /* OWSMessageUtils.m */, - AB919F90965FCF54CFCE5C059C9E5240 /* OWSOutgoingCallMessage.h */, - 34B8E5C4FA96CD2B24C1C683AE32730C /* OWSOutgoingCallMessage.m */, - A56DC80504E6A2AE02D6B0E808208764 /* OWSOutgoingNullMessage.h */, - 555D2FBC53FD4303F1305B3338FDF85D /* OWSOutgoingNullMessage.m */, - 101533852C02544F1092DF7ABC0F8C4A /* OWSOutgoingReceiptManager.h */, - 44E94BAE7335DA9AF02E5EAF3B271D7F /* OWSOutgoingReceiptManager.m */, - 5BBF6956EFB8A5FAD0299EC9A2B1B6D6 /* OWSProfileKeyMessage.h */, - EEE0072491A89BAB2142CCB3F4A270D7 /* OWSProfileKeyMessage.m */, - 73AB41ACF9DAE245F4BFBCB611FF8A4F /* OWSReadReceiptManager.h */, - 5B9BA5F142584566FE324351DC8EBAFE /* OWSReadReceiptManager.m */, - E4D84DCFC0A6B758B373153B8C0AC227 /* OWSReadTracking.h */, - CD5D68EA19E2419EAD0DF7E66599C5FC /* OWSSignalAddress.swift */, - 00EC95A831D5366E2527ACC9A38264AA /* OWSUnknownContactBlockOfferMessage.h */, - BE99D2F7EFF1A505D7F5499961C3B06E /* OWSUnknownContactBlockOfferMessage.m */, - CBEF01A7D6E4807534D6FBC73A42D906 /* PreKeyBundle+jsonDict.h */, - 1B5428DB11A994F8FBE4B205C104490D /* PreKeyBundle+jsonDict.m */, - BB54A6C402C371B8F85ADC16952E66A5 /* TSCall.h */, - 45820D1BD757D360E8A0A5EE9E5053D2 /* TSCall.m */, - 0CA0DFECCA34C70FE854D559F32A1298 /* TSGroupModel.h */, - B9A834CB588CC43BA640758DFC78EEC0 /* TSGroupModel.m */, - 13818820420FA140B1919356F95B7F64 /* TypingIndicatorMessage.swift */, - 80595F22A835F3FC1B6980C80E93D599 /* Attachments */, - 559375D11971098C7969DD56AA454F59 /* DeviceSyncing */, - 575EE29AECE6DADDE252B80BB0F1E203 /* Interactions */, - 1B2AE42674C78178DFFA09F05A699150 /* InvalidKeyMessages */, - 442232081A77FB85CBBCDA96E10501B0 /* UD */, + EE5C8E62A98EACDDE4FA3216B5BE9B10 /* Info.plist */, + BDC9480EC8933190C7CAC4AA78EA0532 /* NVActivityIndicatorView.modulemap */, + C326981867D81268BDF288F5CB95372E /* NVActivityIndicatorView.xcconfig */, + DE5F81B69D105BE21635B3A27CE8348B /* NVActivityIndicatorView-dummy.m */, + 44447CA4B0789D70F3FDB480FE5A3ECF /* NVActivityIndicatorView-prefix.pch */, + 73E0EA91DC333D9E6DCC782A8F072226 /* NVActivityIndicatorView-umbrella.h */, ); - name = Messages; - path = SignalServiceKit/src/Messages; + name = "Support Files"; + path = "../Target Support Files/NVActivityIndicatorView"; sourceTree = ""; }; - DBD9FCCC21B2B56B795FC2DDB4D77500 /* Crashlytics */ = { + E2DED6B47C1B23D14CA38A40B8A65BF5 /* Interactions */ = { isa = PBXGroup; children = ( - 3E45062EF5EBF9C3185C7B51CC699C4C /* ANSCompatibility.h */, - 8FB7B2F40313226A6BB509CEDA98043C /* Answers.h */, - 8FBA4E58057C9DE41F3A5410347A5F5F /* CLSAttributes.h */, - 48D5AA40BBC3798C8A3579CDC19710ED /* CLSLogging.h */, - 62503BF8EDEFFE2C3835681A22357AB6 /* CLSReport.h */, - FE22B4FCEBB8CF8DA205A5EF19B1AB95 /* CLSStackFrame.h */, - B760EECB69D2ABE09E1601E36BE0E625 /* Crashlytics.h */, - 38B4B344A85082104C5E524726125F5D /* Frameworks */, + 93C942C3D8516F5DE97E47AA63DA0714 /* OWSContact.h */, + 05CFBC81D1921DABEE0024A9F6EAAE4F /* OWSContact.m */, + 381B5AB04DE04E41DA83486E8BAFBEC2 /* OWSContact+Private.h */, + C127D9361133C3643F2FE0417F1773B3 /* OWSDisappearingConfigurationUpdateInfoMessage.h */, + C792A246FDBE3C1EBC608F725B61AC64 /* OWSDisappearingConfigurationUpdateInfoMessage.m */, + 515EDAB7D3F4E50388C13DFCD31C7318 /* OWSDisappearingMessagesConfigurationMessage.h */, + B5B4789F8F5D43AD2422B048FAD9E448 /* OWSDisappearingMessagesConfigurationMessage.m */, + 62D2C8EEEBAF2505F54CBEF023DFF189 /* OWSDynamicOutgoingMessage.h */, + 3A3FEE9162D178ED64A45CBDF81DD4A3 /* OWSDynamicOutgoingMessage.m */, + E17AC3035E1283DD7EE15C7638F5E952 /* OWSEndSessionMessage.h */, + 30F1063D0184D995737782EE4A9073E0 /* OWSEndSessionMessage.m */, + B947C70E512B065B70987FE000E42E05 /* OWSLinkPreview.swift */, + D087FA072CE85078A18D30A456439DEE /* OWSVerificationStateChangeMessage.h */, + 2BF1E99E4125C948473E47E863FA5AD2 /* OWSVerificationStateChangeMessage.m */, + FAE861C7F973A0DF071C7B63E09D85D2 /* TSErrorMessage.h */, + AE079559BB057CF01273974278F581FE /* TSErrorMessage.m */, + D2D227C80F943F297B9D753ADCC8FA88 /* TSErrorMessage_privateConstructor.h */, + 6C95726C8FBF3CE6A8896182BB72E004 /* TSIncomingMessage.h */, + EA10C5D586B47850F899422FD393047D /* TSIncomingMessage.m */, + F49E8B809A703D769676D6DC0733578C /* TSInfoMessage.h */, + F644B32A21F0973F9F2088FD92E8A00C /* TSInfoMessage.m */, + AA89955220A6D3EAB8F8CBC0296E4180 /* TSInteraction.h */, + 170A746BA33B6BF0336E0EE32875F4CD /* TSInteraction.m */, + 11EBCA5CBCB23B5AC20350F88F2B6F37 /* TSMessage.h */, + FBA7F772F423C73AF1886EB004F2BC59 /* TSMessage.m */, + 63541D82FBB5059A748484F9A62D7899 /* TSOutgoingMessage.h */, + 867D8C049D55640B4B2F9D053F965CD6 /* TSOutgoingMessage.m */, + 0A60A1F1471CB3AE4FA1B74E4F87C162 /* TSQuotedMessage.h */, + B1482177C91A8763017C2DE854CC0A70 /* TSQuotedMessage.m */, ); - path = Crashlytics; + path = Interactions; sourceTree = ""; }; - DCA4870193EB2F703A898893DFD82BC1 /* Tests */ = { + E6484106FFBB918306978EBA20AA411F /* Fabric */ = { isa = PBXGroup; children = ( - 87CE49C05EC4887EF3368F1C116EBF3E /* HKDFKitSwiftTests.swift */, - 1D12446754551A6BD4EDC0D4DEE22025 /* HKDFKitTests.m */, + 7A7901BA1F8FDDF459DEDA117BBDD604 /* FABAttributes.h */, + 0C1C54D6F73EAF25F08846A90C1A5EEF /* Fabric.h */, + C466961E89E9D790146A8A1BAB7BBCD7 /* Frameworks */, ); - name = Tests; + path = Fabric; sourceTree = ""; }; - DCDB562B6C885A99DADBAAC37D448DF6 /* YYImage */ = { + E69250EAD16EC0A1F231C9A9BC985918 /* Database */ = { isa = PBXGroup; children = ( - B9A3FEDF6E32441953BAE2D5FD63A10D /* Core */, - 01C5F12332FDBE226FDB84B6451447C3 /* Support Files */, + EC5E66586F609125D718A0126C87E944 /* DeviceLinkIndex.swift */, + 86ECD28850EFCDC8BC56FDFB264E4971 /* LokiDatabaseUtilities.swift */, + 1292D864F1397C601231AF7BCE8A369E /* LokiSessionResetImplementation.swift */, + 81D37B3B1AA115ACEB143E59ABB617DB /* OWSPrimaryStorage+Loki.h */, + 9D89BD6A4BC9E3B7111C97B1D565EC51 /* OWSPrimaryStorage+Loki.m */, + 0AC3E9D0B01A174640BF4F666696722D /* OWSPrimaryStorage+Loki.swift */, ); - path = YYImage; + path = Database; sourceTree = ""; }; - DE36B22A88FF8591A80A7F8CD491A3E6 /* Storage */ = { + E7ECCC3B8BED3438337AC1EE69AF064F /* CrossProcessNotification */ = { isa = PBXGroup; children = ( - E0FDBB0137374D1E14B7F4D6673EA903 /* TSStorageIdentityKeyStoreTests.m */, - B97CC332CBC2128B931EDA1507B4AB42 /* TSStoragePreKeyStoreTests.m */, + 4165E22825CBA78FBA879733CCC9CB56 /* YapDatabaseCrossProcessNotification.h */, + 4F64EC4B319B246B65C72E5FF743A9C7 /* YapDatabaseCrossProcessNotification.m */, + 6701FFDC4B9EF2B1D06EC1735DB4ABE0 /* YapDatabaseCrossProcessNotificationConnection.h */, + AF12FBA6B6A93B273F6B0BFC4035F5AE /* YapDatabaseCrossProcessNotificationConnection.m */, + BC75BEF7C180542380538C81E4F07E0C /* YapDatabaseCrossProcessNotificationPrivate.h */, + D86FB6002C554A954B40770EDACB79FB /* YapDatabaseCrossProcessNotificationTransaction.h */, + F7B3FA92300D00F308E2F1B4662CAF8B /* YapDatabaseCrossProcessNotificationTransaction.m */, ); - name = Storage; - path = SignalServiceKit/tests/Storage; + name = CrossProcessNotification; sourceTree = ""; }; - DE8249B2E9F47ADBD191E207C608B434 /* Reachability */ = { + E821953489D81F86C13C66E6479B77AF /* SQLCipher */ = { isa = PBXGroup; children = ( - 3F8CFF3E3FAD9A589537AF367DDDB096 /* AFNetworkReachabilityManager.h */, - 9AB864B4969F0404B8312E189AC76FDE /* AFNetworkReachabilityManager.m */, + EBCD067C7FAF6618DA921CDB8B982561 /* Core */, + EC073B700031835FABF693619B3CAEE4 /* Extensions */, ); - name = Reachability; + name = SQLCipher; sourceTree = ""; }; - E00844073EE84A5F402EE7A1E85D6497 /* SwiftProtobuf */ = { + E961B8772BA032F88175F75A43931A25 /* Support Files */ = { isa = PBXGroup; children = ( - 3F8BE52C8C2E9B4B63ADB8FDD751F209 /* any.pb.swift */, - AAA1C3A8F6C414BC617C4C28EA1E3244 /* AnyMessageStorage.swift */, - B97DC78F24AA8DBD6A6D9510E68E78C1 /* AnyUnpackError.swift */, - 431DCEC7D7C9BD4C015DC76E1F34E9C2 /* api.pb.swift */, - 1E8C064653798294D43D211BBEA38555 /* BinaryDecoder.swift */, - A2FD0BBFF090BE97BC696FD16D1DCFA5 /* BinaryDecodingError.swift */, - F8E07EB4CF3441194A64E67753AF42D6 /* BinaryDecodingOptions.swift */, - BE0724ADA3274546D19D70FB055C2EBB /* BinaryDelimited.swift */, - 1E585504BF3C4FB0261574A536689866 /* BinaryEncoder.swift */, - 671EB461059756B1C2B62BD4B1B4243A /* BinaryEncodingError.swift */, - E415035827CD7D824B1BD467077B639D /* BinaryEncodingSizeVisitor.swift */, - C26F465D8AD5785AE1C798FBD8853798 /* BinaryEncodingVisitor.swift */, - D2A61A830F451505C150CED9204C85B1 /* CustomJSONCodable.swift */, - 6594F345DB1210E6BC951547A3E7C8CE /* Data+Extensions.swift */, - B25A2C6660F49D86A79755DD90F3CFCD /* Decoder.swift */, - 513BE3DB6ED99CFFB23751451D49E8B9 /* DoubleFormatter.swift */, - C6BDA8C7C46C23DDC33CF7C07F338CD1 /* duration.pb.swift */, - C4E4BA8EDE016B125209CD82E0E75F44 /* empty.pb.swift */, - 8528A63B4E7409048FE1901945B40DD2 /* Enum.swift */, - 378BFF54C647177702DFA1AC059EA7D9 /* ExtensibleMessage.swift */, - B22AF4882BF29A57D2189560E05FDF16 /* ExtensionFields.swift */, - BC3D26BD220B31225A146B5B48332EFC /* ExtensionFieldValueSet.swift */, - 0E68D6F4025A5CD7F7F2111CF939CA95 /* ExtensionMap.swift */, - 04053F17374E06B95DA6FD7C7156D21A /* field_mask.pb.swift */, - B68DF522EF403D8485F7014004E2E285 /* FieldTag.swift */, - 500CAA54E6D5F07F2B8C1ACB6A8E9567 /* FieldTypes.swift */, - 075C054051364229C7BCE5946E2A8A8E /* Google_Protobuf_Any+Extensions.swift */, - 6AB73BA4E70A77B601088750E5CD40B6 /* Google_Protobuf_Any+Registry.swift */, - 358FC83C9CA12139F5E540ED0E3DF11D /* Google_Protobuf_Duration+Extensions.swift */, - 04A442509EFBE932FCDDF1E413A021DE /* Google_Protobuf_FieldMask+Extensions.swift */, - 8A18F020F11A32F297FB284BAEC5D643 /* Google_Protobuf_ListValue+Extensions.swift */, - 94C9D1CD0D7C1B148358CFA80711C34F /* Google_Protobuf_Struct+Extensions.swift */, - 12753154ACCEDB48659D698C1BAAC2F0 /* Google_Protobuf_Timestamp+Extensions.swift */, - 2D09C4714B2A8993C608A83B817AE98C /* Google_Protobuf_Value+Extensions.swift */, - 37FDB090722B49D0728C605B50666B7E /* Google_Protobuf_Wrappers+Extensions.swift */, - D120DAA34E3DFD953AC52D58AE454342 /* HashVisitor.swift */, - 1E3A41FE57DB22CC250C62FF85360CB3 /* Internal.swift */, - D9147DAE98A339BF9B1F5BEEAA8912A5 /* JSONDecoder.swift */, - 34C24474FEF08ABD8E3806B721DE54C1 /* JSONDecodingError.swift */, - C2EB50A528AD30979162839AA96BA8B4 /* JSONDecodingOptions.swift */, - 5617251C11890B523083C1C4FE57C7D6 /* JSONEncoder.swift */, - 2BF77802D06928C2AE02AFCD01F278FD /* JSONEncodingError.swift */, - ABB21DDE0C82129EC66AFD89656C05ED /* JSONEncodingOptions.swift */, - 59C84C80CF04A0E0CB0AF2FBB1DE318B /* JSONEncodingVisitor.swift */, - 76258C6D6605EC7280D910A44B0080B1 /* JSONMapEncodingVisitor.swift */, - 79FDE64917989520973FEEC7B32737F4 /* JSONScanner.swift */, - B1D9CBEB06C9973EE3737BCB466BA69F /* MathUtils.swift */, - 6E56D9237EAE4184DE90D3D6FF2509A3 /* Message.swift */, - 8162434D679FF30EF83528748567B8D5 /* Message+AnyAdditions.swift */, - D895465103C4562A19C158BAB2439C17 /* Message+BinaryAdditions.swift */, - 1A8A27598DE7CF822770D7E7045193ED /* Message+JSONAdditions.swift */, - 59FA6A96392F69CE66B89BA5078F2E69 /* Message+JSONArrayAdditions.swift */, - 6D98A2C67BCB5FB04D7B0476BB46FA0B /* Message+TextFormatAdditions.swift */, - 753A1A19DC2140C9F69190090A369C3F /* MessageExtension.swift */, - B8DD96F38BCE76C1D10A2B4A6203B841 /* NameMap.swift */, - 59F8EA02866D0FF20114244F16154635 /* ProtobufAPIVersionCheck.swift */, - EFCE2807F7CDEE9AA21DEC904CCE91C1 /* ProtobufMap.swift */, - B852516AF7D26B40AEBAD3A04BB8AFF2 /* ProtoNameProviding.swift */, - E72D601DDE6E87C4787F950410B27AD4 /* SelectiveVisitor.swift */, - 9597617128700DB1DD54E3E0147976D4 /* SimpleExtensionMap.swift */, - C04DFCA053D1DA87CF3E4529A93A35EF /* source_context.pb.swift */, - 8ACC8836574D5190F220E4FF68C4D003 /* StringUtils.swift */, - 06FC124B78768A77769F5EDB905ECBC2 /* struct.pb.swift */, - 0B42B9B83BF27B55CD4FC17E1F69391F /* TextFormatDecoder.swift */, - A2D5695927407AF2EE68069CA6BC8458 /* TextFormatDecodingError.swift */, - 9E7A11863A0B8B87D2F5C6AFA965C8C9 /* TextFormatEncoder.swift */, - 632D5B487B20C218E210E0DD4228A5AB /* TextFormatEncodingOptions.swift */, - 072EC5C3132F7017C235DA3E6B67D833 /* TextFormatEncodingVisitor.swift */, - 450BEE2029F8CEBC7E43020628138463 /* TextFormatScanner.swift */, - 5F2F7BBF9E4538777345AA488DAD479D /* timestamp.pb.swift */, - CBCF87A0BA39455D1A59D2C74A64303B /* TimeUtils.swift */, - 4A3E851A409C76C3F14951EA98D9E6ED /* type.pb.swift */, - 4E6A0E0EA249D7492772293FF94ABBE3 /* UnknownStorage.swift */, - 0FD4DE03B700D2F9FD0E635CB2B68A45 /* Varint.swift */, - DE54D93E34B0BF04C85D1D781748F341 /* Version.swift */, - 8DE749EE9C74394AC2FCFAAF5D9AE2E6 /* Visitor.swift */, - AF1607CC45D77A07BF0E125C9F9022FD /* WireFormat.swift */, - 6D9B98CE363AFAEE2F6682837D5F602F /* wrappers.pb.swift */, - AD813A09BC99A9495464774E9E2E992F /* ZigZag.swift */, - 8890AC1C2BBF6A2D74B209A8B890B34F /* Support Files */, + 0C88FD6468BDF4C593A34D5C61C64893 /* Info.plist */, + 0E5223F2663787AC2D19C2535D66D539 /* PromiseKit.modulemap */, + AAD2E132E6B53D84CBC177E8102E4979 /* PromiseKit.xcconfig */, + AA8B8BF0B5CFA54433EA0A4EE9DA138C /* PromiseKit-dummy.m */, + 00F80AD7034415E3A5624A928E0AFC1C /* PromiseKit-prefix.pch */, + 908D224F3F501CD0DC7990943A622544 /* PromiseKit-umbrella.h */, ); - path = SwiftProtobuf; + name = "Support Files"; + path = "../Target Support Files/PromiseKit"; sourceTree = ""; }; - E027674E9C957FEF448F26D55193428A /* Pods-SignalMessaging */ = { + EBCD067C7FAF6618DA921CDB8B982561 /* Core */ = { isa = PBXGroup; children = ( - 51EFB9CE33968BA82D46896E672623BF /* Info.plist */, - 03C8E6F7AFDCB00BF1FEC6370B02C1C7 /* Pods-SignalMessaging.modulemap */, - 94C9F673DA4C8665021294FE291258B1 /* Pods-SignalMessaging-acknowledgements.markdown */, - AA3D9AFFC3DEC9436F445C4DEF563F68 /* Pods-SignalMessaging-acknowledgements.plist */, - 06896773E2CCB1F3101F2445BC6DF9BD /* Pods-SignalMessaging-dummy.m */, - 90BEEC1F2D72352DB249FC38535CB29C /* Pods-SignalMessaging-resources.sh */, - 51AA38ADFF28718154F2819DF302F4D1 /* Pods-SignalMessaging-umbrella.h */, - F9E1AFB03B8984A1C10FAE727981BFE3 /* Pods-SignalMessaging.app store release.xcconfig */, - AD6E34DB135D8976D7C0DE4FB6388DC9 /* Pods-SignalMessaging.debug.xcconfig */, - 7F76E8738FB85544DA1920F5FD23A6F6 /* Pods-SignalMessaging.release.xcconfig */, + 34EF65F937971B69BBE48AB174CF0FA8 /* NSDate+YapDatabase.h */, + B75349465A082ACB2FE24F2ACBC0F76D /* NSDate+YapDatabase.m */, + BF6F62F20C1E33A39BC249C446DE46E3 /* NSDictionary+YapDatabase.h */, + 1B2317847B81618C305046627261352C /* NSDictionary+YapDatabase.m */, + 70D7507BDCB6B44BDDD0749605655BCD /* yap_vfs_shim.h */, + 38659336A9AE170029E5B948F912408C /* yap_vfs_shim.m */, + 95323C9EC43170DF77A7F05196E6F85E /* YapBidirectionalCache.h */, + 2A68FA375AD93D49BE13B96C4898F01F /* YapBidirectionalCache.m */, + 573EEE1400EB41BF0C86BD6F5A736D39 /* YapCache.h */, + D2310FA02B636F3A8F6FE46D55264DD3 /* YapCache.m */, + AD2B6B4A5339918384EF7DA7B21849B1 /* YapCollectionKey.h */, + 7220355E80E5250EC5DFAF4844486450 /* YapCollectionKey.m */, + 5B09D8BB23CAB3E769F7A52CEA81CDD7 /* YapDatabase.h */, + B86C526C08E9564535BAAD8B8E15B93E /* YapDatabase.m */, + AD53055E142A9DD74372E1941BB29632 /* YapDatabaseAtomic.h */, + AD75D614ACD450BD1990E9B23A2DD507 /* YapDatabaseConnection.h */, + 00EF8AC4D9E853CE077963E2E013CBD5 /* YapDatabaseConnection.m */, + 565F317E833FD3EA9D7474A2C048F447 /* YapDatabaseConnectionConfig.h */, + 979D0C4A6395C89FAF7A93FA1AE7694A /* YapDatabaseConnectionConfig.m */, + 9CB9B8EFF2743CBD38FBEFDFFBA129BD /* YapDatabaseConnectionState.h */, + 289CC5EFC13A589A12BF6C27871CC23A /* YapDatabaseConnectionState.m */, + 3E311C48D2D9752932258EEAAE7EBA79 /* YapDatabaseCryptoUtils.h */, + D2DC99CD7A106AA884C9C0DF835B2FF5 /* YapDatabaseCryptoUtils.m */, + D20AC90654D8CF8ECDBBDAE294E5A0B4 /* YapDatabaseExtension.h */, + 4EA9620A66CB7DBD3EC4B820FE087741 /* YapDatabaseExtension.m */, + 6A2C3928546E4D81EA9831D0A261A256 /* YapDatabaseExtensionConnection.h */, + D5C8E2E337891EE8DD0904152C3FF8CC /* YapDatabaseExtensionConnection.m */, + 2904B1083493AD46253B270872F72401 /* YapDatabaseExtensionPrivate.h */, + B9DC6D8A79AB584380A675B3F0D4521C /* YapDatabaseExtensionTransaction.h */, + 5122D750C70EE20943506E14AA23154F /* YapDatabaseExtensionTransaction.m */, + 0E21F30FCCCE2587E73DCFEF12C57C4F /* YapDatabaseExtensionTypes.h */, + F2BE6D6B18DBBDD05FEE5CF1F16B8B8D /* YapDatabaseLogging.h */, + 7874EA59609BDDED56ED1CC41B2641FF /* YapDatabaseLogging.m */, + 6FE564F37D020FF2DC30AE675663F7CB /* YapDatabaseManager.h */, + 3A7AB9FA2BD5AA6A171E6F75694D9736 /* YapDatabaseManager.m */, + 7E539CD739CC63CAB69C42A56066169B /* YapDatabaseOptions.h */, + AF770CD9DB788430963B24F2D95301F4 /* YapDatabaseOptions.m */, + 947134392B5F61A56CFA096EB618CB70 /* YapDatabasePrivate.h */, + EB38BB58EF7A4D9713F88DB601E9EB5C /* YapDatabaseQuery.h */, + AE5419DF03304DF123A6E5C7376D3382 /* YapDatabaseQuery.m */, + 19A1480EE38C3CBF039CA74CA86C9617 /* YapDatabaseStatement.h */, + CFE3AA208B80846E8DA3B80CDD11033C /* YapDatabaseStatement.m */, + 05818C2A5DEC44C050A954BF11561B27 /* YapDatabaseString.h */, + 66DD7A2DFE5CE63489997F7A68469E19 /* YapDatabaseTransaction.h */, + F22BEAB9BD66FF2FEB3C5C2E67E4E447 /* YapDatabaseTransaction.m */, + CB3137C4B3BC4CA4E69789E52DA87C4F /* YapDirtyDictionary.h */, + 88B209725E331D8220861D78D5A74B7E /* YapDirtyDictionary.m */, + 78FC5D1D868DAAE14E3E0E28370779C9 /* YapMemoryTable.h */, + 74AB8F96ABA7C5CE5FDEA83363F96A81 /* YapMemoryTable.m */, + B4429DCA263A489F1BC46808EBD1D38A /* YapMurmurHash.h */, + C98A99DFA917ADDE208587DC9D46A0A6 /* YapMurmurHash.m */, + 49305023E523543EADE34267507AB086 /* YapMutationStack.h */, + 2ED93D815BE4A4D434549E91226EAAF6 /* YapMutationStack.m */, + 6250823D813E45810571E8DB632CBDB6 /* YapNull.h */, + 52AA21D99EC0B592DD3C81F144F6F679 /* YapNull.m */, + 73211039E65B0E573E3C78E3981AF39F /* YapProxyObject.h */, + B8795ED992106A0C6C7B49985C1C78E3 /* YapProxyObject.m */, + D2B1FEB458AC5D579A00D9ABCA98ABE3 /* YapProxyObjectPrivate.h */, + 9180424851BFC0CA72C6DBE5037CBE18 /* YapRowidSet.h */, + 5B823CA98EFBD8C30D712CF779F74054 /* YapRowidSet.mm */, + 952CC1927947DF387B5B466EF45475C7 /* YapSet.h */, + E84D196E7CD43DA30666C10A44A46C15 /* YapSet.m */, + 764193D98BC9999D6B595BD71FF57E44 /* YapTouch.h */, + 8DCE1C38C58E9CCC399FF12F412E0FBC /* YapTouch.m */, + B1417590DD671EB59DD3BF1392F48C55 /* YapWhitelistBlacklist.h */, + A1A3834BC506B7D4C32B3FFE05A7CCD7 /* YapWhitelistBlacklist.m */, ); - name = "Pods-SignalMessaging"; - path = "Target Support Files/Pods-SignalMessaging"; + name = Core; sourceTree = ""; }; - E33775014733E1922A32A2E77F80CCB5 /* Support Files */ = { + EC073B700031835FABF693619B3CAEE4 /* Extensions */ = { isa = PBXGroup; children = ( - DAD90A673950DF46333BCBAA90089A37 /* FirebaseCore.modulemap */, - 2FA2FC7794692BCA3A9F80584AEB5E59 /* FirebaseCore.xcconfig */, - F6AEE81E47CA007E3E2764BD0016C2C3 /* FirebaseCore-dummy.m */, - 3395B3A342D6D61858A3C7E3CED6FBF8 /* FirebaseCore-umbrella.h */, + FFAF5A4D46E1948B3642B98F4943EC29 /* ActionManager */, + 0DDF0A3F583F80D0D73CDE18CBD1F229 /* AutoView */, + 7D62790526B4DE56A75CCDFDEBE07E62 /* CloudCore */, + BBAEECB112FA40F71896D36578847D59 /* CloudKit */, + D3D0905275D9F236DE1357A5682243E5 /* ConnectionPool */, + F503B0C2FF403D315EB7A566222FD7C5 /* ConnectionProxy */, + E7ECCC3B8BED3438337AC1EE69AF064F /* CrossProcessNotification */, + A169B8B669E05944329F643B7D3C83F5 /* FilteredView */, + CA0119D3A09AA23B30AF614055DA1669 /* FullTextSearch */, + 5E9A43FE356DE37B013307EE5DB62271 /* Hooks */, + A7B13D29D1D9B3F5F63764C930F32CD9 /* ManualView */, + B685BE780112058CD1154C4AF1D80113 /* Relationships */, + 57D136806D4D96F2D95DEFB93BCF2117 /* RTreeIndex */, + BBC0C39F083E37C3E9DAD6F700B9665A /* SearchResultsView */, + 82D584FA6B875D62F116DC577546C508 /* SecondaryIndex */, + B11988BB97EB1B50340F7E149A2775FE /* View */, ); - name = "Support Files"; - path = "../Target Support Files/FirebaseCore"; + name = Extensions; sourceTree = ""; }; - E3C0AA39163B084CD7B0C50FB2B44567 /* CloudKit */ = { + EC20D061C96968D7353ABB79018986CA /* UIKit */ = { isa = PBXGroup; children = ( - 9FD5F070103F916B59ABD68B487F03AF /* YapDatabaseCloudKit.h */, - D96B576AFFDDD159B4CC142065285EA5 /* YapDatabaseCloudKit.m */, - F0DD796F207825BF218F0754154B7A21 /* YapDatabaseCloudKitConnection.h */, - 93AD5CF756571C975F2C5FE4B94F64CC /* YapDatabaseCloudKitConnection.m */, - 1D77E3FFE9CCE93A6E53630E7A14A695 /* YapDatabaseCloudKitOptions.h */, - FBFEAFF52035D68E890B31196C64AA1B /* YapDatabaseCloudKitOptions.m */, - 773FD0F306D421613F65D5486F39E462 /* YapDatabaseCloudKitPrivate.h */, - 7C959AA0A75ABAC08AF6171CA054BD6F /* YapDatabaseCloudKitTransaction.h */, - 0006C20B77295D08CA55E94AE54EC441 /* YapDatabaseCloudKitTransaction.m */, - E8CC10CCA0B30ACA6F2C43921B2CCD6F /* YapDatabaseCloudKitTypes.h */, - B90FC33DC2DDF7F6932DA2A34F9E0D55 /* YapDatabaseCloudKitTypes.m */, - C1AE7D8D4F6807C805C419EFD6D8940B /* YDBCKAttachRequest.h */, - 25E619EB976D0904B7B84391597DDFC1 /* YDBCKAttachRequest.m */, - 64A4AF96274630F8F28C6AF2BAF53FE2 /* YDBCKChangeQueue.h */, - 663321A34D9A5AF19A297977B77E1C69 /* YDBCKChangeQueue.m */, - 0808940D65EDE9ABD93E07C1873FB1B3 /* YDBCKChangeRecord.h */, - 41AC75DA2F5740027E3A7D29FDEE0783 /* YDBCKChangeRecord.m */, - 9160F575F1959D09B48815657E008362 /* YDBCKChangeSet.h */, - 0E9BF71F88126CD7B952848035FB8C5B /* YDBCKChangeSet.m */, - F782700D361CA9E1A7507AB929B622B9 /* YDBCKMappingTableInfo.h */, - B074F5F3DA2E44D708131BE42B17447E /* YDBCKMappingTableInfo.m */, - D46E2778B6393E9EBB3AC1E2111888BF /* YDBCKMergeInfo.h */, - 5A92568A5001DDAA682F81A239B01A11 /* YDBCKMergeInfo.m */, - 23BDD2DF8DC7C8AA4509CB97B8FE4202 /* YDBCKRecord.h */, - 884F4DD4F090F7F0D9E08A8D1E56DD7F /* YDBCKRecord.m */, - AE0E21277E27786155A274ABAF10AB99 /* YDBCKRecordInfo.h */, - 15C7DCC5E70560E1A87B72B59568FD3D /* YDBCKRecordInfo.m */, - C1D92842AE85104A11E541369BF05E09 /* YDBCKRecordTableInfo.h */, - 98FB4581B82CAFB4F7603F06F0CCFB78 /* YDBCKRecordTableInfo.m */, + EEB900F6A62E5277C8C071F2D27BEC36 /* PMKUIKit.h */, + CE899D1860ACAD7D81286A2AD1383717 /* UIView+AnyPromise.h */, + F06885A9BAD502125B6883DEC13E24A7 /* UIView+AnyPromise.m */, + 8602136F435CBB465EB185925D9814E1 /* UIView+Promise.swift */, + BD37F1BF3BC9AB05B905A19B37CABF5A /* UIViewController+AnyPromise.h */, + F382DD115A304C1F57995B7A86E1D73B /* UIViewController+AnyPromise.m */, + 179868AEF116207BB1E0EE6DD3FF920A /* UIViewPropertyAnimator+Promise.swift */, ); - name = CloudKit; + name = UIKit; sourceTree = ""; }; - E3F969CF7791D1F76E1AD704C699B40E /* Support Files */ = { + EFE23944367379FEF6BECBE13D5B139D /* UD */ = { isa = PBXGroup; children = ( - D3141C71679A9883794D64ED4363EC09 /* Info.plist */, - A537C55916DFBCB918F04A5DA2102397 /* libPhoneNumber-iOS.modulemap */, - 91E049A9661A9C93E8DB198918D6EA73 /* libPhoneNumber-iOS.xcconfig */, - 91869B512553835463C73508989180AD /* libPhoneNumber-iOS-dummy.m */, - FA8F21618194E3770DCA6E270E2E331E /* libPhoneNumber-iOS-prefix.pch */, - 366558CAF41F4A28EE8669D36463C0E2 /* libPhoneNumber-iOS-umbrella.h */, + 60AFD146EA09D7615BB54685F7B21E84 /* OWSRequestMaker.swift */, + 87905B12EE3EA0EB7580FD8EEAD83657 /* OWSUDManager.swift */, ); - name = "Support Files"; - path = "../Target Support Files/libPhoneNumber-iOS"; + path = UD; sourceTree = ""; }; - E84C38010BC32E4B05724496A9DD18CC /* Pod */ = { + F20D11B6BF88F4F588AFCC53CBC8C38C /* SQLCipher */ = { isa = PBXGroup; children = ( - 62E2263BE59BF01A2793DC6E7850E925 /* LICENSE */, - EC994689EC146594D76387E2243D12E8 /* README.md */, - 00369E68CBC5AD5F68B76386A86F6A53 /* SignalServiceKit.podspec */, + D715768A93FABFE40E675F647D7B765A /* common */, + 7F0385C13E1633F59EE338D260E1E0CA /* Support Files */, ); - name = Pod; + path = SQLCipher; sourceTree = ""; }; - EA1AEF05A8C74404F19C0122BE4BB17C /* Support Files */ = { + F28DE9C1B545BAE5A6AB908DB326FDE4 /* Support Files */ = { isa = PBXGroup; children = ( - 79F36B88C3DAE8F29460CF5361F635FF /* Info.plist */, - A980B3D5A958D10F616E422D0574D866 /* SQLCipher.modulemap */, - FA4821DFD821EAD5ED494F70829D9691 /* SQLCipher.xcconfig */, - A3C3C87CCE1133918B55AE3C9F3FEB57 /* SQLCipher-dummy.m */, - 55E41DB7D3DA7861E4D655E35C19A034 /* SQLCipher-prefix.pch */, - 45EA5F7F1FF8B1E94D6C03BA05CCD86A /* SQLCipher-umbrella.h */, + 7B508E800B33F0690FB9C1C8F77D8743 /* GoogleUtilities.modulemap */, + 0928A8796D80ACA06E9B47E8C962B61C /* GoogleUtilities.xcconfig */, + 578C09725E61F5573BCA53C185335FA2 /* GoogleUtilities-dummy.m */, + 30938CC3B1DEF079BDF49A7F242CC26C /* GoogleUtilities-prefix.pch */, + AED2C668962B942843C29BF002DF97D5 /* GoogleUtilities-umbrella.h */, + 52E17FB7433B1A84EBEA519396D64B21 /* Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/SQLCipher"; + path = "../Target Support Files/GoogleUtilities"; sourceTree = ""; }; - EDA30CF5B498E4155B70B258F4AEC29F /* Generated */ = { + F37AB23382F479F76E999210AD3F642C /* Devices */ = { isa = PBXGroup; children = ( - 72ED563DE1D78B4EEB88F84C0C88F651 /* Fingerprint.pb.swift */, - A211DA5E3A035266672220211FF717E5 /* FingerprintProto.swift */, - BA63398E45316DD4159FC640744D9232 /* Provisioning.pb.swift */, - CAC9E11C30E1748ECF55A065B1C9A155 /* ProvisioningProto.swift */, - EEA41736905C49CD3F201E85FE850008 /* SignalIOS.pb.swift */, - BCBC545974A74E8CCF036D1DC7AF20B0 /* SignalIOSProto.swift */, - F366E537533B1013937B00F3D5A9711B /* SignalService.pb.swift */, - DC22AA605F05810A4810CDFFFB9AD035 /* SSKProto.swift */, - 7758D8B852CE639CA8C74737289BAC2C /* WebSocketProto.swift */, - 2FD1469F2176D3F02C0AC88B7736504D /* WebSocketResources.pb.swift */, + 7114B75F055C9829201172D76C74F555 /* OWSDeviceProvisionerTest.m */, + 9656A2BA216DBCAD50C401F0D75D4BB5 /* OWSProvisioningCipherTest.m */, ); - path = Generated; + name = Devices; + path = SignalServiceKit/tests/Devices; sourceTree = ""; }; - EEC1C290A38F4AC2FFCEF88B57EB2174 /* Interactions */ = { + F4C1E9BE939FB3DD6BDDD43453BEF027 /* Support Files */ = { isa = PBXGroup; children = ( - C99E65CBF2655DA94042ACEFE089E29E /* TSMessageTest.m */, - EF519DE4415DEE72E3CD953E144C8939 /* TSOutgoingMessageTest.m */, + 05E5853237D951D85516A2B091B52EFB /* CocoaLumberjack.modulemap */, + 7650324ADEB72AD96A87B50975C83CD9 /* CocoaLumberjack.xcconfig */, + 1FBE3EF558C27DF28155A7248AF95264 /* CocoaLumberjack-dummy.m */, + 0D93E148EEBB97B2005911170095A8D6 /* CocoaLumberjack-prefix.pch */, + 4CDF5051D0A052279623E9D650F574B8 /* CocoaLumberjack-umbrella.h */, + FD563C43386E0D5901D7D22D3CCAF0F4 /* Info.plist */, ); - path = Interactions; + name = "Support Files"; + path = "../Target Support Files/CocoaLumberjack"; sourceTree = ""; }; - F03C72EA51CCE7860E12CF166BF9E0B6 /* Account */ = { + F503B0C2FF403D315EB7A566222FD7C5 /* ConnectionProxy */ = { isa = PBXGroup; children = ( - 85EA67C88AA10C6A5042825A31EFE046 /* AccountServiceClient.swift */, - 5B2A8E71F4A76FC3C084CCDB1965E97A /* CreatePreKeysOperation.swift */, - 1D4D7406B5279C449FBABFB76755D86F /* PreKeyRefreshOperation.swift */, - EDB39EC974B3C7DCDDDA751DAFE9B919 /* RotateSignedKeyOperation.swift */, - 43CB81C94B564AA251A277C9E8C9DBFA /* TSAccountManager.h */, - 7184C4D8C369DA17BA07BB012540AA8B /* TSAccountManager.m */, - 22D30159606B759BD24AF772AF7EA63D /* TSPreKeyManager.h */, - 3E4C521CA4F23E6E681258C675CDC569 /* TSPreKeyManager.m */, + 4F51ADE1792822A4A3B1A649910E384B /* YapDatabaseConnectionProxy.h */, + 841E818721F0C1F79B75FC01E1D0BCE6 /* YapDatabaseConnectionProxy.m */, ); - name = Account; - path = SignalServiceKit/src/Account; + name = ConnectionProxy; sourceTree = ""; }; - F524083750F13B9C6214706599F98045 /* Messaging */ = { + F555156EFF82399E64F84B0AB9B6C52A /* Frameworks */ = { isa = PBXGroup; children = ( - 7BD4836E23E0FECA0007F1BA /* LKSessionRequestMessage.h */, - 7BD4836D23E0FECA0007F1BA /* LKSessionRequestMessage.m */, - B8D92A95237A2F610024119B /* ContactParser.swift */, - BBD1652892E287CA62F0C79C090E318C /* FriendRequestExpirationJob.swift */, - 85EC3435C861717279A6142988132FD3 /* FriendRequestExpirationMessageFinder.swift */, - C32A5B872408B5F600A1BA52 /* GroupParser.swift */, - 75ABB359C23CF329F3B96B8B898A994F /* LKAddressMessage.h */, - DC577FDED102C748176633980C2D714E /* LKAddressMessage.m */, - F24671AB2FD9BBB651769D905F507409 /* LKDeviceLinkMessage.h */, - F4278C71C759864FFDF355FC9D32D84C /* LKDeviceLinkMessage.m */, - 0F139649D184AB822990EDBBC8F433BB /* LKEphemeralMessage.h */, - C3A2127511F52A3C2A5AF8A8E763C81E /* LKEphemeralMessage.m */, - 6B27BB235DA5AECC554338FB2C37443A /* LKFriendRequestMessage.h */, - 863FB1F8B6B9127EC3BC80D78517EE83 /* LKFriendRequestMessage.m */, - B88847C123E2A66B009836D2 /* LKSessionRequestMessage.h */, - B88847C223E2A66C009836D2 /* LKSessionRequestMessage.m */, - B836BFC923DA6B4F002C86A0 /* LKSessionRestoreMessage.h */, - B836BFCA23DA6B4F002C86A0 /* LKSessionRestoreMessage.m */, - C32A5B892408BD1D00A1BA52 /* LKSyncOpenGroupsMessage.h */, - C32A5B8A2408BD1D00A1BA52 /* LKSyncOpenGroupsMessage.m */, - C38D75862385E6E00047AF0B /* LKUnlinkDeviceMessage.h */, - C38D75872385E6E00047AF0B /* LKUnlinkDeviceMessage.m */, - 7C2B481A4818B01F4C1FAB84B6007C12 /* LokiMessageWrapper.swift */, - B84664F623503DC20083A1CD /* Mention.swift */, - E1A8E15237373781359E0058C77AB08C /* SSKProtoEnvelope+Loki.swift */, - 45551FE74253365FC930D32C2CF5C2E1 /* SSKProtoPrekeyBundleMessage+Loki.swift */, + 0A23B952E67A4D905F4850743F8E011C /* Crashlytics.framework */, ); - path = Messaging; + name = Frameworks; sourceTree = ""; }; - F6F7EB71788DE70F5A88A5C70D99CD20 /* Support Files */ = { + F8D02E9A98C29888EAACC25ECCD70D75 /* Support Files */ = { isa = PBXGroup; children = ( - 4E2C663F3A76F080713B36D4B9B70A23 /* Info.plist */, - C3E517E8372532438CE9978ACDF4E103 /* PureLayout.modulemap */, - 71797739CD18C077C3032970B0E12418 /* PureLayout.xcconfig */, - 5D0A040B954399C4C7679956C9122764 /* PureLayout-dummy.m */, - 5E888ACB3BB36D84D92EFEDB7C47ED0D /* PureLayout-prefix.pch */, - 9ABBB916C75DFB77B2C395AFCC927992 /* PureLayout-umbrella.h */, + 6FC4CE2E63D25F0415281B6138CD4A21 /* FeedKit.modulemap */, + 1907FB5967FD584AF2068B49A60E5E14 /* FeedKit.xcconfig */, + 449200244CB2010C0E93F8149003F65A /* FeedKit-dummy.m */, + 5FD939E75BE3A4B5238D22E61CA10D3E /* FeedKit-prefix.pch */, + F9786865261225576C78017325C69C57 /* FeedKit-umbrella.h */, + 749A18E0B29A89725B0F152EFB28F8D4 /* Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/PureLayout"; + path = "../Target Support Files/FeedKit"; sourceTree = ""; }; - F7A6C296C306A622FD996390E18BC11C /* UIKit */ = { + F9DB728A96F795B3CD3CC17066099E05 /* Util */ = { isa = PBXGroup; children = ( - A65E239E58A2765559303A4F00484002 /* PMKUIKit.h */, - 701ECF735510D282FE37DDA41A23ED66 /* UIView+AnyPromise.h */, - 0EAFB8AFE018484D7E30B131154D2150 /* UIView+AnyPromise.m */, - A96929E4E2DA0167E77496EDFE563F53 /* UIView+Promise.swift */, - F8284DFA14EBE33B2A8AD1B6B6021B8B /* UIViewController+AnyPromise.h */, - 43FC16D1F6FDE330638283932DD5C107 /* UIViewController+AnyPromise.m */, - 65DAF715C2F6DEC176C55836821B64C4 /* UIViewPropertyAnimator+Promise.swift */, + 804A3876312DC0778D941003DB568C19 /* DeviceNamesTest.swift */, + 4AAE8DF3E1EB556EDD569199BDC41E6D /* JobQueueTest.swift */, + BD040719E8DFBE5D58E7D1CFCDBC0299 /* OWSAnalyticsTests.m */, + EAF332322AE1DA8A323E3770D19DFD3A /* TSMessageStorageTests.m */, ); - name = UIKit; + name = Util; + path = SignalServiceKit/tests/Util; sourceTree = ""; }; - F9021D6BC7D8D367A3CBE4155E57D27B /* Security */ = { + FB79C1125DB5B4ED0BBED50CFC19A098 /* libPhoneNumber-iOS */ = { isa = PBXGroup; children = ( - 5B2CB19A9737B5F2BC8C8DCCC59F556B /* OWSFingerprintTest.m */, + 54860E776C82290727F85929CF9FFA18 /* NBAsYouTypeFormatter.h */, + A7449FA22C9E14580A559E78138976FD /* NBAsYouTypeFormatter.m */, + 8D6B11DF1DE5C927405E3D498DB33626 /* NBGeneratedPhoneNumberMetaData.h */, + 5AD26E02AC96FC72B3C486C1BCFC6E2A /* NBMetadataHelper.h */, + 0FB8087FB60BFA03BC5652CCF3899A0B /* NBMetadataHelper.m */, + D61BAD5EB543EB2B18A0B7EA938A5B28 /* NBNumberFormat.h */, + 9CB5EEA2E66E77F0B306AC4F707218A1 /* NBNumberFormat.m */, + AF3CC55F7116473F75AA8C98F1001F74 /* NBPhoneMetaData.h */, + AAC299CEFB12B494047110B15F0AB495 /* NBPhoneMetaData.m */, + 4E01CED4578A56B135C43A76A3B97851 /* NBPhoneNumber.h */, + D8E97BBC635A675CAC498501BD7BFCD3 /* NBPhoneNumber.m */, + 273A9CC5B40D837E9CBF7E90EB3A048D /* NBPhoneNumberDefines.h */, + 3C64F5B170D5906A0264C81FBFD96A6E /* NBPhoneNumberDefines.m */, + 8D9B14548155194C4EB8C3DA535C8DE6 /* NBPhoneNumberDesc.h */, + 448D72BFDAEA737E4A968D772E3DC830 /* NBPhoneNumberDesc.m */, + 48F29CD7DB4ED00FB8CF1DA8ECFE4B92 /* NBPhoneNumberUtil.h */, + B91E31A3031C58750E2EBC08C18FD362 /* NBPhoneNumberUtil.m */, + 578B3D2EEE31EB8B2013C068C8A4A26C /* NSArray+NBAdditions.h */, + E61493E7E40B083643A67B584984E927 /* NSArray+NBAdditions.m */, + 0B9E6CB31E7D170E62E4B07B61A83E43 /* Support Files */, ); - name = Security; - path = SignalServiceKit/tests/Security; + path = "libPhoneNumber-iOS"; sourceTree = ""; }; - FAAA01735AE8DEE516EE77135BD2D6FF /* YapDatabase */ = { + FE016F757ADB764EEF70240B1CDBDDEA /* API */ = { isa = PBXGroup; children = ( - B63BDA7D6875977A71E72E6C52E956DF /* SQLCipher */, - 3EDB0682C3CC3F9E43ECC728A9DB68CE /* Support Files */, + 5FD47FF1566F9330AAA4FA0174114F60 /* NetworkManager.swift */, + D420B079F9BBEABCBF643CE5C7A7B957 /* OWSDeviceProvisioningCodeService.h */, + 94FB2CFC53F2C22FCE27A770D8D9FAA9 /* OWSDeviceProvisioningCodeService.m */, + 17C63445F8D16A0974405AD0D6110A2F /* OWSDeviceProvisioningService.h */, + 21497A7A21AD5E018470597BEAD0B7E1 /* OWSDeviceProvisioningService.m */, + DF9EF7AE85B6237503F82C2201110111 /* OWSDevicesService.h */, + 781B44F39084C44911F7DCDFE4C68668 /* OWSDevicesService.m */, + 7689CEE9C6A10C3B62B992035DB59801 /* OWSRequestBuilder.h */, + F381FF8833B58762D9CDE21F4C7A3B1A /* OWSRequestBuilder.m */, + 3D410A2258157BE1FE48F2E5A8E203A3 /* OWSUploadOperation.h */, + 3B99B7D85EA40691BA4D9B5FF79BD677 /* OWSUploadOperation.m */, + EC016BAAFFD031DD978ADB1E1111ED8C /* SignalServiceProfile.swift */, + E8052EE21BA2EC950A714EC10062CAF8 /* TSNetworkManager.h */, + 23230A5D512AC2F7E6CFDD07B97CD3FB /* TSNetworkManager.m */, + 30D016EC91D21FB88FE8490D508EA4CB /* Requests */, ); - path = YapDatabase; + path = API; sourceTree = ""; }; - FD7B608408036F3DF393A99698DFDB07 /* Support Files */ = { + FFAF5A4D46E1948B3642B98F4943EC29 /* ActionManager */ = { isa = PBXGroup; children = ( - 9BDE51E2BFF3CEE9B54A7CC90A5933FC /* CocoaLumberjack.modulemap */, - DD444E5ECBC1AB14E9725D1847F3707B /* CocoaLumberjack.xcconfig */, - 65261F288552596C104F18908693F611 /* CocoaLumberjack-dummy.m */, - 8EDD3C62D98C61AB2CF00E0CE6BE4630 /* CocoaLumberjack-prefix.pch */, - 1DB94A9B593057F885764996C43732C8 /* CocoaLumberjack-umbrella.h */, - 6F60CC8278BBC0190F373F60DE95DE18 /* Info.plist */, + 4FC8EF3ECA24333F38C95E86AEEED2AE /* YapActionable.h */, + 3176E82FC687397A72FF544991700885 /* YapActionItem.h */, + D4D3F5EF827183826B9899BEC0C1F09D /* YapActionItem.m */, + 2383CF316B15E6B8EACAE911A4009579 /* YapActionItemPrivate.h */, + C2E0CAFA4F755C9C7FB173F682113313 /* YapDatabaseActionManager.h */, + 931972E42247B773324D60AFC83C9940 /* YapDatabaseActionManager.m */, + 19A946077E5368CDE5720644030626B1 /* YapDatabaseActionManagerConnection.h */, + 72B2DC13FBF90D6C19D72C133472BF28 /* YapDatabaseActionManagerConnection.m */, + 9134181F564388A64445E88801FCA754 /* YapDatabaseActionManagerPrivate.h */, + A01F34C43DF501F3290D6665F2A07F66 /* YapDatabaseActionManagerTransaction.h */, + DFEA6178CDEC9267F8F13DC77B0AB41D /* YapDatabaseActionManagerTransaction.m */, + 74B0326F1D2ACB8C5B1C11664FA8EF92 /* YapReachability.h */, + 79DCF9E22808274C8BB5352DF4BC9A63 /* YapReachability.m */, ); - name = "Support Files"; - path = "../Target Support Files/CocoaLumberjack"; + name = ActionManager; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 1CBFDEF2CDD67FDFDA21DDCD33E56E7C /* Headers */ = { + 17542359501248C06D0B7ED22E7642CC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - ACC24DEE95D10471D16B319DEDA0824F /* Pods-SignalTests-umbrella.h in Headers */, + FB8F1E72937C9C366DBA1CD1EFC94815 /* HKDFKit-umbrella.h in Headers */, + 8EE5D0AE936A3F8A3A49B00A47D4150E /* HKDFKit.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1E3AA9157E91DC6C2F765BE3C343C817 /* Headers */ = { + 27B1C091C37E936E3BD06E67F040C041 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 25DA96302C0915C518B58D58EAE11ACE /* Pods-Signal-umbrella.h in Headers */, + B1BC1254C1E77B9BFBD85A10831F04CC /* SwiftProtobuf-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 20B988E9E9960A5D9D46BEF40205D3F6 /* Headers */ = { + 2F45FDB4A40FA8822C32563D1AAEA6C3 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 61F7EDDEEF5DC7867CD4E8EB86009D1B /* AFAutoPurgingImageCache.h in Headers */, - 9C39A4D6D067B350ED158160EFE50572 /* AFCompatibilityMacros.h in Headers */, - 01789776F4BD8CBEAD7C794C18D1C867 /* AFHTTPSessionManager.h in Headers */, - 196A351699A3B8F788AF02B03EA76EAD /* AFImageDownloader.h in Headers */, - 44902669CF80C03D61C8EAAB916A3A58 /* AFNetworkActivityIndicatorManager.h in Headers */, - 875260C8662883809B2E5F08EC513B6B /* AFNetworking-umbrella.h in Headers */, - 9CA46CD3F471A9D520D49421A1383F7E /* AFNetworking.h in Headers */, - 965AF7183D1BDEDB900713B878681195 /* AFNetworkReachabilityManager.h in Headers */, - 410E23282CD10ED3CBE39C7A00B5617C /* AFSecurityPolicy.h in Headers */, - F07554E685065B782293B60BC385ABC6 /* AFURLRequestSerialization.h in Headers */, - 25AE2D0241BAF3B10DE3A3A6E90C823D /* AFURLResponseSerialization.h in Headers */, - A8B32E80B45EF0BEA1B9A1326DFEB888 /* AFURLSessionManager.h in Headers */, - B752427C90EF32A6A79616D8FC9D785B /* UIActivityIndicatorView+AFNetworking.h in Headers */, - E3A1159A2FB0FD477E88468396827E61 /* UIButton+AFNetworking.h in Headers */, - 9DA7E840F633AD16243BD7B8A71B2BA6 /* UIImage+AFNetworking.h in Headers */, - 87D0213B41931338BC64E286C9A2BE6E /* UIImageView+AFNetworking.h in Headers */, - 0C0C41E98CC933B06B3D78A7D19F7F92 /* UIKit+AFNetworking.h in Headers */, - 6F9CFDF197C2758F2C2FEA6BDBC7FD94 /* UIProgressView+AFNetworking.h in Headers */, - 793E3A94584A2270ECE4DE69233C8859 /* UIRefreshControl+AFNetworking.h in Headers */, - BD0F866ED498D61855E4C7290C7821B2 /* UIWebView+AFNetworking.h in Headers */, + 20C77C497AAEBF4161A8F3BBC1F3CACA /* libPhoneNumber-iOS-umbrella.h in Headers */, + 08473DCE436222AE22AB3858E24CAA01 /* NBAsYouTypeFormatter.h in Headers */, + 2D6DEE397DA5F4C7650E89C5146F359F /* NBGeneratedPhoneNumberMetaData.h in Headers */, + CA44A45D8DD6759C9E4160F0BFE88DE0 /* NBMetadataHelper.h in Headers */, + 4898811D49A07CEFB3AE85EB52BD59B4 /* NBNumberFormat.h in Headers */, + 12DCC88D70D40C68152F9BF946C063F8 /* NBPhoneMetaData.h in Headers */, + 3A59A018C89C380B00AE7AEFB501C05F /* NBPhoneNumber.h in Headers */, + 4922B84988F7D9A270EE86285682D48A /* NBPhoneNumberDefines.h in Headers */, + 006A7D7F1DD368EA72719FDFD542EF04 /* NBPhoneNumberDesc.h in Headers */, + 22670D27180CD552776D3E2822222580 /* NBPhoneNumberUtil.h in Headers */, + CEFAB7BD028F6977D68CB3D53697E0B8 /* NSArray+NBAdditions.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2982FF302C351A75840CEB690624AC4E /* Headers */ = { + 2FAF6DA4503BE19A3CBE4469426F1844 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E5A7D392700CC4FE7E2A97D44FB1990D /* CLIColor.h in Headers */, - B8A1AA4C2895B3618DC19CAD78678F50 /* CocoaLumberjack-umbrella.h in Headers */, - A3D9E1CD12C50AC9B9FDE5AFCC80C5A1 /* CocoaLumberjack.h in Headers */, - A5AB152496DF6DE9917058673D82468C /* DDAbstractDatabaseLogger.h in Headers */, - C8402802C885299EBB3347ACB18CBC28 /* DDASLLogCapture.h in Headers */, - FAB20B80A0BCFB3741D7459F2980C93C /* DDASLLogger.h in Headers */, - 1E0D9BC2B21473E28E17FCC3C043E5B6 /* DDAssertMacros.h in Headers */, - 9A411DE3DB1DD67B0E5082DBF61C9E65 /* DDContextFilterLogFormatter.h in Headers */, - 6B8F44193469FA3F7F2790765C74D7B1 /* DDDispatchQueueLogFormatter.h in Headers */, - DA44D1E7F0BA0EE6F9E0F8B4F61A251B /* DDFileLogger+Buffering.h in Headers */, - 188807E22C14410D83AEB7F880D704CB /* DDFileLogger+Internal.h in Headers */, - 7A758676E60A8D0CAAE5C01A269445D5 /* DDFileLogger.h in Headers */, - 76E2E4711041F935B3313FA36D0DDE5F /* DDLegacyMacros.h in Headers */, - 84CF5DA4EA92B72B66B4E4C497460AED /* DDLog+LOGV.h in Headers */, - 495EC76B41F10BDECDCC0F37F9EF55F5 /* DDLog.h in Headers */, - C36CF1BEBFBA486B602D49B29F9B0D66 /* DDLoggerNames.h in Headers */, - C156CD4AF63E002892CE348669FD722C /* DDLogMacros.h in Headers */, - E37C0B95C85B7C8900F49A5FFD237FC4 /* DDMultiFormatter.h in Headers */, - 32E16BFD9D8E94F5BC9002DFCD0ED3A9 /* DDOSLogger.h in Headers */, - 1A36A6DD0FF8E553C3D5398FFF125D97 /* DDTTYLogger.h in Headers */, + D33FF249B9EE4C1F758AC791554A573C /* YYAnimatedImageView.h in Headers */, + 0EEFCE10A98F24324837D2188BBF4387 /* YYFrameImage.h in Headers */, + 5AC30D22C7DD031F729E58020B3A0020 /* YYImage-umbrella.h in Headers */, + 03801DAEDCC55A22A103BC0221A98CF4 /* YYImage.h in Headers */, + A32B10E500BA6F52178781590FE8BE31 /* YYImageCoder.h in Headers */, + 929E3F016024BA0AF3F74A863B28EF9E /* YYSpriteSheetImage.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2E2EF773C5978B8819DA70F080E6BB8D /* Headers */ = { + 30612FCB020CD8FF4B5FBB8F655B7B98 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9D62BED16FCF8F747E4D9AA700B7BD8B /* EXTKeyPathCoding.h in Headers */, - 1FF969C5653960787CA0C5A8DB6F4E3F /* EXTRuntimeExtensions.h in Headers */, - AA49F5803CD89F891AEAB3B34D061AD7 /* EXTScope.h in Headers */, - 4F584721C0FEEC7B7C326E87193B9449 /* Mantle-umbrella.h in Headers */, - C4AB354571A0FAC4199C32B0685F9CB6 /* Mantle.h in Headers */, - 62C1B88B6693FEC3C83F53DE32647CEB /* metamacros.h in Headers */, - 6377840DC2BD6F92263C5BC75FA2C5D8 /* MTLJSONAdapter.h in Headers */, - BF7CFA036964D18F2000F3380DBA6EB8 /* MTLModel+NSCoding.h in Headers */, - 6726B593A7851344FF9A15E5FFC04EC0 /* MTLModel.h in Headers */, - AF04B2B20DF49054DDD4DA4D180DF84B /* MTLReflection.h in Headers */, - E5B147B48C5ADFF24E57DF8A9AD5A652 /* MTLTransformerErrorHandling.h in Headers */, - 8E6D27CE0A88FF320FEE5B2C3AEA8682 /* MTLValueTransformer.h in Headers */, - 1751967845CB920EB776B42B892D762F /* NSArray+MTLManipulationAdditions.h in Headers */, - 3065F45B3F940CA08E558C74A1A8530F /* NSDictionary+MTLJSONKeyPath.h in Headers */, - 926B9EF61DB0E552EAED05A5E98F8DBF /* NSDictionary+MTLManipulationAdditions.h in Headers */, - 555A4FAD45FED9A2FD5B536C7BDBD523 /* NSDictionary+MTLMappingAdditions.h in Headers */, - A335ABD9A6734B3BA93E44D0534CE7ED /* NSError+MTLModelException.h in Headers */, - 2FC81451BC40943071BA71D0A650A487 /* NSObject+MTLComparisonAdditions.h in Headers */, - 124CF7EF903608679F3472DE7D6544C1 /* NSValueTransformer+MTLInversionAdditions.h in Headers */, - CE8B836CC5639DE7F72FA985D58B5831 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */, + 204C7070F7FB967F804933929F25A349 /* GCDWebServer-umbrella.h in Headers */, + D27B0508D1D2D54A20D26C96B058FEAB /* GCDWebServer.h in Headers */, + 68B407D7526E4E1D41BCA19B53F27B91 /* GCDWebServerConnection.h in Headers */, + 06ECBAB8B95F6731179A042935CEC43A /* GCDWebServerDataRequest.h in Headers */, + 65B068332F87B5F18236859831EBA312 /* GCDWebServerDataResponse.h in Headers */, + F272C7CA5956750AC30FEF37065F6DC2 /* GCDWebServerErrorResponse.h in Headers */, + 601BFF71793D139AA30C6C83991D8E00 /* GCDWebServerFileRequest.h in Headers */, + 37F0EF253FF160E541C0C24CBC69EBCD /* GCDWebServerFileResponse.h in Headers */, + 80302C1B7241C8C14575B761D6CA5218 /* GCDWebServerFunctions.h in Headers */, + 3601DDEA71DF6C6BF955E0ACCEAA2770 /* GCDWebServerHTTPStatusCodes.h in Headers */, + 1BCC9F0CFDA381839E47EA5EC1B04E0A /* GCDWebServerMultiPartFormRequest.h in Headers */, + C4BC88DDF7F596E22C77BA173BA82CE5 /* GCDWebServerPrivate.h in Headers */, + 814947E3BB6D30E0910A6EA7B3A3BBB8 /* GCDWebServerRequest.h in Headers */, + 43F76A2E6898BD9E8A1BE41D9BF34564 /* GCDWebServerResponse.h in Headers */, + 59776D1EB4F1B67A2E4E019B665883EB /* GCDWebServerStreamedResponse.h in Headers */, + 0898F4A18AA3FC579D887AB0A2A846BB /* GCDWebServerURLEncodedFormRequest.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2EC8E2228671160765F371830B0894A1 /* Headers */ = { + 33570DF49BED9C572BF36D5113B90AAB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - CC9263EFB5A5BB7268A2ED2C37119E07 /* FeedKit-umbrella.h in Headers */, + 3F5352CBD1C6608472893BA0D10F6051 /* Pods-SignalTests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 37CA32FE2C8CFE5F18C63CE1ECCB2566 /* Headers */ = { + 49A4A6A32421B964867B3213431429E5 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 60D219DC28E118D9F3FD5E4E6C0545D2 /* api.h in Headers */, - D2A16D3617720403F5B92DF8558F75D3 /* base.h in Headers */, - C50E150815730232B9AB73E2F5CACA88 /* base2.h in Headers */, - 6266EB4C7EBDF2808E1F766251F0E107 /* compare.h in Headers */, - 2429D5FEBE097C4E4F205BB5DA5D2909 /* crypto_hash_sha512.h in Headers */, - A04812D05CEFAF3CF847F6D84E467F82 /* crypto_int32.h in Headers */, - 6ABD754026A962C3E4E97B6A6C4D8FAB /* crypto_int64.h in Headers */, - 503641F83F0E31A8DEFD8FB4A2B282E0 /* crypto_sign.h in Headers */, - D27E720A254708C0F55BEF2B262845DF /* crypto_sign_edwards25519sha512batch.h in Headers */, - 512E6201FEE66C78B575A006B5BC8803 /* crypto_uint32.h in Headers */, - EB3428EA7D2C29EE3DB7A8FC2677B7E3 /* crypto_uint64.h in Headers */, - BA039CB6705D3B0FD2D477BD89AFA9D3 /* crypto_verify_32.h in Headers */, - 3140EECF0A88934107EBBFF6355D5FB0 /* Curve25519.h in Headers */, - 6B2A5EBEE7711DD4E87E73F4904EF73E /* Curve25519Kit-umbrella.h in Headers */, - 02FD3B9FF6EDACB9A085A83C871E0C94 /* Curve25519Kit.h in Headers */, - C761693A17CBEFF7E1EBCA334663D38D /* curve_sigs.h in Headers */, - F5FBA63E14089D11999B3E3459FA1BA9 /* d.h in Headers */, - AE8B8005F839AB64DA5B78B5EAC296D2 /* d2.h in Headers */, - 23C0EFE19C8F2957211EDB18CEE61199 /* Ed25519.h in Headers */, - 86807DEADD42194D33995C3728D7BCC5 /* fe.h in Headers */, - 51E80ECE7D194F133E0653167D31DC22 /* ge.h in Headers */, - 7005DD4F25308BCCB1D9DF4C216EBFED /* ge_add.h in Headers */, - 22B3996E9614F3A853C9B88AF3A1CD8E /* ge_madd.h in Headers */, - 97215E07D9048850F4071C2ECF183D5E /* ge_msub.h in Headers */, - 7619EC36170DD189C62F82ABFE9465B7 /* ge_p2_dbl.h in Headers */, - F36DB05C413DC3BB323EAE871C7208DB /* ge_sub.h in Headers */, - FF0D3B14687975AD8407CCDEF3CCD589 /* pow22523.h in Headers */, - C68B89F4FE8C4A5AF57D8DBAE0A7C9EA /* pow225521.h in Headers */, - 3A723F58D05BE7B9E1AC6FC9D59D15B7 /* sc.h in Headers */, - 7FA0B67A5D99C7EAB07431EAD24FB526 /* sqrtm1.h in Headers */, - A40C7A5C00BA77282469D80B308A76C2 /* zeroize.h in Headers */, + CD5B725E14AD1439080D12154E7BF745 /* ALView+PureLayout.h in Headers */, + 5D02A2EB5BC871F1E11A58605ACAAC29 /* NSArray+PureLayout.h in Headers */, + 07734C796967D826545A868A72EFA952 /* NSLayoutConstraint+PureLayout.h in Headers */, + 02094F1E66D139253B32E22E0317AF8E /* PureLayout+Internal.h in Headers */, + 40344A740F735CF9E3256D95DF3523C1 /* PureLayout-umbrella.h in Headers */, + 9F864A938178B6521747FC1897AF57AF /* PureLayout.h in Headers */, + E71D26D3BDD238E7BAF1395A8A6F71C1 /* PureLayoutDefines.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 39D006847033A04A3D66AC88A9778A33 /* Headers */ = { + 507C89C89B92DA032A4FF7F4FA62542C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2FFE27653BB2436034247B66D44D81ED /* NVActivityIndicatorView-umbrella.h in Headers */, + 6E39F28AD361EAB024BB1C8584D588D7 /* EXTKeyPathCoding.h in Headers */, + 4AD32D3079BC387299382485D1F2C009 /* EXTRuntimeExtensions.h in Headers */, + 2B07CBBCAAB3D5C0A43266FDBDB7A6B4 /* EXTScope.h in Headers */, + B99E1AEE656F7DA86D5CDDDA2280896F /* Mantle-umbrella.h in Headers */, + 1107BF8AD3A6BB083F769C6EA0CB387C /* Mantle.h in Headers */, + AFA96E64D7FE2CFDF3174D65445D771D /* metamacros.h in Headers */, + A3FB2A9021A055EE7679DFAF243FEFC0 /* MTLJSONAdapter.h in Headers */, + 7FDF0DCA2C5056E17A8437C6A0AB6E57 /* MTLModel+NSCoding.h in Headers */, + B370C55F68D6627B8C260E7FC49CE11D /* MTLModel.h in Headers */, + 497E13738137DE59F3C4BB8275C5FEA3 /* MTLReflection.h in Headers */, + A481D21A479E1124CEB61DE06720DE20 /* MTLTransformerErrorHandling.h in Headers */, + 35FF61EA664124306E6A75E8EE844C91 /* MTLValueTransformer.h in Headers */, + AA7D8F203E1E9F565088A2BE8F2FC7AD /* NSArray+MTLManipulationAdditions.h in Headers */, + DC07A5D0940CCCED0EF744BBFA100A7B /* NSDictionary+MTLJSONKeyPath.h in Headers */, + 2862BA6E6AD41018BDB3B8548D6B78A0 /* NSDictionary+MTLManipulationAdditions.h in Headers */, + B8724E61A3AD30041105BE9B81ECA8EE /* NSDictionary+MTLMappingAdditions.h in Headers */, + A7CA66EFB1AC81E54ED93DA6D52864F0 /* NSError+MTLModelException.h in Headers */, + DFB4C12CDEE01E60DF7F84E994C114A5 /* NSObject+MTLComparisonAdditions.h in Headers */, + 27D318586779BC2A09027A55ABC8B229 /* NSValueTransformer+MTLInversionAdditions.h in Headers */, + B719F8C5AAADABBD9229E69B0D442AB6 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3A44549F5043828D742C10DA9EC02035 /* Headers */ = { + 5DB8D6F81FB870C4CD0747DE40309C1D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 5FA8F330A80BA00C2702A46033831DC7 /* Cryptography.h in Headers */, - 54DD50744FA94BB0E2EFA7DF06E04059 /* iOSVersions.h in Headers */, - 87E93F7154960BB8C978A662E98ADFEF /* NSData+OWS.h in Headers */, - 0428975E4C0F00CCCC691DE2BDC1115B /* NSDate+OWS.h in Headers */, - 6AA363ABE1EB46F69ACAF6BAC73CE250 /* NSObject+OWS.h in Headers */, - F588A17E6D58F8B1EFD31CF72F825658 /* NSString+OWS.h in Headers */, - F8C81222C1D54A8F923C1ECE347E4A0D /* OWSAsserts.h in Headers */, - 9433F75FD7A22AD7C8C038732577A6CB /* OWSLogs.h in Headers */, - A8AF67F56249D06D3C448A86E2104C3E /* Randomness.h in Headers */, - E62B596AA0C9FCC44090AF22794179AD /* SCKExceptionWrapper.h in Headers */, - 1AD31E3D91D6A27800AAF32FB30FB38F /* SignalCoreKit-umbrella.h in Headers */, - 0D2E52F8654C54E8128F682053625AE2 /* SignalCoreKit.h in Headers */, - 96B886FB7C5E31C980B6E216164B9A18 /* Threading.h in Headers */, + 0FEE52E34850BADC88728B4D5A748B04 /* GoogleUtilities-umbrella.h in Headers */, + 82E8CE1751AF10AF113F094C8075CB7E /* GULAppEnvironmentUtil.h in Headers */, + D7E2BB7CE4677066EA33E17F1C024ED3 /* GULLogger.h in Headers */, + 7E8636DEDD66A2D1A73BE9C6162FC16E /* GULLoggerLevel.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 48354DB791A70571EFAD2961B3EC10E8 /* Headers */ = { + 64F4C9B1B151B9ACFFB6796561CB62F1 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F8609A183BF1F4EB98127F99D95FAA43 /* AES-CBC.h in Headers */, - 90C1AAB0CF4CC4615009EF314463A600 /* AliceAxolotlParameters.h in Headers */, - E499772E31936ED1B1D805D03824C634 /* AxolotlExceptions.h in Headers */, - 43213F71F5259F281C9CA39353C94464 /* AxolotlKit-umbrella.h in Headers */, - 68E2D00D8EE600403D99009FDCEEBB0A /* AxolotlParameters.h in Headers */, - 5D7F0001544D0096D418BAA81A7C32EC /* AxolotlStore.h in Headers */, - 329FE693614BA642BB3311975C8C6F36 /* BobAxolotlParameters.h in Headers */, - 1D40022397ED86630E249891B87DE9E8 /* Chain.h in Headers */, - 0C51F910C917B18D634852B90980D7E8 /* ChainAndIndex.h in Headers */, - BAFA510EAEE20975512042B5FC0CE1DF /* ChainKey.h in Headers */, - 7D1322BF6E83C9A2483126DA30BB6A2F /* CipherMessage.h in Headers */, - 7A0567A2F6F97AC901879EF83FDD9942 /* Constants.h in Headers */, - 6BE92D2D6100A843CE1F4FA0335110D5 /* IdentityKeyStore.h in Headers */, - C287C001DA429D33854FCD024DACD8EC /* MessageKeys.h in Headers */, - 30A948C08B06E9C64FE7A132B30316BC /* NSData+keyVersionByte.h in Headers */, - A8C2BCF6AE8A726D86B5D0A6293BBA8A /* PreKeyBundle.h in Headers */, - A1F44671F37165763D8ECF46DD90F389 /* PreKeyRecord.h in Headers */, - E24D57314C475CE4B185141290D4F337 /* PreKeyStore.h in Headers */, - 41D0670DE560A4EE71E1EC66444F2C33 /* PreKeyWhisperMessage.h in Headers */, - 3AFF506806BF39221247001AB6680997 /* RatchetingSession.h in Headers */, - 79711A7D9F80C3C1FA3838E6E0D9F655 /* ReceivingChain.h in Headers */, - E5A421333388AAFB71FC3DED3C58CFB4 /* RKCK.h in Headers */, - 2D5D665825C15A06F4EB11346132F2F6 /* RootKey.h in Headers */, - 7720B70FE06602CB6C0F598FDAAF7F46 /* SendingChain.h in Headers */, - 1C19728C1357E88EAEEDA68072DF6288 /* SerializationUtilities.h in Headers */, - 2FA721B40645C6C8B622B768F278C816 /* SessionBuilder.h in Headers */, - 5799A50018C2BF753F32C6546F2B48BF /* SessionCipher.h in Headers */, - B208226C52AD5316DB7C77C1572C2094 /* SessionRecord.h in Headers */, - 964E93ED2C42B56DC94831B03360F933 /* SessionState.h in Headers */, - 2AFB08932B34A1C042D4B75739255E0C /* SessionStore.h in Headers */, - C43CF814A60E4CEB7F14A24231188C11 /* SignedPrekeyRecord.h in Headers */, - A4962B75637A2D2497103693BD53C3B7 /* SignedPreKeyStore.h in Headers */, - 041708562450E3822630CFC4464A5431 /* SPK-Bridging-Header.h in Headers */, - C1DA619F9C200E864377E74EF5B92FAC /* SPKMockProtocolStore.h in Headers */, - 8E699DA5977F2371F4FA17C186DA24E6 /* TSDerivedSecrets.h in Headers */, - 7BD4839023E3B39D0007F1BA /* LokiFriendRequestMessage.h in Headers */, - DDB93DE896D4E607B0BEC7D8ADC52F1C /* WhisperMessage.h in Headers */, + 7CA5A253894F2B0B7ABACAFB64811BD7 /* Pods-LokiPushNotificationService-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 48C2F7970E587DE7EC56198F4699D848 /* Headers */ = { + 653D8967AB15016F520920F538902CEF /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A04984464787CC3DE08CDF5A02FEE67D /* ALView+PureLayout.h in Headers */, - 3FCC5BDB931F7B55B4832385785C2001 /* NSArray+PureLayout.h in Headers */, - 25FC551A2780AB1C6BAC2CD5C1EC917C /* NSLayoutConstraint+PureLayout.h in Headers */, - 7F7F1971597CE505C8EAF8DDACD4CB64 /* PureLayout+Internal.h in Headers */, - 3FE2C4CBC46D66E51608C471EA7EFFC4 /* PureLayout-umbrella.h in Headers */, - ED39384161CED9C0D64314B2BA497FD0 /* PureLayout.h in Headers */, - 30714F754CE55022EEE7C103F1868FAD /* PureLayoutDefines.h in Headers */, + 32E3305DE7EDE40FF2CE1FD0CF71C675 /* AppContext.h in Headers */, + 7DA8B610BD886B8319626EC4578F45B7 /* AppReadiness.h in Headers */, + 50D79D93E4695B8151DC2F4CD5D379BB /* AppVersion.h in Headers */, + 63F7C5706A943EDFEBA0E387B52CFC95 /* ByteParser.h in Headers */, + D8B916DF3BADAD4F54813D0C56F70BD5 /* CDSQuote.h in Headers */, + 6064648DFF072767ED8191C5EF9487EB /* CDSSigningCertificate.h in Headers */, + D5E32A1BAA54A332E9E18ECA33F7F9FA /* Contact.h in Headers */, + 32B4B42A2330C98E5E8FEAEBF8CDC063 /* ContactDiscoveryService.h in Headers */, + C882D69F753DDC767A5F2D3658F2B910 /* ContactsManagerProtocol.h in Headers */, + 75316567AC12123BB3AD7F70628C1952 /* ContactsUpdater.h in Headers */, + 7DB072D63913684F6A603C4C668BF022 /* DataSource.h in Headers */, + A28DBFC8B4F4B1A5BB4205A410F341D8 /* FunctionalUtil.h in Headers */, + C1BF3E9B8C07D9813AFA8461BCBD583D /* LKAddressMessage.h in Headers */, + 7DE93B53ECD72B4CDF095F9C35A02ADA /* LKDeviceLinkMessage.h in Headers */, + B0883EA9277DB3E6817E9E994E6B7525 /* LKEphemeralMessage.h in Headers */, + 775E00F08545D12DB4B886A93DA8F23D /* LKFriendRequestMessage.h in Headers */, + EBE0521CD74666DF521F439C7A213ADE /* LKGroupUtilities.h in Headers */, + BC5B69B3714272EE628A9A1EDE18AAB7 /* LKSessionRequestMessage.h in Headers */, + C15ADB3C2E880E3B8CBF0B79C0ACAD8C /* LKSessionRestoreMessage.h in Headers */, + 70A041544F645EE5AC7378F0D007051B /* LKSyncOpenGroupsMessage.h in Headers */, + 67D5B814540B233018F29F0E1EBA23D0 /* LKUnlinkDeviceMessage.h in Headers */, + 2306B3141CABC8FEFA7EA1D25FAE3DB9 /* MIMETypeUtil.h in Headers */, + 0F4F8095B0F4437F28FC50408CDA535F /* MockSSKEnvironment.h in Headers */, + A0FDFC701D1B9F78AA26ACD6F18AD660 /* NotificationsProtocol.h in Headers */, + 73F590688E3F8416F49A17E87A1BA649 /* NSArray+Functional.h in Headers */, + 0E7B0FC74FCCB3EF66778C98F3E863D7 /* NSArray+OWS.h in Headers */, + D2E31A4F5E674E5472E7CFCD26F1EC1F /* NSData+Image.h in Headers */, + 3A3401335482B854895F6A3DEF9977AD /* NSError+MessageSending.h in Headers */, + 954EA0717E626A9F0C03E57151A5D299 /* NSNotificationCenter+OWS.h in Headers */, + D63C145ED9D24E952077BF1B53AF8034 /* NSObject+Casting.h in Headers */, + E48598910F737B2778D0002AF5E560A2 /* NSSet+Functional.h in Headers */, + 71DBACA49B858524E97C13D48E99A342 /* NSString+SSK.h in Headers */, + 1D0E675BD75EE61DC18A8CFA8A107DA2 /* NSTimer+OWS.h in Headers */, + 4159484ED62C356E8C3BAE7EF7070602 /* NSURLSessionDataTask+StatusCode.h in Headers */, + 011363560E6F4EBCFAB86E7E09CB5E10 /* NSUserDefaults+OWS.h in Headers */, + 04ED6C2195F79421B5A554A3BAABA5B1 /* OWS2FAManager.h in Headers */, + DE205B6652A4B029D503A5FF1C9B7645 /* OWSAddToContactsOfferMessage.h in Headers */, + E38537CFCC47266174D27E4735419B5B /* OWSAddToProfileWhitelistOfferMessage.h in Headers */, + 56331A0B401EC14705116ABF946C6AB0 /* OWSAnalytics.h in Headers */, + 24E83A20EBAC777DF4139D75B827B60C /* OWSAnalyticsEvents.h in Headers */, + 0CDE2A5130A270B257468DBEF5DB4265 /* OWSAttachmentDownloads.h in Headers */, + 8D9BDB9088A7369760DDC63B0746E1CB /* OWSBackgroundTask.h in Headers */, + 4F25EADF42872C69299F2419B8FB4BF7 /* OWSBackupFragment.h in Headers */, + 8905F453660C24759EF217D37C71C81B /* OWSBatchMessageProcessor.h in Headers */, + 438CF4BDA6B7D15294AC103F83CF188C /* OWSBlockedPhoneNumbersMessage.h in Headers */, + 5552A5DC69ED696A810BDA8BEB835844 /* OWSBlockingManager.h in Headers */, + C735C0584D5A2EC71FD92F30A654583B /* OWSCallMessageHandler.h in Headers */, + C04BE50CBCF1F0D4D9D1816B531FFCE2 /* OWSCensorshipConfiguration.h in Headers */, + 2317F5C4178CDD522D59C3C1F25A5EB7 /* OWSChunkedOutputStream.h in Headers */, + 7C9970F33E7A2D39760A002A13B17879 /* OWSContact+Private.h in Headers */, + 915537579D8F24ADB2FDE0884C96B4A6 /* OWSContact.h in Headers */, + 919AFFA76F5C566299A552973A2E4069 /* OWSContactsOutputStream.h in Headers */, + B5C02969A5056F325BB278DD800C236E /* OWSCountryMetadata.h in Headers */, + B3300BFDEE39E5D15D4D6E4A8F472073 /* OWSDevice.h in Headers */, + 34CF7D5E0F5FA554F9D4B5BC5CD50AA5 /* OWSDeviceProvisioner.h in Headers */, + 69C6F6F55427FD372255A3E6984296FC /* OWSDeviceProvisioningCodeService.h in Headers */, + 2974ECA3C1CB7F63A614DFF930FC5990 /* OWSDeviceProvisioningService.h in Headers */, + 113FE320F4F043549FBD1951D79E2FB9 /* OWSDevicesService.h in Headers */, + 2573A7763AB9E886B3C348BAE1A16B57 /* OWSDisappearingConfigurationUpdateInfoMessage.h in Headers */, + C1E801D31CD06D16CDB6CF1BCEBF9D65 /* OWSDisappearingMessagesConfiguration.h in Headers */, + A022DA44357562B04CF2881953E071C0 /* OWSDisappearingMessagesConfigurationMessage.h in Headers */, + 8EC4BB75A730606B2494AB5C34B596AC /* OWSDisappearingMessagesFinder.h in Headers */, + F38DCB34E89F4D85011EBD69383FD43C /* OWSDisappearingMessagesJob.h in Headers */, + E93E73913AC17124F456CC0E13CBF3E1 /* OWSDispatch.h in Headers */, + 9CC78099537EE1B7C42E2D7FA188C1A8 /* OWSDynamicOutgoingMessage.h in Headers */, + 611995DC525BA06DC6303E0743AF2E98 /* OWSEndSessionMessage.h in Headers */, + CAC7F8DF63E2BB0EB2265F52C666C769 /* OWSError.h in Headers */, + 1DC0864AC96212975134BBD9AB825EEB /* OWSFailedAttachmentDownloadsJob.h in Headers */, + 7EE6CC222DC47782F656E4C89999E4D5 /* OWSFailedMessagesJob.h in Headers */, + B3DCA46BBE07EEA5F3712D8E511835E2 /* OWSFakeCallMessageHandler.h in Headers */, + 87082A0EDFB742D1DDB31FD405623D66 /* OWSFakeContactsUpdater.h in Headers */, + 4CFE72683F8A4BA5018C4DE2C157182A /* OWSFakeMessageSender.h in Headers */, + 7600823F218B4B95E055AF53B3D367A6 /* OWSFakeNetworkManager.h in Headers */, + B481D1606B647B313EF1E65860304430 /* OWSFakeProfileManager.h in Headers */, + 048F5327E3E0976D2D53E5A69715BF8F /* OWSFileSystem.h in Headers */, + B4BC1C6431FD5BB0BDE708DBE925C215 /* OWSFingerprint.h in Headers */, + 09EC74FEEEBA1F1778DE4B59EE6155D9 /* OWSFingerprintBuilder.h in Headers */, + 5F74E59081F6E3610BF8FA90142EB7B1 /* OWSGroupsOutputStream.h in Headers */, + 1C2C5114D730914B870F52CE0FAB64BC /* OWSHTTPSecurityPolicy.h in Headers */, + 5457B8BAA6D3163530FEE435FC4E4222 /* OWSIdentityManager.h in Headers */, + 142B3A0719497DB6ED6780F89E51278B /* OWSIncomingMessageFinder.h in Headers */, + 3A9E6883D65DC5FECE2DD29E71E31776 /* OWSIncomingSentMessageTranscript.h in Headers */, + 085C797FC5C73FDB024DEC213A0A4F9B /* OWSIncompleteCallsJob.h in Headers */, + 8AA1B493A951BEE5F7470A87F92E31E6 /* OWSLinkedDeviceReadReceipt.h in Headers */, + 1CE340D9702F97B39BD7FECEDDBFE6CB /* OWSMath.h in Headers */, + E42E0FD5CFF32D4010B6730067414600 /* OWSMediaGalleryFinder.h in Headers */, + 90EDF5F6593706E520210DCA397BC470 /* OWSMessageDecrypter.h in Headers */, + 52B25CED0665CF347604732E81F8EF52 /* OWSMessageHandler.h in Headers */, + 096FECCB166373FDB285E20CC088588D /* OWSMessageManager.h in Headers */, + 62C7452005FE0FF4683BF94CC562589A /* OWSMessageReceiver.h in Headers */, + EBD686621138B0BA88CF22EEB0CB40F6 /* OWSMessageSender.h in Headers */, + 0342749DE54F6612E98265548F6322AE /* OWSMessageServiceParams.h in Headers */, + 416B62EE39C9A1D0008140BBB0BDD2D7 /* OWSMessageUtils.h in Headers */, + FC1D744F401EA05A255133F6FE2AA290 /* OWSOperation.h in Headers */, + B3EBADE9C968BF4B8E59994C87E1D674 /* OWSOutgoingCallMessage.h in Headers */, + C9CD401E32989FCFF030CB4D4164D94C /* OWSOutgoingNullMessage.h in Headers */, + FFF07F859063B39F2DBBDC04B675F04C /* OWSOutgoingReceiptManager.h in Headers */, + 99245C957366C0C50653138EB31C1BAB /* OWSOutgoingSentMessageTranscript.h in Headers */, + 575F990053E330B53395770D4ADB5E06 /* OWSOutgoingSyncMessage.h in Headers */, + AFFC2AD1A83CF916CC45DF06B22C91CB /* OWSPrimaryStorage+Calling.h in Headers */, + 6EB986C411D8372DD782C62137678DA3 /* OWSPrimaryStorage+keyFromIntLong.h in Headers */, + E043580CBD054B4702346E865FF906A7 /* OWSPrimaryStorage+Loki.h in Headers */, + C952D0F39C962A78D8B6CDE3892E9A83 /* OWSPrimaryStorage+PreKeyStore.h in Headers */, + B20AAC4B30263CB8B09E309D97311CA8 /* OWSPrimaryStorage+SessionStore.h in Headers */, + EA923E0695860E75306599ED5C531EAF /* OWSPrimaryStorage+SignedPreKeyStore.h in Headers */, + 3BAA852F20E8D2B829E22BFF019FD1C9 /* OWSPrimaryStorage.h in Headers */, + D8F4937DE61C1E8A2DAEC120B5255E69 /* OWSProfileKeyMessage.h in Headers */, + 3E3A66846749F59B9082B297DC9E6F05 /* OWSProvisioningCipher.h in Headers */, + 15FFFD73E87B94CD5F141F4B10652CA1 /* OWSProvisioningMessage.h in Headers */, + 480891736641040829DA45BE1AA3ECBA /* OWSQueues.h in Headers */, + 534104B47223247F4BAE94890114A5CA /* OWSReadReceiptManager.h in Headers */, + FA2D86C3FDD4D998B17C033A67F052BF /* OWSReadReceiptsForLinkedDevicesMessage.h in Headers */, + 8661B92686FFDF4A779CA297731DC60A /* OWSReadTracking.h in Headers */, + F7DD1F4E731AF8A6657BC1FF675F6990 /* OWSReceiptsForSenderMessage.h in Headers */, + 5507A43938D6172C82718D0556CA13C5 /* OWSRecipientIdentity.h in Headers */, + 032EDEACDFDC1AD052C91B520F90920F /* OWSRecordTranscriptJob.h in Headers */, + 41FCE6BBB0A500A6516A4B029D23045A /* OWSRequestBuilder.h in Headers */, + 8CD870505FE3F21A2EC2D1DAFFA9D5D9 /* OWSRequestFactory.h in Headers */, + 97562F1E60AAA1A98A7B8CC7D42E0F6D /* OWSSignalService.h in Headers */, + C1C5DA8A0E6BF71CED02DCB6529FFA00 /* OWSStorage+Subclass.h in Headers */, + 5AC2C5D3D1EEAB82C5457D5D27302BA3 /* OWSStorage.h in Headers */, + 2C30A45371CC5E4C12C0C34BCC735F43 /* OWSSyncConfigurationMessage.h in Headers */, + 690299E707E396AC3B1C8A16CE558B04 /* OWSSyncContactsMessage.h in Headers */, + AC53E47DAEAC053C39F7ED7893C9CB60 /* OWSSyncGroupsMessage.h in Headers */, + FF6E14EB90B2C528D17FD9DC6CABC744 /* OWSSyncGroupsRequestMessage.h in Headers */, + 2C7339317387427956DF6492864C2D76 /* OWSSyncManagerProtocol.h in Headers */, + 29B7484508598B7E43B63EDEB364B15A /* OWSUnknownContactBlockOfferMessage.h in Headers */, + 375911E93B09DD7DD073F54521FFD437 /* OWSUploadOperation.h in Headers */, + 80D17808ACA3E0510FE476B62B3DE37B /* OWSVerificationStateChangeMessage.h in Headers */, + 8EDA2ABC6D04A31E34AB5F4678780316 /* OWSVerificationStateSyncMessage.h in Headers */, + 572DD17485D28ACD9E7A7A7C0EC69570 /* OWSWebSocket.h in Headers */, + 8CECC75C8A0186B2E5BB0A920821CA21 /* PhoneNumber.h in Headers */, + 86C78DD0DC104061B5D96CAF58EE68BB /* PhoneNumberUtil.h in Headers */, + FDB572852E1856FF0DA8B4E6A344C7A8 /* PreKeyBundle+jsonDict.h in Headers */, + D8D49884A744166386DE9514B6D73182 /* ProfileManagerProtocol.h in Headers */, + 32F28F27E51826183D8AF43AF1545D13 /* ProtoUtils.h in Headers */, + BBB29A0384E00ADB86A3A79737EC2753 /* SignalAccount.h in Headers */, + 58B9D6752671120D285C80B11DF0CD11 /* SignalRecipient.h in Headers */, + A5B8BDC21F0CE97B523171291764E849 /* SignalServiceKit-umbrella.h in Headers */, + 170A830198919CCCFFE4434AFF7C0AE6 /* SignalServiceKit.h in Headers */, + DF782C00A9C5F771B5A5894B65B1556F /* SSKAsserts.h in Headers */, + D57E177007F4BF455841836B87F61342 /* SSKEnvironment.h in Headers */, + 35AA5783D5D3D21F648EF8C4B77E4A90 /* SSKJobRecord.h in Headers */, + 43DDA0938F99EBBE54F9EFEA4781877D /* SSKMessageSenderJobRecord.h in Headers */, + CDB77D5CF987CE8E5D224E1855A47EDE /* TestAppContext.h in Headers */, + 50C93FFABEF3F6EF567282F445D7AF7F /* TSAccountManager.h in Headers */, + 76B7CBEE0FA698FF146F0A8584E2A7E9 /* TSAttachment.h in Headers */, + 7677BD28E16A85115D2C8CBBEDA84108 /* TSAttachmentPointer.h in Headers */, + 36BBF69E6275EFDE9313CE16CC53FB56 /* TSAttachmentStream.h in Headers */, + 6F04C13F4949A857DD6BF97752CA609B /* TSCall.h in Headers */, + 663AEFC5588CEB8C5970050AC4FB39EC /* TSConstants.h in Headers */, + 833A8D57F8A49BA27A47557A624B33B2 /* TSContactThread.h in Headers */, + 3A539B42D025B637A7949910462DC70C /* TSDatabaseSecondaryIndexes.h in Headers */, + B7BDC8C8D171789F89BF9E52C534FFB2 /* TSDatabaseView.h in Headers */, + 548DF8E90E35F70DA588B43FFD2C871F /* TSErrorMessage.h in Headers */, + AFFC58327D88DF32BC93BE892D91A5DD /* TSErrorMessage_privateConstructor.h in Headers */, + EEBB6ABFC0EF9D098723553190B63432 /* TSGroupModel.h in Headers */, + A48F679AE5FF079FBD34C7E817E7B7D3 /* TSGroupThread.h in Headers */, + 258DE0132FD836457C188631D8A588B9 /* TSIncomingMessage.h in Headers */, + E9AC70A614D2AB12CAB65E74210E6496 /* TSInfoMessage.h in Headers */, + 041E1E685C0E332E8C3CCA17F176AE8C /* TSInteraction.h in Headers */, + 008F1F2714FFE991D00D6C18197A19E9 /* TSInvalidIdentityKeyErrorMessage.h in Headers */, + A061CE1B11B8EE089696C70A7D973153 /* TSInvalidIdentityKeyReceivingErrorMessage.h in Headers */, + 59969F699A82E9094797585B6F5532EC /* TSInvalidIdentityKeySendingErrorMessage.h in Headers */, + 4A3A5699CF4F0CAFE235A2F87757261A /* TSMessage.h in Headers */, + FBD7A001D1D66289A001E660392991EA /* TSNetworkManager.h in Headers */, + 87340A7D12BA9398A74B8EF0C2EFE4A6 /* TSOutgoingMessage.h in Headers */, + 5A419F74B707ACB3D5192581087F7A1A /* TSPrefix.h in Headers */, + 77656EC138042AEF8AE5530666EA8DCE /* TSPreKeyManager.h in Headers */, + 45DEEA43232E3B725C3FB069706F8A5C /* TSQuotedMessage.h in Headers */, + 2C899014062E778FECEF439EA937A641 /* TSRequest.h in Headers */, + B80115BC98BF5B9DFA5E365F3C7ACB3B /* TSSocketManager.h in Headers */, + 0865BDB70969A8D08943794A0F2C9DA2 /* TSStorageHeaders.h in Headers */, + 34B3911228733B11437F3D383687FBD5 /* TSStorageKeys.h in Headers */, + C5DD69798967464178018858D24D7B3F /* TSThread.h in Headers */, + 4E0476D20491FA0F3A45E1EC1E3165DF /* TSYapDatabaseObject.h in Headers */, + 2E5F64A6A60C696DF14634E2F7E49158 /* UIImage+OWS.h in Headers */, + 6E456CD19A596EF131347FCCC9E05F31 /* YapDatabaseConnection+OWS.h in Headers */, + 47036A6A9D7FFBCA858E676DD4AE3D1C /* YapDatabaseTransaction+OWS.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4B7C76C876E0F3B69060508020E74730 /* Headers */ = { + 6ACF6627ED9F2C0FFFE2C9EE938EF3C3 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 92EF56278A123548624E23163CCF4573 /* libPhoneNumber-iOS-umbrella.h in Headers */, - E1D2BB74526D12CBCB90C71AE6596221 /* NBAsYouTypeFormatter.h in Headers */, - 45277AFA4F82BB6B4E3923F7CF832AB5 /* NBGeneratedPhoneNumberMetaData.h in Headers */, - 4D4E5076A407349EB83F44BD7F4A05A4 /* NBMetadataHelper.h in Headers */, - 91523D93A146C805C98DF1C124EB7BFA /* NBNumberFormat.h in Headers */, - AAC503E540DB11768D2AEA3DF193BF41 /* NBPhoneMetaData.h in Headers */, - 938D145A58B2110E3C05128B68B5EFB4 /* NBPhoneNumber.h in Headers */, - EB6C5A84CD11D09743914A2E04086BF9 /* NBPhoneNumberDefines.h in Headers */, - 9DB781092F5C462FAB225009786FA1D9 /* NBPhoneNumberDesc.h in Headers */, - 160E5CED067C72797B153BFEF48934A9 /* NBPhoneNumberUtil.h in Headers */, - B80499CBB73CE621BA5BFC828DB9E0DF /* NSArray+NBAdditions.h in Headers */, + F4D41049D98E3B8DEF6B41E06AA0AE77 /* NVActivityIndicatorView-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 58D9DCA0B2B90B71448DB524486D19FB /* Headers */ = { + 6B13163BBEECEEF8BCBFB1876C9583A9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D484522977FC6563BA50A19A26320E80 /* GoogleUtilities-umbrella.h in Headers */, - 9DF64EB66291B7E78E090FB602DCA994 /* GULAppEnvironmentUtil.h in Headers */, - 1FD10CE4BC7F221B2CE123A93FBC8821 /* GULLogger.h in Headers */, - E9DCD30261F73CFF6AE1C7CAF3B863BD /* GULLoggerLevel.h in Headers */, + 023308D5732FE55F04B73375448A3CC7 /* api.h in Headers */, + 1DDD1D4BFB27720DF5BE2EEAEE562403 /* base.h in Headers */, + 7DF763E7FDF137791E4FF1774B8EECBC /* base2.h in Headers */, + E308E896A992EED46869188502363389 /* compare.h in Headers */, + F952EA6F87D9EA5442AF36737F08E372 /* crypto_hash_sha512.h in Headers */, + A4A866362F04D30D48E382DB021F3933 /* crypto_int32.h in Headers */, + B4D1ACD5E6C444E6052CDA0F03F8B510 /* crypto_int64.h in Headers */, + F70317FC7BA8D0277BD748C3864FDDCE /* crypto_sign.h in Headers */, + 6B3B725C232555A679EB3A975FD110DD /* crypto_sign_edwards25519sha512batch.h in Headers */, + D94A4B27B3A6809437AD7140DCA120F7 /* crypto_uint32.h in Headers */, + 37C5CCFFFA2CAB6AA6EEF67DE09324C8 /* crypto_uint64.h in Headers */, + 0DE486E3B40A8144CEDD402597C695E3 /* crypto_verify_32.h in Headers */, + D10F5A07ACB8D8FAB1148EC6CF2860E2 /* Curve25519.h in Headers */, + 43B90518ECD3A4BF1D63B4D54EA43FD0 /* Curve25519Kit-umbrella.h in Headers */, + B60A6318C7F01FE5060A8D2E3B7D734E /* Curve25519Kit.h in Headers */, + 45D31CBFA4CC752F22AC85B340A0E014 /* curve_sigs.h in Headers */, + 8444B018232802C4481B6D4FDBF56ABE /* d.h in Headers */, + C01484CD0C9A52945D259D6F187BA263 /* d2.h in Headers */, + 94AD3C13A2F624C5D747A053E22B8BFE /* Ed25519.h in Headers */, + 938392BAFC2CD157B78982A4B270F0C2 /* fe.h in Headers */, + 5B27B68DA8C6EEB1A9D731899C80011B /* ge.h in Headers */, + 00FE33956622BF281F328044A37AF7DD /* ge_add.h in Headers */, + 77324BAC3189803E23B3845E24FC6BD0 /* ge_madd.h in Headers */, + F4FBEB2FDD00D95FF1E403765ED068B3 /* ge_msub.h in Headers */, + 5D6172A00F6B0B5D628AEAFC5E3AEF85 /* ge_p2_dbl.h in Headers */, + F091BB05888C053B271D8A97EBF3416E /* ge_sub.h in Headers */, + 3C4177751AC8D5F77E3A39DBA9891A89 /* pow22523.h in Headers */, + ADEE10B4B6AF3540A9396A4FFAB4576E /* pow225521.h in Headers */, + A55DD7AC9A37604F6E14B3DE3260618C /* sc.h in Headers */, + BA065B20CF7880097BC926726690DDA3 /* sqrtm1.h in Headers */, + 61D2BE77ECBA7938433575BE940E7958 /* zeroize.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 58D9E77E3354DEDF7C1F7455A143E5BA /* Headers */ = { + 713F61D9BF20B428F55305F6222541D9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E4356A671908B9642E628F80E6748240 /* Starscream-umbrella.h in Headers */, + E6539E548474CD75789F382280517308 /* SQLCipher-umbrella.h in Headers */, + 9F447E6C142ED218AAEA6514687139A8 /* sqlite3.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5B68627D930C2717BB60BFB093E6A947 /* Headers */ = { + 7910CAE3A0E0E77CF5110960340EB0DD /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 86CF664AA50A777CA5F0248CD26329CC /* _MPTweakBindObserver.h in Headers */, - 9B19AF2EDCCCAE98A1EFB530661AC464 /* AutomaticEvents.h in Headers */, - 86EB77AD39E694C4BAD5AF2F67C7FBED /* AutomaticTracksConstants.h in Headers */, - 420B9030485A546652445A9EA7493929 /* Mixpanel+AutomaticTracks.h in Headers */, - 0C18D29CBCF5335EA8389706DD8D493B /* Mixpanel-umbrella.h in Headers */, - 45C6442FD2A6449B895CFAE0516B1783 /* Mixpanel.h in Headers */, - 2265304963C66DB53A370701120977B4 /* MixpanelExceptionHandler.h in Headers */, - BB1FDA70393C3A1011B4841AF584B75E /* MixpanelGroup.h in Headers */, - F50B5EBB7AC141AB88F26A2599C04A56 /* MixpanelGroupPrivate.h in Headers */, - 6D8AC43977D248FECD2AFD25FCFC2C7D /* MixpanelPeople.h in Headers */, - 99ABBCC8DDDF9B305034872627FB250A /* MixpanelPeoplePrivate.h in Headers */, - 36C1143E8F2AFF748E398682F055913D /* MixpanelPrivate.h in Headers */, - 55DC059CE5020E244CB1965AC20524FA /* MixpanelType.h in Headers */, - B053663A850F37879C92FC72F6C7F7A9 /* MPAbstractABTestDesignerMessage.h in Headers */, - E28BAFC5E0F277A9921F437C2CE72017 /* MPABTestDesignerChangeRequestMessage.h in Headers */, - 2B985828C28D3A13C0DC59B9F156C3D3 /* MPABTestDesignerChangeResponseMessage.h in Headers */, - A3BF5E794883E74CBAB111FF0CD7A2EF /* MPABTestDesignerClearRequestMessage.h in Headers */, - F49A358FFAFF68AE9DBB08B49559965B /* MPABTestDesignerClearResponseMessage.h in Headers */, - 60553E219CA34C04F25D8337DE728EBB /* MPABTestDesignerConnection.h in Headers */, - 1218E7F24984D7F8ABF64BD9C23188EA /* MPABTestDesignerDeviceInfoRequestMessage.h in Headers */, - FA41D24C1922302FEBE47139CD048DD2 /* MPABTestDesignerDeviceInfoResponseMessage.h in Headers */, - E1186D63918965A59ABD7C3190CDD7AB /* MPABTestDesignerDisconnectMessage.h in Headers */, - C84BB8DD3BAE58B5F6D9344958243061 /* MPABTestDesignerMessage.h in Headers */, - DAAED852A8A34EAB28683DB29CFDCF21 /* MPABTestDesignerSnapshotRequestMessage.h in Headers */, - B9536B45AB023E160A9B394D98686681 /* MPABTestDesignerSnapshotResponseMessage.h in Headers */, - 96DB288F22C12B5B1B8B4C8BDC7DCB94 /* MPABTestDesignerTweakRequestMessage.h in Headers */, - 4B3918447D1249DF4FE328FB1C1594F3 /* MPABTestDesignerTweakResponseMessage.h in Headers */, - DE8A4F3C3627FC39DAC28212F4DA8308 /* MPApplicationStateSerializer.h in Headers */, - 7A4C198ADB2F3885E58435F02FDDBFED /* MPClassDescription.h in Headers */, - 4DF972A069298A20734C2995C67AAD9F /* MPConnectIntegrations.h in Headers */, - 090361BEBF8A9B744EEDBBF94B208995 /* MPDesignerEventBindingMessage.h in Headers */, - 62F2D280434DE1E1448A4355AA4047F1 /* MPDesignerSessionCollection.h in Headers */, - 4247881D2FEE358E3899FA9E077B4EFF /* MPDisplayTrigger.h in Headers */, - 09BBF5B4766C86C5D4CF0E6A40E2FC20 /* MPEnumDescription.h in Headers */, - EDD8F34E56E9A3C1C8BAB41BE077A10A /* MPEventBinding.h in Headers */, - 193E85596FBDAA6C6E73794C622A0F9D /* MPFoundation.h in Headers */, - 929C97E867F51CE5B27D9A8B72969F6E /* MPLogger.h in Headers */, - CE83AFAB4F71A3206DA191F4F34FEE4A /* MPMiniNotification.h in Headers */, - F891A7203D08B64849CE832C3E8220CF /* MPNetwork.h in Headers */, - EAAE1D7B90FB48ED29C3850B5ED659DE /* MPNetworkPrivate.h in Headers */, - 3B7835A4532D800337AD4216038A928C /* MPNotification.h in Headers */, - 45C76C7292C551CC6039A9AD6D150F07 /* MPNotificationButton.h in Headers */, - 71A9DCAB6AFE677CC5EF34DC08FA5577 /* MPNotificationViewController.h in Headers */, - 5495B42D01C9879457E9B30EECB63571 /* MPObjectIdentifierProvider.h in Headers */, - 73795840942999999F10C4E3DB3A6448 /* MPObjectIdentityProvider.h in Headers */, - B26B2B854AD8612B67486C7A2DC650E6 /* MPObjectSelector.h in Headers */, - F1DDFE0A6799FEF2C8661809D3774396 /* MPObjectSerializer.h in Headers */, - 8749EADFD7A3225C2049AFEB319934A9 /* MPObjectSerializerConfig.h in Headers */, - A6EF6FEDF4FD1B84786B8DD65A70CFE5 /* MPObjectSerializerContext.h in Headers */, - 99C0A4616473DB9614AC23BC61FDF3EA /* MPPropertyDescription.h in Headers */, - 8F6E66B54889E62539ECA0F8860899B3 /* MPResources.h in Headers */, - 5E32D7B8591833B65D8828DD15125C7E /* MPSequenceGenerator.h in Headers */, - 7054183F627EE6C51195CFDBFFAE3BF8 /* MPSwizzle.h in Headers */, - 78AE497CF54737F0AF70F2087DEF9CBF /* MPSwizzler.h in Headers */, - 67A823B56E9580432EC927E6DF2555DE /* MPTakeoverNotification.h in Headers */, - 85A4F97903C6CA5F90E295146B24F893 /* MPTweak.h in Headers */, - 6F04C3047DD210C11F99E2D540D591DD /* MPTweakInline.h in Headers */, - F9CB57273063BD0A8185AEA01CE27092 /* MPTweakInlineInternal.h in Headers */, - 9650FB4F76FB8242FA56F9192596014F /* MPTweakStore.h in Headers */, - 8744BBEA4E70F9F97E7A66C5BA9AB7C2 /* MPTypeDescription.h in Headers */, - 62DBF8AFF1CB7FFF8FDEE114DB38A0B4 /* MPUIControlBinding.h in Headers */, - A2F078A558BB01FAA4B8F09D067436E0 /* MPUITableViewBinding.h in Headers */, - 8F89531709B346156CECD1D3A678DE5E /* MPValueTransformers.h in Headers */, - A3670C611EA96B11F8E9AB52D2164B4E /* MPVariant.h in Headers */, - 880BEDB31175163AACD67A164ED41815 /* MPWebSocket.h in Headers */, - CEB9719B9DD6D797D40B466FF0637756 /* NSInvocation+MPHelpers.h in Headers */, - 1E563689078D87D1C1F0BF4E24CADCC0 /* NSNotificationCenter+AutomaticTracks.h in Headers */, - C90928FF240963AB7500A660302D8C94 /* NSThread+MPHelpers.h in Headers */, - 9A5967227638C72C8323B4109AE63139 /* SelectorEvaluator.h in Headers */, - 8EA913F4A38C87FA61C8F27B3A8C61DE /* SessionMetadata.h in Headers */, - 2A5F2E6F51AF3B9C1AD86B55C367E709 /* UIApplication+AutomaticTracks.h in Headers */, - 5036FC9DE7BB567A44D6FD21ABC35F59 /* UIColor+MPColor.h in Headers */, - 20917404AD3F1023A0BFA3DDB4B49B49 /* UIImage+MPAverageColor.h in Headers */, - C57824575C6E3BB6E4267F479A120604 /* UIImage+MPImageEffects.h in Headers */, - 424C9FAF296DFB3C7E0DD7C20A7E18DE /* UIView+MPHelpers.h in Headers */, - 10441B15751345B9C1516C2C4D3AC87E /* UIViewController+AutomaticTracks.h in Headers */, + 34FFB48FE7188E78BCB84B8B5BDBFD51 /* AFAutoPurgingImageCache.h in Headers */, + F1982DEBA525510C7049B2BB6BC22FE7 /* AFCompatibilityMacros.h in Headers */, + 965628DF1070A5FCB39D0BB9C3E7A8E2 /* AFHTTPSessionManager.h in Headers */, + E7B9EC5B9F12A3F7562A72CC6D02E2BA /* AFImageDownloader.h in Headers */, + FF3FC40958D31C85EFA05AB178FC599B /* AFNetworkActivityIndicatorManager.h in Headers */, + 9DE28248E62083A5D943D739D2105622 /* AFNetworking-umbrella.h in Headers */, + 0CE5AC0DD30EA374F889D052B8F22FC3 /* AFNetworking.h in Headers */, + 57509AE006EBAD38CFE9CF9793BB14E5 /* AFNetworkReachabilityManager.h in Headers */, + A3368EA6DA0C8F8BDFC7005613787365 /* AFSecurityPolicy.h in Headers */, + D15BB59A9608B66B728FE210D442C7D4 /* AFURLRequestSerialization.h in Headers */, + 933E18ED1E985C11E9B78326493F098A /* AFURLResponseSerialization.h in Headers */, + 129D2A999C9489829391213634434DD3 /* AFURLSessionManager.h in Headers */, + 05E46A74FA8357FA24DCD70731FEAB52 /* UIActivityIndicatorView+AFNetworking.h in Headers */, + FCAD5BA21802271698AFBF002DAC0846 /* UIButton+AFNetworking.h in Headers */, + C91BF9A4723CDF2D0FEE1F18CECC6959 /* UIImage+AFNetworking.h in Headers */, + B408A174AB66EACC83F1E99818BA4ED4 /* UIImageView+AFNetworking.h in Headers */, + 0CA4020866FCF47572154D21CD28A591 /* UIKit+AFNetworking.h in Headers */, + 1711F7DCE0F67734899E77A8D10C692E /* UIProgressView+AFNetworking.h in Headers */, + 874760B9473C6B8AD8ACE495D144AB5F /* UIRefreshControl+AFNetworking.h in Headers */, + 17B67AA89821D76CAFDA980A98D05F1D /* UIWebView+AFNetworking.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 733E61412BE6D9DFA1F4DCDD96FA8625 /* Headers */ = { + 8465367DD9938C108AFA047DB8CDBA0E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2C68046B30466B9B322587D194326A8C /* Reachability-umbrella.h in Headers */, - 74A636846A4AF65CFF43F96AEE8E74BB /* Reachability.h in Headers */, + B2A5AD5A9A7391B5A21C9DFC69A66203 /* FIRAnalyticsConfiguration.h in Headers */, + 76F498E48E3A52EBE7CFBA54C235E2EC /* FIRApp.h in Headers */, + 919405063BFD3A14A504D9009BF87C3B /* FIRAppAssociationRegistration.h in Headers */, + D0C31EDD00DF589A0D8D7F08F8FA141C /* FIRAppInternal.h in Headers */, + A841D54D00F615E5679C0FA8F57CC006 /* FIRBundleUtil.h in Headers */, + 61C1E459F2712B690D798F3299452437 /* FIRComponent.h in Headers */, + 849D3E177C95D1C0FC04EF86A36BBDA5 /* FIRComponentContainer.h in Headers */, + DA957A21828D74E91BEDAD79700E9792 /* FIRComponentContainerInternal.h in Headers */, + 08EB1DE97CD0CE5811E883A652D586F4 /* FIRComponentType.h in Headers */, + 1E29C5EB8FBC2EA55BDF5623E89E92DD /* FIRConfiguration.h in Headers */, + 7FEAF35459725331F31950BF0FA664FA /* FIRConfigurationInternal.h in Headers */, + 4B24F9FB4779CEB032BA04D18626E73E /* FIRDependency.h in Headers */, + 4C1A160BC285553B4421C72ACB12A1FC /* FirebaseCore-umbrella.h in Headers */, + 17293A2016A2C2951F63AA8A115AF1E4 /* FirebaseCore.h in Headers */, + E4AE972DE6C4397B324B48A9A061B74F /* FIRErrorCode.h in Headers */, + A201FB2AA05304713E8E2187E853C239 /* FIRErrors.h in Headers */, + 9DA7113A39380ADE11EAFAE677F2AD7F /* FIRLibrary.h in Headers */, + 9D6A43817AF37261842820DCF61290EA /* FIRLogger.h in Headers */, + 9596EEDA38BBD899FFEB9447FF4F98E8 /* FIRLoggerLevel.h in Headers */, + F0459729D4A43F16D11A9045F94965C9 /* FIROptions.h in Headers */, + B61ED8411E15D34D40D1FFF4D545CE9E /* FIROptionsInternal.h in Headers */, + 5C632CECD4BDBAE88F9156162816E057 /* FIRVersion.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7DD2C8CEF9D73244F796C6E6F7088AEA /* Headers */ = { + 8FA6032A69C2B94503B10D7AC05562DA /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A430F36E2F60E588F8D4AE053EAF28D7 /* SQLCipher-umbrella.h in Headers */, - 8438BE6F820D0244DEE6BD12A9320F3A /* sqlite3.h in Headers */, + A8CE2C4248B320A4CC4AD403235BDD6D /* CryptoSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 86321CBD1319C9E1959AE688E02F393E /* Headers */ = { + 98C25EE831777B7682D6BD4C31717F40 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 04A9993DE876A3729D5434F04FDDE4BB /* YYAnimatedImageView.h in Headers */, - DFE14956CCA31C5D10710679A5CB2E39 /* YYFrameImage.h in Headers */, - C2D7F8A6E0E358992B2090CC10D93010 /* YYImage-umbrella.h in Headers */, - B9136D7D323E930BBE6E110724991673 /* YYImage.h in Headers */, - 2F87353A26C019FF7B13E121E8242FB7 /* YYImageCoder.h in Headers */, - 6CAFF783B269D2DCBEBD76EA1DFB3A4A /* YYSpriteSheetImage.h in Headers */, + 46EF3D44340873F24A8A78748B962739 /* FeedKit-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8905E190EADC71B6C4855979B847C4EC /* Headers */ = { + 9F43CD504BB057A1D399CDCB3AE01F48 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 52C1C250DBAF40E63F1C06EC89A3C774 /* ECKeyPair+ECKeyPairTesting.h in Headers */, + 8EAB5F05FFA80B1F656C58D5EA9C22E5 /* Pods-SignalMessaging-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 94EE2C54291EF96BFF5268B2C504AEA0 /* Headers */ = { + A2565E54E19AEB6D2BB7AE780084D5F2 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3CFA746848B110F47E98DF9ECBE0F865 /* AppContext.h in Headers */, - B88847C323E2A66C009836D2 /* LKSessionRequestMessage.h in Headers */, - ADB395D602D57725297B03B227868811 /* AppReadiness.h in Headers */, - CCF80FD728B05B7ACDDCF95A169EDE51 /* AppVersion.h in Headers */, - B5A56E318D0D4A05BCECBE27D4A38E09 /* ByteParser.h in Headers */, - FFB0DD3AF8C3A1F9DBDFADD4B97C2E0F /* CDSQuote.h in Headers */, - C46F713417828F97201D8E745C369D47 /* CDSSigningCertificate.h in Headers */, - 45E1E7127EF8C0979F515EE238F0E9FE /* Contact.h in Headers */, - 576328DE7C776DDDF7F4E5EF55DBE49A /* ContactDiscoveryService.h in Headers */, - AFB8BE1442C8C750A33E5393B3DD5438 /* ContactsManagerProtocol.h in Headers */, - 7659F8C178314E556C776E373D966190 /* ContactsUpdater.h in Headers */, - A236DA1C7ADFE656E8F884FBFBB6F450 /* DataSource.h in Headers */, - EA81F58431386D2CCA47C13C07476CC0 /* FunctionalUtil.h in Headers */, - F69CB46B5176252EC0D4BCD7C4A03D1C /* LKAddressMessage.h in Headers */, - C8DA0DD97B420B8E96A3D040D2920306 /* LKDeviceLinkMessage.h in Headers */, - 49C388F13023FC015BFA1CBE54BD96FD /* LKEphemeralMessage.h in Headers */, - 6EDA64AB9EC8C4D2D0B547F2B1E4E56B /* LKFriendRequestMessage.h in Headers */, - B836BFCB23DA6B50002C86A0 /* LKSessionRestoreMessage.h in Headers */, - 768FFF06AC7B39DFDB27675FEBB27A2A /* MIMETypeUtil.h in Headers */, - CFF2687B6D7544E3CEECC4BD6587734B /* MockSSKEnvironment.h in Headers */, - 1E095D3A77245795EA86AEB69AC9B382 /* NotificationsProtocol.h in Headers */, - 436EBD6191619DFA639E511294DAB6A3 /* NSArray+Functional.h in Headers */, - 90D9E568E7E2A7D3FDDCADAA47EAF955 /* NSArray+OWS.h in Headers */, - 5EB2677DEAFF3C4112709E4B615020A2 /* NSData+Image.h in Headers */, - 35520DB24A6EA1075EFCA6E54325A621 /* NSError+MessageSending.h in Headers */, - 89CDD47D9BBEABD12773841B0B50F614 /* NSNotificationCenter+OWS.h in Headers */, - E05727D0701FE2907D3665B21F71DE91 /* NSObject+Casting.h in Headers */, - BEFA3344B160425F9A5D49428001EBBD /* NSString+SSK.h in Headers */, - 09CEBDA8C3310E18A40C98109087D8DC /* NSTimer+OWS.h in Headers */, - C69490B4BB1DC758C4DA54A6E901EFF9 /* NSURLSessionDataTask+StatusCode.h in Headers */, - 68F24546CBBD00A8617FB94D743B805F /* NSUserDefaults+OWS.h in Headers */, - F3630852617DF3009104B27A5476C107 /* OWS2FAManager.h in Headers */, - 943D6711D75BD790291C3E16563BCB9F /* OWSAddToContactsOfferMessage.h in Headers */, - DDA424AE441EA706830B12217DF39643 /* OWSAddToProfileWhitelistOfferMessage.h in Headers */, - E7DA48CF7F7884690EE9E976911F820D /* OWSAnalytics.h in Headers */, - 495164DB39B07D3021BC769DEB803AE8 /* OWSAnalyticsEvents.h in Headers */, - C03DFD98417FDA44D031862B94E1265C /* OWSAttachmentDownloads.h in Headers */, - 80284C91D8DA38A67316A4A8AF95175C /* OWSBackgroundTask.h in Headers */, - 8ED289ED285870D8F9AD4F8C1C99C68B /* OWSBackupFragment.h in Headers */, - D359A88A749CD9BE369FE866CACF1B6E /* OWSBatchMessageProcessor.h in Headers */, - 99B5F1C80DF8BAAC06657FC2B6E02019 /* OWSBlockedPhoneNumbersMessage.h in Headers */, - 2E0FA2ADE4A3D7F7CA65C927582B8502 /* OWSBlockingManager.h in Headers */, - 61E66E5CF790905620147609AB81A8B6 /* OWSCallMessageHandler.h in Headers */, - 1C8650185B76388F349A62E1027E1DCF /* OWSCensorshipConfiguration.h in Headers */, - 761BE8E82D412E26F76221EFDAA1FF22 /* OWSChunkedOutputStream.h in Headers */, - 9C8F1FD5CC72E170D56EA5437A778CB9 /* OWSContact+Private.h in Headers */, - D94867C2F4D7C570737B019D98F0276C /* OWSContact.h in Headers */, - B26F17A364D5E796C92A6ED9A558D166 /* OWSContactsOutputStream.h in Headers */, - 30AF3331ECE7BD7AA0BDA90FBEC5E80A /* OWSCountryMetadata.h in Headers */, - 4C16DC8853AA388B3E45640797DC7D55 /* OWSDevice.h in Headers */, - 51A59CE2ADFF6506E7E1AD68A00FFCC0 /* OWSDeviceProvisioner.h in Headers */, - 037C161A094023B291ED52F3677E298B /* OWSDeviceProvisioningCodeService.h in Headers */, - E346A754A0510FB810781F04AAFB36D0 /* OWSDeviceProvisioningService.h in Headers */, - A2872514A14E3BE3EDA033729DA9D60E /* OWSDevicesService.h in Headers */, - 96527A5A692F49DC97073F8271AAD9EA /* OWSDisappearingConfigurationUpdateInfoMessage.h in Headers */, - 40688AAEBF3613E2B9EE466127CBDC03 /* OWSDisappearingMessagesConfiguration.h in Headers */, - AED530237F60F180E1533CD8CA46BAF8 /* OWSDisappearingMessagesConfigurationMessage.h in Headers */, - 005358F249D0FF85D084F159F5278D17 /* OWSDisappearingMessagesFinder.h in Headers */, - E98B10866D222F5700BBF54A1E96F1B4 /* OWSDisappearingMessagesJob.h in Headers */, - C32A5B8B2408BD1E00A1BA52 /* LKSyncOpenGroupsMessage.h in Headers */, - 72A86626C5DC00D43706C26390F02CBC /* OWSDispatch.h in Headers */, - 67ABDBF3214D63DDD8DA2A225CF8769A /* OWSDynamicOutgoingMessage.h in Headers */, - 1692D648F57F02C7277A6259ABB487A1 /* OWSEndSessionMessage.h in Headers */, - 51AE67F4E1D6F575EE964162BD3FFCA7 /* OWSError.h in Headers */, - 1ED03FEE1677BF010755E12A2F476FB6 /* OWSFailedAttachmentDownloadsJob.h in Headers */, - CBB415901A265DE1F30C2F446E52779A /* OWSFailedMessagesJob.h in Headers */, - 0D216EE9E78DD1C8DB103CF74E0D3879 /* OWSFakeCallMessageHandler.h in Headers */, - 8C666A054756DC7452709DCA341A3743 /* OWSFakeContactsUpdater.h in Headers */, - CAD6041F34A51DC2E736C2198FA9263F /* OWSFakeMessageSender.h in Headers */, - CB60921234EFB8028A88D045F08EDEAD /* OWSFakeNetworkManager.h in Headers */, - 94181FDDCB34B52B6D84375F88C7B303 /* OWSFakeProfileManager.h in Headers */, - CE37D28E91E57087286A0EF5722A90A5 /* OWSFileSystem.h in Headers */, - 427317A6B8F8BE515B6FF988D58CA567 /* OWSFingerprint.h in Headers */, - 24A0B5596CE7413B6013478C7937DF3B /* OWSFingerprintBuilder.h in Headers */, - 2E8A786A872C574541A5F87E9330D21C /* OWSGroupsOutputStream.h in Headers */, - 1F47A44BC4806070F780EFDB6F76CDD1 /* OWSHTTPSecurityPolicy.h in Headers */, - 812267A093D5568F829AB1AC9F8BB1E8 /* OWSIdentityManager.h in Headers */, - 59ECA4845286B6FD6ECD6336829E83A7 /* OWSIncomingMessageFinder.h in Headers */, - AC3C17B36133F77FBD84BE324E60376D /* OWSIncomingSentMessageTranscript.h in Headers */, - 2E7D95749F7A0094099DF30AF7ED8C21 /* OWSIncompleteCallsJob.h in Headers */, - E2E004A07DA8250A84EC3E63495F9CCF /* OWSLinkedDeviceReadReceipt.h in Headers */, - F870605CC7DFECC92EF50F8700AA93D8 /* OWSMath.h in Headers */, - 3D21D218E08950A3BB84B80C9C98FBA6 /* OWSMediaGalleryFinder.h in Headers */, - D3949AF4789A8985BD7DC62BF7C4E9C3 /* OWSMessageDecrypter.h in Headers */, - BBFB50C9899AC05A6977B3894B8B6230 /* OWSMessageHandler.h in Headers */, - 8577F1AC2D6BBF3CDB10FBD65FE67A6A /* OWSMessageManager.h in Headers */, - EEA857C5B478093C07AACE77266F625C /* OWSMessageReceiver.h in Headers */, - BFBA2D00CA004A68EA09939C2774EBE4 /* OWSMessageSender.h in Headers */, - CE0D34CE7AB9355561A5483AAE958671 /* OWSMessageServiceParams.h in Headers */, - 52E2A633EBCEAF12BDBE998DEB2A056F /* OWSMessageUtils.h in Headers */, - CACC6B8E2FB9D1FD23462470C6641586 /* OWSOperation.h in Headers */, - 55FA291E8E7D10B5B4194BA24A319668 /* OWSOutgoingCallMessage.h in Headers */, - 114AF09EB7F1E1A75A152F1487FACB3C /* OWSOutgoingNullMessage.h in Headers */, - 8850F4BE7769C72D85A7C63B69BCDADA /* OWSOutgoingReceiptManager.h in Headers */, - 3145124C9185AB2DC88287D67DE2FA35 /* OWSOutgoingSentMessageTranscript.h in Headers */, - 7BC75B419A0F57A6AE74E71C32C8AB11 /* OWSOutgoingSyncMessage.h in Headers */, - 731911E64FBF41302095D8633D84D428 /* OWSPrimaryStorage+Calling.h in Headers */, - 813C4D087037B7E321EC978D778B43F3 /* OWSPrimaryStorage+keyFromIntLong.h in Headers */, - B45F4530B34A4F001E18E3C27BEAAC62 /* OWSPrimaryStorage+Loki.h in Headers */, - 4CE2063ECA934E89B6164FE31068F956 /* OWSPrimaryStorage+PreKeyStore.h in Headers */, - A7D1CCE5AEDBFD79A01F47E1B1CDBC10 /* OWSPrimaryStorage+SessionStore.h in Headers */, - AC6DB93BF4ACC7FFA0A3E019DC989FAA /* OWSPrimaryStorage+SignedPreKeyStore.h in Headers */, - DB3267E57FEE95DBB7E5AC170E148D87 /* OWSPrimaryStorage.h in Headers */, - 5D90929FEFBB61C726508BFC6FB715EA /* OWSProfileKeyMessage.h in Headers */, - 5B27EF561A29D0CDC53AF9A093BDD733 /* OWSProvisioningCipher.h in Headers */, - 73E88A90E1ACA37F881390F76AF40584 /* OWSProvisioningMessage.h in Headers */, - 36E9AAF2ED9D90E2BF20DB491F9B05E7 /* OWSQueues.h in Headers */, - A61ACCAC60B783409F3E794F4219CC57 /* OWSReadReceiptManager.h in Headers */, - B88847C023E2A5E9009836D2 /* LKGroupUtilities.h in Headers */, - 61938CDD9BB98ECF1EBD3EA966C9CE1A /* OWSReadReceiptsForLinkedDevicesMessage.h in Headers */, - C26C79925D3D468C5AAB6E03BACAAF2D /* OWSReadTracking.h in Headers */, - 6A3FCBB2486AD9D8ABB664029E8206EA /* OWSReceiptsForSenderMessage.h in Headers */, - 3AD8E7F4DA86C136B7A525D53D9E57BE /* OWSRecipientIdentity.h in Headers */, - 797599D7E3E15B156DB20D06CA8F56D7 /* OWSRecordTranscriptJob.h in Headers */, - 91D3B5158EBEBDA00A103492686B4324 /* OWSRequestBuilder.h in Headers */, - D0A9BE233284BA1E3EC475D0B869C5FF /* OWSRequestFactory.h in Headers */, - A2F3325E6B4B5ACFF6CC25A4E41200F2 /* OWSSignalService.h in Headers */, - 82A069FCD540DC4DD177C2E7EE323A8E /* OWSStorage+Subclass.h in Headers */, - F5AEC8EA0DDF9312B4C64E35A4A2C9DA /* OWSStorage.h in Headers */, - D2E69A666FEE56F03E62DF3ACDF8B796 /* OWSSyncConfigurationMessage.h in Headers */, - 7C4EBE72E88376FCF1F1E2CFA65D06B5 /* OWSSyncContactsMessage.h in Headers */, - D986B12DB0C809E952D61DBEF9603CFB /* OWSSyncGroupsMessage.h in Headers */, - 1F17BD0C006749EA46717C2A121EB0A7 /* OWSSyncGroupsRequestMessage.h in Headers */, - C2DB42203DE6BF04B7EA68371209A4DE /* OWSSyncManagerProtocol.h in Headers */, - C9FD808AE571F525CD9BB3D2DC48CFEF /* OWSUnknownContactBlockOfferMessage.h in Headers */, - 76CF8EE294BF2AC8E1659E329D5079FA /* OWSUploadOperation.h in Headers */, - C38D75882385E6E10047AF0B /* LKUnlinkDeviceMessage.h in Headers */, - 976FC42D9048BF87BDFC15D105162EDE /* OWSVerificationStateChangeMessage.h in Headers */, - 24161512E245CEC8A4C72C1BF3B2B18F /* OWSVerificationStateSyncMessage.h in Headers */, - 15A695C7573474117A6582F2306F7617 /* OWSWebSocket.h in Headers */, - 699D905B7F4A764D86B49747828D18D6 /* PhoneNumber.h in Headers */, - E7CBB40D4E6BFCAD9D2A632B7897409E /* PhoneNumberUtil.h in Headers */, - B176F37448A223F21E29D8FE617AF415 /* PreKeyBundle+jsonDict.h in Headers */, - 3E35A80A52C4173F44E28C5DDE40FE63 /* ProfileManagerProtocol.h in Headers */, - C4D7D5AA7C96EF784FDF9B33B2A14114 /* ProtoUtils.h in Headers */, - 4857BAEDCC799D53FD85DE75CF71CAA2 /* SignalAccount.h in Headers */, - 6CD3107B50D965BC208D63E25907372C /* SignalRecipient.h in Headers */, - 094D1D138C7AF31A7A97B727F9CDBC8A /* SignalServiceKit-umbrella.h in Headers */, - 0871271307EDAAB2BCA445317FECC6BB /* SignalServiceKit.h in Headers */, - 48CD5A7856C9A2AAA29027658876DAC0 /* SSKAsserts.h in Headers */, - 6572FC72FF5F06EF537783132549C36C /* SSKEnvironment.h in Headers */, - 13EB78D27FAE3E53E2CB353CE469D87C /* SSKJobRecord.h in Headers */, - 598435E20755681CCBF61B788C05DCAA /* SSKMessageSenderJobRecord.h in Headers */, - EB871C6A7B1FB695F43C2CD7731E3C82 /* TestAppContext.h in Headers */, - B4CBD000A5E5F2A3B46CF5FD549E8E35 /* TSAccountManager.h in Headers */, - 398D412FFCF0FDBD76293D15E86174B8 /* TSAttachment.h in Headers */, - 33327C0AC0037102AEF1E5D3D8E8BDE1 /* TSAttachmentPointer.h in Headers */, - 299B8BEAB9AFA099F6637E176092AE94 /* TSAttachmentStream.h in Headers */, - 4C2FE21BB8C7052C060D5DA2714332AE /* TSCall.h in Headers */, - B985302A9BB4D6DBC5C309E38608EB90 /* TSConstants.h in Headers */, - 645D3D647E419C49F1E1F6EDD870DA4E /* TSContactThread.h in Headers */, - 1A0C3411DD98AF81562E6FD24A13D007 /* TSDatabaseSecondaryIndexes.h in Headers */, - FE29C722AF7BCB8F0F75CBEF7AD003C9 /* TSDatabaseView.h in Headers */, - 188FDD7BFBE8FC351AA9119350F0A723 /* TSErrorMessage.h in Headers */, - 24DFC6463CE03814A6EA97422E10A333 /* TSErrorMessage_privateConstructor.h in Headers */, - 14FC533734F609708D1021BA54AA0B2E /* TSGroupModel.h in Headers */, - 3C4E4386ED06CEA6297BF5482C0EB6ED /* TSGroupThread.h in Headers */, - 131CDBE39F7ED691412EB383B08D8311 /* TSIncomingMessage.h in Headers */, - D9E07E4079E5ABBEB3E6A6F6DFACDBBC /* TSInfoMessage.h in Headers */, - 4A6F6CFA57F4DC3A3AD0E262E8D66775 /* TSInteraction.h in Headers */, - CAD54A2CCD16C1015A88057076825F6F /* TSInvalidIdentityKeyErrorMessage.h in Headers */, - 8E83FADAF5E399CE1EC3482ECD638948 /* TSInvalidIdentityKeyReceivingErrorMessage.h in Headers */, - 7B9968DA504DDEF410CF6C7A61ED63D6 /* TSInvalidIdentityKeySendingErrorMessage.h in Headers */, - B8DE20102345C4F60069EB06 /* NSSet+Functional.h in Headers */, - BC7AFD3263D5F64298C3133FEB65A306 /* TSMessage.h in Headers */, - 91BB3CE7DD26BE9687EE4E6CF09FF64F /* TSNetworkManager.h in Headers */, - ACF811AEACC0FACB153BCE0036A14D91 /* TSOutgoingMessage.h in Headers */, - E92958D65F748F54E2AFD378D9991ABE /* TSPrefix.h in Headers */, - 001C6F36C185FE775FF16DD7C27D45CA /* TSPreKeyManager.h in Headers */, - CE0554AF11D9CEA070ED517C9447D0F5 /* TSQuotedMessage.h in Headers */, - BC4EE0BBA6A4BE3680D1B5B624238872 /* TSRequest.h in Headers */, - E76E08ED2D03CD4EC1AB9FEFFF24524C /* TSSocketManager.h in Headers */, - 6D3EA5E5C38B133F3FCD2CC618360CFC /* TSStorageHeaders.h in Headers */, - 82BD9CD68D1D072DA31DC1046C383157 /* TSStorageKeys.h in Headers */, - 0E970EE8CCE5BAD637B454F4E9E88193 /* TSThread.h in Headers */, - D7535A497AB5BD715CB0DA661DC7FB11 /* TSYapDatabaseObject.h in Headers */, - 798F032AC1D1899F9A44C24AEBCE43C1 /* UIImage+OWS.h in Headers */, - 4A6A7AF4BADCEAB96927CAAF2D30C3EF /* YapDatabaseConnection+OWS.h in Headers */, - A4EB77E2B93A56BD09404BC6838C3A4C /* YapDatabaseTransaction+OWS.h in Headers */, + 1F72E1F0D88982F8692FA8A36E9732AC /* Pods-SignalShareExtension-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - B6440CDFBB35F11D2141CCFC413F7AD4 /* Headers */ = { + A31891D16066B97B7A04594080647008 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 790C22B7833DCF91FCEFD8BF09AF0378 /* NSData+messagePadding.h in Headers */, - C510E103CD39826245196E4E3B5B09FF /* SignalMetadataKit-umbrella.h in Headers */, - 849F16996640C2CCDE6BCEA0F64829F3 /* SMK-Bridging-Header.h in Headers */, + 820284FE4C04FA32127814C02084953F /* CLIColor.h in Headers */, + 352D1BC508739063665BFB0E3CB20049 /* CocoaLumberjack-umbrella.h in Headers */, + 5CEA02F3A651CC78B66238B7F582DC29 /* CocoaLumberjack.h in Headers */, + 39F3DF36F10FB3E436A1F2718C993B8E /* DDAbstractDatabaseLogger.h in Headers */, + 17C820B4A1B0B183F324B03D81115F2E /* DDASLLogCapture.h in Headers */, + EF916887A03D4DA5DF7829DFE7C3991F /* DDASLLogger.h in Headers */, + 063D93346FFCFC7B2D31D79D00526F35 /* DDAssertMacros.h in Headers */, + E497AF1A6813A9638DF303013B82DB64 /* DDContextFilterLogFormatter.h in Headers */, + 6730DEB7D65920CFFCBCB31386025EDE /* DDDispatchQueueLogFormatter.h in Headers */, + 47CE83304966C3B1205034692EF43C2F /* DDFileLogger+Buffering.h in Headers */, + 10BBDD90E5E987E93151FA73B301B401 /* DDFileLogger+Internal.h in Headers */, + CCBBC3E5D27CEAE437E69624C1C86D62 /* DDFileLogger.h in Headers */, + 9FB7A3DAF91F4BEDA174F4C2A96DAEE7 /* DDLegacyMacros.h in Headers */, + 50C7F4F4505D8E3135FE9CE8DF12C5BF /* DDLog+LOGV.h in Headers */, + 2F6BBFD09359D8D2C56F1677AFF52293 /* DDLog.h in Headers */, + 02F783033A641B80ECCC9489BB07986F /* DDLoggerNames.h in Headers */, + 3ADFEEDF7E0ECF5E762E2AB5912CC1BB /* DDLogMacros.h in Headers */, + 71C51CB77F9111438EC308092A4F680E /* DDMultiFormatter.h in Headers */, + 9CCFCB49B834D25B01A84AC1F62E34B5 /* DDOSLogger.h in Headers */, + E318401C2A7761029D28C409C8023489 /* DDTTYLogger.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D394062C314BC18A2983AD3AF297C1B3 /* Headers */ = { + ABF3B77958FDA244B88830C1A6F7873D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 40EAC3E7E550A8C83342C2014C5804AC /* NSDate+YapDatabase.h in Headers */, - 8A8D2D97DDB9BC88207E0176F218B5A7 /* NSDictionary+YapDatabase.h in Headers */, - 259AD3D9BBE36E6635F0E94C114D6EBB /* yap_vfs_shim.h in Headers */, - 553C4A8F341491B8CFD8E8D1C0CD1734 /* YapActionable.h in Headers */, - EF33CA067F04B53C44A0532597AE9958 /* YapActionItem.h in Headers */, - 4A7343631571EBDE0011B0A34675108E /* YapActionItemPrivate.h in Headers */, - C5187B0FAB308730620AD8866277CF63 /* YapBidirectionalCache.h in Headers */, - F462AA1F495D33F4BE93780C34193BFA /* YapCache.h in Headers */, - 26D4F77C51F8089090B59937CDFAC695 /* YapCollectionKey.h in Headers */, - 9C857E391C0098D5CDD3425B963826C6 /* YapDatabase-umbrella.h in Headers */, - 8134FE921BB1B6F3D09839EA79D8E381 /* YapDatabase.h in Headers */, - 80178FED03AA43993D1225F403B414E1 /* YapDatabaseActionManager.h in Headers */, - D58A3DB4E07AC46B2E99FC940774DE4D /* YapDatabaseActionManagerConnection.h in Headers */, - 36AD94A3E7CC9BBC1123C52F226796C8 /* YapDatabaseActionManagerPrivate.h in Headers */, - 85CA3C56AFB18D596D9C5C954BB681AB /* YapDatabaseActionManagerTransaction.h in Headers */, - AB9B7B36FD390D2462B5EEC84F21C419 /* YapDatabaseAtomic.h in Headers */, - 6603BADFAF8FD27E26FA4B6873C28B2C /* YapDatabaseAutoView.h in Headers */, - 796FD50995D5125CD5FF134C63625EA5 /* YapDatabaseAutoViewConnection.h in Headers */, - D242EF7980F7BA384C6EEF2A35FDF8C4 /* YapDatabaseAutoViewPrivate.h in Headers */, - 34D0D2BB3DAB64AA4D824B723ED59CA1 /* YapDatabaseAutoViewTransaction.h in Headers */, - 3D5AF9C21D8B582076A5BFA5694B1130 /* YapDatabaseCloudCore.h in Headers */, - D46EEF3AF97F56F01B813F9C9CA6BA21 /* YapDatabaseCloudCoreConnection.h in Headers */, - A0DF12DF804504E477C0A85B76819C4C /* YapDatabaseCloudCoreGraph.h in Headers */, - BD25083563F56E038EB59A3CCE597A37 /* YapDatabaseCloudCoreOperation.h in Headers */, - 0E11D90466C198D17B307880EF1866FF /* YapDatabaseCloudCoreOperationPrivate.h in Headers */, - 38F8FE52F0CCA7222B71BE6598D132E3 /* YapDatabaseCloudCoreOptions.h in Headers */, - 279C8BD5F781AA38A6D1AF4F5C71EA9D /* YapDatabaseCloudCorePipeline.h in Headers */, - E4334C49571A832CB438A82E0EF65A2B /* YapDatabaseCloudCorePipelineDelegate.h in Headers */, - F09E5BB66E423C3D10538881CE615581 /* YapDatabaseCloudCorePipelinePrivate.h in Headers */, - F30A1D7A49988D8DEFD4E2BD6878D820 /* YapDatabaseCloudCorePrivate.h in Headers */, - 6A2C585D2DAC2BCB1E0FDDC3AE1C56D6 /* YapDatabaseCloudCoreTransaction.h in Headers */, - BF1CD81A9AFED74C750407B96C66DD13 /* YapDatabaseCloudKit.h in Headers */, - ACF750B2E654968818CCFA53F678AC94 /* YapDatabaseCloudKitConnection.h in Headers */, - EB35357163AAA692E06085CC9DA0A942 /* YapDatabaseCloudKitOptions.h in Headers */, - 5B9A7FDEB42990A09CFE128868284BC0 /* YapDatabaseCloudKitPrivate.h in Headers */, - 0AD374BF28F5D8ED539B85C02B5C3025 /* YapDatabaseCloudKitTransaction.h in Headers */, - 15C9CB39E76AFAA1DED2A77F0170B957 /* YapDatabaseCloudKitTypes.h in Headers */, - AF66DA40DA7E50DEAC3C19C7E9C5E2A0 /* YapDatabaseConnection.h in Headers */, - A92A1A86EF790A60D00892D0BCF3482B /* YapDatabaseConnectionConfig.h in Headers */, - EC42C8125AA94F3F1141E83D86449DBA /* YapDatabaseConnectionPool.h in Headers */, - E63CA0C55B614B2154DA067E0BC1C3E3 /* YapDatabaseConnectionProxy.h in Headers */, - AFB8A6B89EDEB8891DB8ABE0F509A96E /* YapDatabaseConnectionState.h in Headers */, - 97964B9FAC108ED5A9319716E33980F7 /* YapDatabaseCrossProcessNotification.h in Headers */, - 784A6AAC7F194C3BA68FFAAD6EBC6E7D /* YapDatabaseCrossProcessNotificationConnection.h in Headers */, - CCB8550B1564B38285E850BF313BAB00 /* YapDatabaseCrossProcessNotificationPrivate.h in Headers */, - 75C6DB97CB56966A0B1255DBE8194BC2 /* YapDatabaseCrossProcessNotificationTransaction.h in Headers */, - F3B426090B2586EB88D32172B33AC3F2 /* YapDatabaseCryptoUtils.h in Headers */, - 8C9C5BCAADE77782DD8736ECF1086A2D /* YapDatabaseExtension.h in Headers */, - AB845E1669CECBD279E3A290F84214EB /* YapDatabaseExtensionConnection.h in Headers */, - 391D9C7379AAF77EAB3AADE8CFAC929B /* YapDatabaseExtensionPrivate.h in Headers */, - 51C3FF39C1E0855B4986157522EA712D /* YapDatabaseExtensionTransaction.h in Headers */, - B5067D69476059306A9B05237BB6B4D3 /* YapDatabaseExtensionTypes.h in Headers */, - 9D06BA7D0C05A3FE9731903524A942A1 /* YapDatabaseFilteredView.h in Headers */, - 1BF9AD0E1EBDB9CC80E82D0C4482CC0F /* YapDatabaseFilteredViewConnection.h in Headers */, - E10EA38711F6E7A08BED2600AEA19D5C /* YapDatabaseFilteredViewPrivate.h in Headers */, - 34D587141175C1FC89C44F42AF1F4B81 /* YapDatabaseFilteredViewTransaction.h in Headers */, - AC9D1232CFE01819761F169793349374 /* YapDatabaseFilteredViewTypes.h in Headers */, - B97D269EFA04F9AE8DB106FC048E78BA /* YapDatabaseFullTextSearch.h in Headers */, - 01F9C47F87BC96D4E3BF1F999E41E871 /* YapDatabaseFullTextSearchConnection.h in Headers */, - F4EAD52911116EF1EF6C4D12F0EDB0F0 /* YapDatabaseFullTextSearchHandler.h in Headers */, - 564457526E797900AFAD9EF734097BC4 /* YapDatabaseFullTextSearchPrivate.h in Headers */, - B69A8A31F0BEFABDEBFF88A5A74722C2 /* YapDatabaseFullTextSearchSnippetOptions.h in Headers */, - AC72725B547E05FC32048AAC4C248507 /* YapDatabaseFullTextSearchTransaction.h in Headers */, - AC47160C2E33A7B59EEB7A381CD55244 /* YapDatabaseHooks.h in Headers */, - CD6604C6BD2399B1998A389508D73266 /* YapDatabaseHooksConnection.h in Headers */, - 19185E8881C5EAF492D796200AB2062B /* YapDatabaseHooksPrivate.h in Headers */, - 9E02B2791A874BCBE70E935D932EB86C /* YapDatabaseHooksTransaction.h in Headers */, - 7BD8BD67ED5976F0C8C0C856803426F8 /* YapDatabaseLogging.h in Headers */, - C629E2D59C88C00EE233E579D9C78891 /* YapDatabaseManager.h in Headers */, - EAA8AAFB9FDA77B3F851E5B551A346FB /* YapDatabaseManualView.h in Headers */, - 63EF2D8667CD30FFAADB3900B08D2607 /* YapDatabaseManualViewConnection.h in Headers */, - B8D29C02A23D444A08C548FF3D838B45 /* YapDatabaseManualViewPrivate.h in Headers */, - 812341FE3B42F030FF78296C77BB09C2 /* YapDatabaseManualViewTransaction.h in Headers */, - 49D9362CEEE61DA76A29576DE081705F /* YapDatabaseOptions.h in Headers */, - C6D464D0A5FD74391B70B6D0D6D59C79 /* YapDatabasePrivate.h in Headers */, - 5DC709A01265AC2AC5ABFA6AD37CF265 /* YapDatabaseQuery.h in Headers */, - 961A9298905FDEABDC83963349B405A0 /* YapDatabaseRelationship.h in Headers */, - B9268023B662862A9B4961F74BC9136D /* YapDatabaseRelationshipConnection.h in Headers */, - 9721A589D006F6D45312E2ABDACF44C2 /* YapDatabaseRelationshipEdge.h in Headers */, - 36ABA58DE71F88D27C75EF8C338ACE6D /* YapDatabaseRelationshipEdgePrivate.h in Headers */, - 4E2283475613A1F2AD8047AE998EC055 /* YapDatabaseRelationshipNode.h in Headers */, - 9A4BD460DDDE28BC32DD97422C04FCD7 /* YapDatabaseRelationshipOptions.h in Headers */, - F4DC0E910F82DAD0181327C515063DF5 /* YapDatabaseRelationshipPrivate.h in Headers */, - CFFBBB00695195579EAC0E4CC141193A /* YapDatabaseRelationshipTransaction.h in Headers */, - 7413ADF7635280D286DCAFA9818FFA4D /* YapDatabaseRTreeIndex.h in Headers */, - 013B016D79E9AEA8D7602818A6CA7BB7 /* YapDatabaseRTreeIndexConnection.h in Headers */, - C5ED0A4EB7A1503C05B361C98696795A /* YapDatabaseRTreeIndexHandler.h in Headers */, - D47E18EBF275708DC195965EEB13A47E /* YapDatabaseRTreeIndexOptions.h in Headers */, - B9288F564B82BA562FAED38CD526B271 /* YapDatabaseRTreeIndexPrivate.h in Headers */, - 2687401123B78AC59BCECF0129A8E5F1 /* YapDatabaseRTreeIndexSetup.h in Headers */, - B006153A1BA21FBE172063EEB8B1EE82 /* YapDatabaseRTreeIndexTransaction.h in Headers */, - 56EA1C88A847B6AB6F5DEEB57C30B81F /* YapDatabaseSearchQueue.h in Headers */, - BC9162D81BE270E70A34B2D3E8047701 /* YapDatabaseSearchQueuePrivate.h in Headers */, - 6C6F4082DEE8A33C0914B39BB1307022 /* YapDatabaseSearchResultsView.h in Headers */, - 853D0FB9647710030464EEFDF341AD01 /* YapDatabaseSearchResultsViewConnection.h in Headers */, - 61E8643C6D50FFBA2ED6B31AD20A4DE2 /* YapDatabaseSearchResultsViewOptions.h in Headers */, - FD139BD0511F8223D5AE05819520C38C /* YapDatabaseSearchResultsViewPrivate.h in Headers */, - 8E1849369B6973D0221928381273DFFD /* YapDatabaseSearchResultsViewTransaction.h in Headers */, - A7FE52579E7344E2E4ACC1EC75580895 /* YapDatabaseSecondaryIndex.h in Headers */, - A0FC402EDDC1DAB2B3A78676152327CE /* YapDatabaseSecondaryIndexConnection.h in Headers */, - 256BD3A9245A514FDB1901F2B30BC9A1 /* YapDatabaseSecondaryIndexHandler.h in Headers */, - 90B47C742F91C2526BED0F225741B9B7 /* YapDatabaseSecondaryIndexOptions.h in Headers */, - 2909FFE643089FB14F30BD428FF7D3FF /* YapDatabaseSecondaryIndexPrivate.h in Headers */, - 612F5DBE03502839FD29157E771F0A54 /* YapDatabaseSecondaryIndexSetup.h in Headers */, - B780C19B6080FDF19E8E4811FA60FA30 /* YapDatabaseSecondaryIndexTransaction.h in Headers */, - 967DCF6DC94440D58AA9168A192F2E74 /* YapDatabaseStatement.h in Headers */, - 4CEC9EE27785F27A8B635517968BA626 /* YapDatabaseString.h in Headers */, - 85A1C7E6361AB1166084DB500654CB38 /* YapDatabaseTransaction.h in Headers */, - BBE3AAABD40E854E8AB89BE5932761AB /* YapDatabaseView.h in Headers */, - 9788E7AC80A557C00768BF021081A144 /* YapDatabaseViewChange.h in Headers */, - 89044AF6FC6ED7F9383C0915804BE612 /* YapDatabaseViewChangePrivate.h in Headers */, - FFBF3BBAD77E55100F3AFC7E2CDD27C4 /* YapDatabaseViewConnection.h in Headers */, - EF2C669147AA3D7B67C29B1DDB3D3ACF /* YapDatabaseViewLocator.h in Headers */, - BD0BD889AB3201030FCEF3E553EB0E02 /* YapDatabaseViewMappings.h in Headers */, - F102C7897E177BBA1FA73D8055653398 /* YapDatabaseViewMappingsPrivate.h in Headers */, - 88AECF2623BBA901122FFE24C67D3549 /* YapDatabaseViewOptions.h in Headers */, - C08FAE61A017E3029AFD269928407F68 /* YapDatabaseViewPage.h in Headers */, - E023BEE6D2023ED20731AEE5C054848D /* YapDatabaseViewPageMetadata.h in Headers */, - 40FBF4FFDD9731AC5EA97066A074ADCE /* YapDatabaseViewPrivate.h in Headers */, - 80A700BD9FF6E3AC0EB31C7FE10E7E32 /* YapDatabaseViewRangeOptions.h in Headers */, - 0FAB15E580D85992044CD63030EE7374 /* YapDatabaseViewRangeOptionsPrivate.h in Headers */, - 641AAF0D1AC1BD012ADB633878F80626 /* YapDatabaseViewState.h in Headers */, - 4D5257A88320B3975B527A8B5D00E584 /* YapDatabaseViewTransaction.h in Headers */, - 1236BBC5915DBF06519D0230BBA42EE1 /* YapDatabaseViewTypes.h in Headers */, - ED206B21165ED201CF2C59B63183A27A /* YapDirtyDictionary.h in Headers */, - 3416517BE911A940B49A9300ED8451C5 /* YapManyToManyCache.h in Headers */, - CF81D24D0441E84FE28F784102D94C48 /* YapMemoryTable.h in Headers */, - 8002FADC53E5ACDA2814E889D1E30059 /* YapMurmurHash.h in Headers */, - 209ED36B982040E1CCBE40485FA6AB6C /* YapMutationStack.h in Headers */, - 49155A9EFAEFEAE76AF6171D456BCFBC /* YapNull.h in Headers */, - DD9BFE7E505EA82A13D1E1A731A84237 /* YapProxyObject.h in Headers */, - E3B58F9DF11675693290534FAF59E0A9 /* YapProxyObjectPrivate.h in Headers */, - AB53D36BCBB31C6BFA23D46B25291275 /* YapReachability.h in Headers */, - 5AEBB318E8AFCD4346A974BA2078881A /* YapRowidSet.h in Headers */, - 32A8DE2EB082A6ABEF6DA5B95303023F /* YapSet.h in Headers */, - 33212D4C1A3E975427EC9CD79D86EC08 /* YapTouch.h in Headers */, - 0CB673CF3CEEDF1A5B60A32AD42F8913 /* YapWhitelistBlacklist.h in Headers */, - BFDFC0530193749CB509FF8C6F8E9066 /* YDBCKAttachRequest.h in Headers */, - 6D7EC38342A4EA43AC3E187F4405415B /* YDBCKChangeQueue.h in Headers */, - 354C5C747E13A5F0016E8394CDA49C0C /* YDBCKChangeRecord.h in Headers */, - 94AB118E82F8FE61219AB013177B785E /* YDBCKChangeSet.h in Headers */, - D1BA11CADB3998522C78D3FDB214F74B /* YDBCKMappingTableInfo.h in Headers */, - E59EB6E037534271C1477BCCE50A960B /* YDBCKMergeInfo.h in Headers */, - 666516AA7218E8E092679C8C0531883A /* YDBCKRecord.h in Headers */, - 7C6185145C44FC5F177B4C1FC00A2A55 /* YDBCKRecordInfo.h in Headers */, - 2BB4E15E891871C3E76B5243B89E3ED9 /* YDBCKRecordTableInfo.h in Headers */, + D95CBB09323BFD34B3A7D7C8995413EE /* NSDate+YapDatabase.h in Headers */, + C837DE55E13CA56C0E8B494D8544D620 /* NSDictionary+YapDatabase.h in Headers */, + D61E56245CE7CFFF90CF23ED88081095 /* yap_vfs_shim.h in Headers */, + 3AEB2FA0CE23A52A219E0BDCA54844C2 /* YapActionable.h in Headers */, + 825BD80D47332E9F265E80D0E426AF69 /* YapActionItem.h in Headers */, + B6EE2313898C7E46D5D6F5F7DBA9511E /* YapActionItemPrivate.h in Headers */, + 2A62D9A888B029566FA2AB23F3A78F14 /* YapBidirectionalCache.h in Headers */, + 15C278E13CA3DDA7376B85E3658A440A /* YapCache.h in Headers */, + CDCAA7F7C7B4766BB89635E4EE13868E /* YapCollectionKey.h in Headers */, + 734D1071DAB251DE8CDB667A7405DD61 /* YapDatabase-umbrella.h in Headers */, + D21165EB04FFC5CF91A8A1D5CC9FB375 /* YapDatabase.h in Headers */, + A9271FAA12491B58A437B6F102CD38FE /* YapDatabaseActionManager.h in Headers */, + 8D02FF71805AC7E9CFA73723E0BA61A0 /* YapDatabaseActionManagerConnection.h in Headers */, + 18CB67083492401EBD433FC63E53FF8A /* YapDatabaseActionManagerPrivate.h in Headers */, + 9DFC9B6AE547390FAA0EE0CB095B5411 /* YapDatabaseActionManagerTransaction.h in Headers */, + 5158561F1694B89528215B7C3072B6C5 /* YapDatabaseAtomic.h in Headers */, + 31B0F58323A52B7907E77928BADD813B /* YapDatabaseAutoView.h in Headers */, + 56393371286B1E93B44CFDF7D48D1399 /* YapDatabaseAutoViewConnection.h in Headers */, + 54D6B93ABAF2A20AD4D72AB5FC72C4AE /* YapDatabaseAutoViewPrivate.h in Headers */, + F4DC595099750BED417E8A37A03E4206 /* YapDatabaseAutoViewTransaction.h in Headers */, + 1746370D282B841D330C936C3EF18D55 /* YapDatabaseCloudCore.h in Headers */, + 414D48468A7BCB1B487224A5489492C1 /* YapDatabaseCloudCoreConnection.h in Headers */, + 61A5F16BC1AA9512A1313ED8EE829BF9 /* YapDatabaseCloudCoreGraph.h in Headers */, + CEFA74658D5CBF4B1583C99E26AD643D /* YapDatabaseCloudCoreOperation.h in Headers */, + CE33439684259C241807127C1A11E5C2 /* YapDatabaseCloudCoreOperationPrivate.h in Headers */, + 4AB3CAB4717B1E279263F729C3EBFD9A /* YapDatabaseCloudCoreOptions.h in Headers */, + EB0DCCA0155203A49FD8518E54D9B8EA /* YapDatabaseCloudCorePipeline.h in Headers */, + D3F07BA7D0DF3016792DC2170EB35331 /* YapDatabaseCloudCorePipelineDelegate.h in Headers */, + 50335CC4399208BCCB9431089BEBD551 /* YapDatabaseCloudCorePipelinePrivate.h in Headers */, + 1BC72EDE2162077F802D1CBC3BB8399C /* YapDatabaseCloudCorePrivate.h in Headers */, + 28AF4A6B6DE33871B4AD936EC9BF2B7C /* YapDatabaseCloudCoreTransaction.h in Headers */, + 77B3C6530ED8F0BD8DAB494BD014FB43 /* YapDatabaseCloudKit.h in Headers */, + 9812252662CC07E88B96A23EA074C60A /* YapDatabaseCloudKitConnection.h in Headers */, + A805E867277EDEB8FFED2C1810F048E9 /* YapDatabaseCloudKitOptions.h in Headers */, + 88129703EAF042DFA737CD8B9908A0EA /* YapDatabaseCloudKitPrivate.h in Headers */, + 9092AAF53BE0B268031ADFF66CCB2A0F /* YapDatabaseCloudKitTransaction.h in Headers */, + C67EDD3EA845BF52982C454DF92F2F00 /* YapDatabaseCloudKitTypes.h in Headers */, + 14E4A9301FF7F20216F71A6FDFA77C5C /* YapDatabaseConnection.h in Headers */, + 78AAC21825F63C475133511B1E7EC2C0 /* YapDatabaseConnectionConfig.h in Headers */, + DB4BF68FA1CB0009D5F820A41812F545 /* YapDatabaseConnectionPool.h in Headers */, + 0E6D7A3077AFA293B06492012DC4DAD6 /* YapDatabaseConnectionProxy.h in Headers */, + 3136604778DE2A9C04EB68C68900BDD4 /* YapDatabaseConnectionState.h in Headers */, + 93F02CBE6294E259CBC97F79C9B1C767 /* YapDatabaseCrossProcessNotification.h in Headers */, + 5AD2BCA9F7C5A785C381EBA85B7B01F3 /* YapDatabaseCrossProcessNotificationConnection.h in Headers */, + 039E89F034EADDB73D4B7A52218EFCEA /* YapDatabaseCrossProcessNotificationPrivate.h in Headers */, + 06B92B8CEE6A79C37A3DA60780C0FE3A /* YapDatabaseCrossProcessNotificationTransaction.h in Headers */, + A6D53FE9EBB5CC53CF46CE7B51F4E112 /* YapDatabaseCryptoUtils.h in Headers */, + 6B03D423961E1E29D8EE0956442492CD /* YapDatabaseExtension.h in Headers */, + A8161E1E1545B19D6EAC394A4BBBD3F4 /* YapDatabaseExtensionConnection.h in Headers */, + E0CD6C97CD9A9E23033755B28A3806A3 /* YapDatabaseExtensionPrivate.h in Headers */, + FE2581FE21F01A79E67111C8A8B5646F /* YapDatabaseExtensionTransaction.h in Headers */, + DBB96A565C96D35B47EECDEB6ECB5FBA /* YapDatabaseExtensionTypes.h in Headers */, + 37980C5EA24D57EE63DD872B71517096 /* YapDatabaseFilteredView.h in Headers */, + C5597BD167CC41227823FA0629913815 /* YapDatabaseFilteredViewConnection.h in Headers */, + 20C70BEA8EA0991DCC4BCEE0F82DBD5F /* YapDatabaseFilteredViewPrivate.h in Headers */, + 8B3A37B01E5B9494FC90F388733FB200 /* YapDatabaseFilteredViewTransaction.h in Headers */, + 0F64A2B205ED978F8999CF38761C7E6D /* YapDatabaseFilteredViewTypes.h in Headers */, + 6B96AF5E52D4842669CE26A706854E7B /* YapDatabaseFullTextSearch.h in Headers */, + 3F8933CCC2FF0E1FA4C93F056C0E21A1 /* YapDatabaseFullTextSearchConnection.h in Headers */, + 15560251067CCFF27DC17C73160C1BE7 /* YapDatabaseFullTextSearchHandler.h in Headers */, + 1DC465C74D96576097139DD0A5A55EBC /* YapDatabaseFullTextSearchPrivate.h in Headers */, + 1A7414948F9D58B2DB9C0EF408CEA818 /* YapDatabaseFullTextSearchSnippetOptions.h in Headers */, + 35105C43FAC35A24253F25F48A195C16 /* YapDatabaseFullTextSearchTransaction.h in Headers */, + E9FB0652AC3B61879CB8E52FCC8B9B76 /* YapDatabaseHooks.h in Headers */, + 769799F24C88AB20FA03C8568CD9AF43 /* YapDatabaseHooksConnection.h in Headers */, + E41911E72E3D4FD78A0C40D974BA6250 /* YapDatabaseHooksPrivate.h in Headers */, + 793E0E57176FB44726FE9B19BC56DE84 /* YapDatabaseHooksTransaction.h in Headers */, + 60989A6B09E9007B40FDCCEADEB56AC3 /* YapDatabaseLogging.h in Headers */, + A427CA3BF09548A212B5AA0FC1252026 /* YapDatabaseManager.h in Headers */, + 5BE01E18FD6DB2185D34B8115CC8FCD6 /* YapDatabaseManualView.h in Headers */, + ADEE5677F1A67405FB8042BF7003F5F8 /* YapDatabaseManualViewConnection.h in Headers */, + 2E9958E8812FC8A0370E363B9FC641B3 /* YapDatabaseManualViewPrivate.h in Headers */, + 5C7502A163451E98DEDA3F837EDAF677 /* YapDatabaseManualViewTransaction.h in Headers */, + 624B736BC0B0556843F573C7DA57A0BB /* YapDatabaseOptions.h in Headers */, + 650A2EA1981D1AE5B37E0923AA135942 /* YapDatabasePrivate.h in Headers */, + 0C65FD3B00B2AA3E97CFA77551A7F290 /* YapDatabaseQuery.h in Headers */, + 885A5593F56BBD051DC3E9CF1F75DF79 /* YapDatabaseRelationship.h in Headers */, + CFE3167D878717CCAE71CBB17B25FAD6 /* YapDatabaseRelationshipConnection.h in Headers */, + 71D64801126458C429B2B478FEABEC3F /* YapDatabaseRelationshipEdge.h in Headers */, + 54BF6157FAC29A7CDDECDF6B0BB3F624 /* YapDatabaseRelationshipEdgePrivate.h in Headers */, + 6D531FDAC5579F8FBE0345676A4452EF /* YapDatabaseRelationshipNode.h in Headers */, + 9D2114CCE367FED3DF7D19B5FB0673A6 /* YapDatabaseRelationshipOptions.h in Headers */, + C428925F87DF871E7AFA0D381F997E0A /* YapDatabaseRelationshipPrivate.h in Headers */, + 27998AC6945F9B0B22BD818414B790F7 /* YapDatabaseRelationshipTransaction.h in Headers */, + BECE03F8621A69C3061AB651CE0D2CCF /* YapDatabaseRTreeIndex.h in Headers */, + 49A1B307D3D1624094CE7AF9E864AAF1 /* YapDatabaseRTreeIndexConnection.h in Headers */, + 7DAE55A143DBBF1550A48A31A1876170 /* YapDatabaseRTreeIndexHandler.h in Headers */, + 38010965ED477FA1D643A4A0072B2E47 /* YapDatabaseRTreeIndexOptions.h in Headers */, + 540A319509A9722C3A7B674F307EF77F /* YapDatabaseRTreeIndexPrivate.h in Headers */, + 7521F774ABCFA0B3BA3721EDEE927E3D /* YapDatabaseRTreeIndexSetup.h in Headers */, + A41ABFFF59302C700A7F361608DD36EF /* YapDatabaseRTreeIndexTransaction.h in Headers */, + 039558645C89C3116C6F7BF1B093296F /* YapDatabaseSearchQueue.h in Headers */, + A4B2A97C7EDB6B824CE4AF33439B4688 /* YapDatabaseSearchQueuePrivate.h in Headers */, + 1DB1288A74FAF820952B5F45B0EF309B /* YapDatabaseSearchResultsView.h in Headers */, + 68941769201CD81C869C4E88EA6BA3B3 /* YapDatabaseSearchResultsViewConnection.h in Headers */, + 6F606B72ACABA09741546FE59909972D /* YapDatabaseSearchResultsViewOptions.h in Headers */, + 0E5A88F15C984939A048A631CE971561 /* YapDatabaseSearchResultsViewPrivate.h in Headers */, + CD4EE365F4326E17B8A443FA1B45E98A /* YapDatabaseSearchResultsViewTransaction.h in Headers */, + FAB10F6C8CBB44FED7D6B4BABF4E6E64 /* YapDatabaseSecondaryIndex.h in Headers */, + E0C7366ACFFB3ACDEFCF1AAB390D1E4B /* YapDatabaseSecondaryIndexConnection.h in Headers */, + 9E19B32FD5DFFB860BF33FC482059559 /* YapDatabaseSecondaryIndexHandler.h in Headers */, + B9FB0A78828F42E947BF5B6F43405C5C /* YapDatabaseSecondaryIndexOptions.h in Headers */, + E60E27E6EAAF1EB89F13DB47FAA4BE8B /* YapDatabaseSecondaryIndexPrivate.h in Headers */, + 7909C987D1667F167A7D1872185551E6 /* YapDatabaseSecondaryIndexSetup.h in Headers */, + 375C8EE7494F1C90FADD8CA01A68085E /* YapDatabaseSecondaryIndexTransaction.h in Headers */, + 0F742133231D36AD8D502A759208EE22 /* YapDatabaseStatement.h in Headers */, + D6B7E263C1B93B2DB7F541DA291DD338 /* YapDatabaseString.h in Headers */, + 7CA0074A27E888F3D5770FB1A74DBA0A /* YapDatabaseTransaction.h in Headers */, + 8FE0524144FBE14403C27178DB6E5C83 /* YapDatabaseView.h in Headers */, + 13449E3A57F3FA35C57572B7E237B580 /* YapDatabaseViewChange.h in Headers */, + A52856B5E3BBFE292A239C1F9395AEEC /* YapDatabaseViewChangePrivate.h in Headers */, + 24FBA82466AD76513815157FCE6750B6 /* YapDatabaseViewConnection.h in Headers */, + 23DB28CF4073AA533C953802BAB66469 /* YapDatabaseViewLocator.h in Headers */, + C2C83A8395540F884A2CBC85203B0D32 /* YapDatabaseViewMappings.h in Headers */, + 8D7245791E88272BB39E457E6B94EBD2 /* YapDatabaseViewMappingsPrivate.h in Headers */, + AE7F46613AF9396C258F59A085BBA35B /* YapDatabaseViewOptions.h in Headers */, + 9C4E75C2FC8A888FE2BD84B5E0A77E43 /* YapDatabaseViewPage.h in Headers */, + 4EB4BFA7EF6CF9985F55808AC195B06E /* YapDatabaseViewPageMetadata.h in Headers */, + DC517B197C3DA27F36965CA995791FCE /* YapDatabaseViewPrivate.h in Headers */, + 91D8E35637AA560EEDECC15C0C74D927 /* YapDatabaseViewRangeOptions.h in Headers */, + 0B15766913E11C28FA1FC339CE1F1E64 /* YapDatabaseViewRangeOptionsPrivate.h in Headers */, + 357FE6564DDA517884B6365F9FA1BE6D /* YapDatabaseViewState.h in Headers */, + 7C4BD2F1F469525BEF2EA7E368340AC5 /* YapDatabaseViewTransaction.h in Headers */, + EEA194528C6D295A4BF1E707A768EF7F /* YapDatabaseViewTypes.h in Headers */, + 85FC5532B3E6C50E215B444E95E1744B /* YapDirtyDictionary.h in Headers */, + 92E1407165436C12654B9739782A2DE5 /* YapManyToManyCache.h in Headers */, + 3E5910813282AF2FBEDE547C60E23D5D /* YapMemoryTable.h in Headers */, + A42F38C2EE0DA996E7B8EEF2310F57FB /* YapMurmurHash.h in Headers */, + 6F78CC52CE8A224C9AFD348EADD4CE6B /* YapMutationStack.h in Headers */, + 59763A32808BA735F07A2182A9D879B6 /* YapNull.h in Headers */, + 9B4A141DC47373F18F2190397AEB1FCD /* YapProxyObject.h in Headers */, + ACAF7022EB99F70169DB08F5B6097A9B /* YapProxyObjectPrivate.h in Headers */, + 3060238AC5B3DFCBF14D667880FB8FDB /* YapReachability.h in Headers */, + 989F68DF05214BC6FE90A37BC9FEAC21 /* YapRowidSet.h in Headers */, + 7B33C857F445E550472B269B7011757D /* YapSet.h in Headers */, + C8B0482811E2907578CFD668F1B15A62 /* YapTouch.h in Headers */, + 432223E4EFE5FFB28B0CF5107D1BFB65 /* YapWhitelistBlacklist.h in Headers */, + 36B7BF51C8BF49EA0D2EA7C0216B6149 /* YDBCKAttachRequest.h in Headers */, + CDA4B43A2BF6EE3CF3944B04E12A133B /* YDBCKChangeQueue.h in Headers */, + EF6E4498432F61DB5B865591E8B2FF06 /* YDBCKChangeRecord.h in Headers */, + E09DBB94735D89912079E9E0A969D2CA /* YDBCKChangeSet.h in Headers */, + 38893CEA8FFCBA792D01EA0684A835A6 /* YDBCKMappingTableInfo.h in Headers */, + 99222F471D11E5008A1C9746C8E796C5 /* YDBCKMergeInfo.h in Headers */, + E0D0979D5FE96990F58E30D08B93B907 /* YDBCKRecord.h in Headers */, + 705B768414120E9A5770938E252BA2B6 /* YDBCKRecordInfo.h in Headers */, + A5E34A83EAA70EBF99F300E53D11FCEE /* YDBCKRecordTableInfo.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D43C52DBAFB0AB3AD0680E694E1DC501 /* Headers */ = { + B3B224EA505DCA289519EDF3E64F2884 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 8627857DB8E9D6775F09F5DCB8B2D317 /* CryptoSwift-umbrella.h in Headers */, + 2088B6E7BDA179A25D7FBED36B7D3569 /* AES-CBC.h in Headers */, + 9EF330E7C51FAA6E5399F49310F311F8 /* AliceAxolotlParameters.h in Headers */, + 27BF3672BC4C4725FD07419A93F7E8E0 /* AxolotlExceptions.h in Headers */, + 99076469E30D7424EA63326E94A486B5 /* AxolotlKit-umbrella.h in Headers */, + 6EBC31AEBC2A7590FE0E3E5C946119DD /* AxolotlParameters.h in Headers */, + 64CE4E27BFA59AC6F95997A156501184 /* AxolotlStore.h in Headers */, + D8EDEA2D4C0169720536200FA8EF0B85 /* BobAxolotlParameters.h in Headers */, + 8928CBF19E9726353246DBB63CAD0178 /* Chain.h in Headers */, + 8AA2CD9C68E23DFDCD425998CD6B3D98 /* ChainAndIndex.h in Headers */, + 9C7831C607F5A604D20A4BFD5F662E0E /* ChainKey.h in Headers */, + 6554D693032785883A1BBE1CB5244B8B /* CipherMessage.h in Headers */, + 8512C88B51E53411CE742F2D73F80610 /* Constants.h in Headers */, + 832B3C80A8A4234CF31A2A1C22D8DCAF /* IdentityKeyStore.h in Headers */, + 4675B8ECABB8DB440DE8675C0CD72180 /* LokiFriendRequestMessage.h in Headers */, + DA157BB879C92F98BA0C11C45261B0C1 /* MessageKeys.h in Headers */, + 1A145B833F0AC1569EE7D417F111C2A9 /* NSData+keyVersionByte.h in Headers */, + 0AB6B2611752939128CF6AC0CBBC863F /* PreKeyBundle.h in Headers */, + 429CA40E43D2468C8177BE6240A6E0C6 /* PreKeyRecord.h in Headers */, + 20E3552FF0C545BAEA0E955E4E6973D5 /* PreKeyStore.h in Headers */, + D072F86ED0A3B37330F942226B46621A /* PreKeyWhisperMessage.h in Headers */, + 2C1C71F3B5F1D5E309E75E84DC2C4CAE /* RatchetingSession.h in Headers */, + FF9103B924393B74DEAD5181D5769B71 /* ReceivingChain.h in Headers */, + E518D62CED5661A3CA8FE125AEA2A273 /* RKCK.h in Headers */, + 669E91F7C2AED86DFF8CC1EE4723BC37 /* RootKey.h in Headers */, + CAB2CF2F82BE3C9A0F79582ECE16867B /* SendingChain.h in Headers */, + 1E14A8AE2BDAC3C9DE12AC6ABF56B001 /* SerializationUtilities.h in Headers */, + BF85E61CF592B8671908145FCBD40C7E /* SessionBuilder.h in Headers */, + 6C5A02A68919702585319DD993B08B77 /* SessionCipher.h in Headers */, + A5F9F560ABA1BE1A667AC189891E22D7 /* SessionRecord.h in Headers */, + AF12FF5701F14D502598BA84368FEA79 /* SessionState.h in Headers */, + E81C13DF33DB31FC0D82111614BCDA9A /* SessionStore.h in Headers */, + 3684957A3A7A3E7E4D81B4F17ECAA4A6 /* SignedPrekeyRecord.h in Headers */, + BD66A140211518EA0497D38965A6F9FF /* SignedPreKeyStore.h in Headers */, + 481C7B5254754C31EDF54AF83C7E00E1 /* SPK-Bridging-Header.h in Headers */, + 711E7CD36BA5DFEC90B565E1415A9CE8 /* SPKMockProtocolStore.h in Headers */, + 9814ADC98EA987C2E8BF185DAFF837AF /* TSDerivedSecrets.h in Headers */, + 55EA52DAE7A4595F75BC35DE7AE18F2E /* WhisperMessage.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D507D640EEAB0EAAC822B7B7B48040AE /* Headers */ = { + B4555DF30561BAA86A90E9EB763A3D33 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - ADD30CB23FD4907A2A16A658BA020BEA /* FIRAnalyticsConfiguration.h in Headers */, - 7761F10EDB3729EB26437EBA051123C5 /* FIRApp.h in Headers */, - 55BF5BAD92CB070D295F9DDC8C4D3047 /* FIRAppAssociationRegistration.h in Headers */, - E410F45764EF050C1A96948B1FB845CD /* FIRAppInternal.h in Headers */, - 085317A6C90C9CFD1E18F5689B3C55BE /* FIRBundleUtil.h in Headers */, - 58134CA19A87668ACB975712D5E7BA6B /* FIRComponent.h in Headers */, - F5EC58404FCD1FA4EA2BFAF0130A080D /* FIRComponentContainer.h in Headers */, - CF98982D1AC95D4783BE6E599F9D492C /* FIRComponentContainerInternal.h in Headers */, - BB73D5B394DDA78B02FF3490DE74098B /* FIRComponentType.h in Headers */, - A265070F1790BEAFF3E369EFD464E682 /* FIRConfiguration.h in Headers */, - CA199FF977E1FDC0CA33A726EC6D290C /* FIRConfigurationInternal.h in Headers */, - 3E56692DDE28B807A235FB0BEC60405E /* FIRDependency.h in Headers */, - B147C8355035CBFDD14030FDA6D07CED /* FirebaseCore-umbrella.h in Headers */, - 7FFFF2BF8C6EFBEBF901A4EE9D4EEC56 /* FirebaseCore.h in Headers */, - 9558CC65A654B947DAECBE7627D0E74D /* FIRErrorCode.h in Headers */, - 71CE7AC02E92297A62D6C63DD8A4EBE9 /* FIRErrors.h in Headers */, - 8CDF554AC3DA41102E452EBFF6A84EC2 /* FIRLibrary.h in Headers */, - 14DC86B4C69778763350C621EEA69318 /* FIRLogger.h in Headers */, - 13F288C1A2F75C5880940EB78A51AF8E /* FIRLoggerLevel.h in Headers */, - D3997CD1EF4A6593759E2B3BA2E31FBF /* FIROptions.h in Headers */, - F185F1E55EFFBD02C28E935356239FA9 /* FIROptionsInternal.h in Headers */, - 2B95A8E796CCCC35C77809EC15C29F80 /* FIRVersion.h in Headers */, + 010ED784D46A38AD9ECEDA5F05A7E98E /* mz.h in Headers */, + 74F1E064E7EDCDA3F70EE7CC3ED8156E /* mz_compat.h in Headers */, + A3DC1D37B5A885B97D477579B3D1A9EB /* mz_crypt.h in Headers */, + 729E5D739546206AC41B4A2971AE5654 /* mz_os.h in Headers */, + 5BF9A5BDA417BCC08E2B8E25F95A69F4 /* mz_strm.h in Headers */, + CAA8177EF0592FB54CB96C4A4E9A30C4 /* mz_strm_buf.h in Headers */, + F06C594BFEC07314A61003530CFD4BD8 /* mz_strm_mem.h in Headers */, + AF98C3DD4FDF8B36A8DF55F74C403E40 /* mz_strm_os.h in Headers */, + 45B1D0C509B6F3FFC8ED845C7238C389 /* mz_strm_pkcrypt.h in Headers */, + 42698B06B6B9B69A899F7EF8EEA50387 /* mz_strm_split.h in Headers */, + 895A01A521E1146A24567F8A4B592F56 /* mz_strm_wzaes.h in Headers */, + 54FC54B0165DE0F61E0A88EF826C8279 /* mz_strm_zlib.h in Headers */, + DD2F7D1B35F89E87C93DEBC4D505ABEC /* mz_zip.h in Headers */, + 97D2B7CDEDBAADFA682A282407048EF5 /* mz_zip_rw.h in Headers */, + 9E0B55283EE44DDE81B4801EC38BD50C /* SSZipArchive-umbrella.h in Headers */, + 64C65DC624D0E6724E3892A951491081 /* SSZipArchive.h in Headers */, + 98773EDB3913B7B687F2AC6957B10CD3 /* SSZipCommon.h in Headers */, + FFBBBA18B4A48C3DCE8E3EF7704F5D1C /* ZipArchive.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9EBCD616320321B8C0299B45A07723D /* Headers */ = { + C3F2829019C4DB1F7B501424F50F256E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 493B482400278D7C5A411A486C5A56B3 /* Pods-SignalShareExtension-umbrella.h in Headers */, + 5C5C8F8E684B5BFF1757A1FCA8EB9DE5 /* Pods-Signal-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - DD6DED8EA2CCEA266A14CA0F2290D578 /* Headers */ = { + C47BD199F2778323D08CDD4E9C4B6D49 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - ABE912E2AF390FDFF9D6FEC546093D1F /* AnyPromise.h in Headers */, - 0904A788FD693BABF8D23D737C9A1AF2 /* fwd.h in Headers */, - 1F26E2EC2D4F1CCAB551B02ABCCC7F56 /* NSNotificationCenter+AnyPromise.h in Headers */, - B0210EC118697BB814E0BF23E4A3AD39 /* NSTask+AnyPromise.h in Headers */, - 2F9711CA393B0B6EACFB467A1B2E8A14 /* NSURLSession+AnyPromise.h in Headers */, - 52CE432EFEB62CE473C160A5336A1D65 /* PMKFoundation.h in Headers */, - 6EE2F0EC10A50532BDD128684729C3B1 /* PMKUIKit.h in Headers */, - 78783B8B5E77AC308AF59C516BE721DB /* PromiseKit-umbrella.h in Headers */, - 8677E3B89217166CB0ADBF93FF128F5D /* PromiseKit.h in Headers */, - AC0FBCDEA84AC5D5FEFD8A7C2C1E780E /* UIView+AnyPromise.h in Headers */, - 518742F22AE80A3A7F9B232E6BD7547F /* UIViewController+AnyPromise.h in Headers */, + AAA4A8C6E984B7A063F00FD9F45453F5 /* AnyPromise.h in Headers */, + F986F2CA95FF0ACE8F60BAF3D37C2E63 /* fwd.h in Headers */, + 833158B32DBA5FF44456B7A70BD7FE8C /* NSNotificationCenter+AnyPromise.h in Headers */, + 3D6E9160ABA9A0A4E116A900B8FACED0 /* NSTask+AnyPromise.h in Headers */, + 0E6E6BF2147EDD335A222956CB1E31B9 /* NSURLSession+AnyPromise.h in Headers */, + 82FE3155034870447204917E9C9DCE98 /* PMKFoundation.h in Headers */, + 0716B6F1782D854863D42CB685F93E12 /* PMKUIKit.h in Headers */, + 43880E19D70189D16DFB9D601CFE5D3C /* PromiseKit-umbrella.h in Headers */, + F9C0B50798A4419CEB73C26C68C65D02 /* PromiseKit.h in Headers */, + 47C869E67294B38B62D97EB2EB271A64 /* UIView+AnyPromise.h in Headers */, + E0DCC614B5D3633CA7C69B8365C7B1FB /* UIViewController+AnyPromise.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - DF45B1C128DFF8AEF6AE43100F37F695 /* Headers */ = { + C649DA93E3B58E81D61E07A54064D0DD /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 77139DC2D9391FB67052E765004AD9E7 /* HKDFKit-umbrella.h in Headers */, - 834BD3693B1E0351C935A3679115A06A /* HKDFKit.h in Headers */, + 496E77B9D8D3C0FB65C113538A054F07 /* ECKeyPair+ECKeyPairTesting.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - EB9486195A73516CA009B1851BF74367 /* Headers */ = { + CFF5527E929E7C5E54498E2040DC75F9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 77184BF48ED077B6EBB3B71122E14B6A /* GCDWebServer-umbrella.h in Headers */, - 026DCCF92892433D06DB604F9A0B1383 /* GCDWebServer.h in Headers */, - 7464625E1C3CF745E1CF28E255D1185E /* GCDWebServerConnection.h in Headers */, - 44881723BB01C654F544CD495252CA80 /* GCDWebServerDataRequest.h in Headers */, - 09E00BD6AD45240FFC09CC0374089FFF /* GCDWebServerDataResponse.h in Headers */, - 282BAFF6DBFB5F938338707047589C84 /* GCDWebServerErrorResponse.h in Headers */, - 2ED9ADB07D0551EC43FFF334B55C0288 /* GCDWebServerFileRequest.h in Headers */, - 96A5AFC0ACF76B8D19285A8D04E2DCDF /* GCDWebServerFileResponse.h in Headers */, - 091732D994F269C4B39D568AD04A0C1C /* GCDWebServerFunctions.h in Headers */, - 0161F4EDC7400ED4FAC61AB2083F51E7 /* GCDWebServerHTTPStatusCodes.h in Headers */, - 0E155405117BD2AA1692E97C3C5D4067 /* GCDWebServerMultiPartFormRequest.h in Headers */, - 3C49DCEF3D088F9202A89E7B8CF0ADBB /* GCDWebServerPrivate.h in Headers */, - AE4DD5793A2E613CFA7E62C556D4EA99 /* GCDWebServerRequest.h in Headers */, - 56B03EB09DFDC65C8C2D2228025681FE /* GCDWebServerResponse.h in Headers */, - A69F8F75AF81AC4D4988F02C9ED75B10 /* GCDWebServerStreamedResponse.h in Headers */, - 2906E96FE59181BED2552D4B7F4C218C /* GCDWebServerURLEncodedFormRequest.h in Headers */, + 18BF819E9E277D62396CB1BE11E8B8B6 /* SAMKeychain-umbrella.h in Headers */, + 092A1A1508D9F525A65EE03CF9BD339D /* SAMKeychain.h in Headers */, + 9E8934FEB27C800931221645AAB004AF /* SAMKeychainQuery.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - EE9E719AE9C68AC8598AFD19640FB668 /* Headers */ = { + D0C1B35DF9FADA3CF59BA35299B65349 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F7B90C83F3F252F0423D4FB634E0120F /* SSKBaseTestObjC.h in Headers */, + B75976E50035CCB70348B42418A63DC4 /* SSKBaseTestObjC.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - F1742E3B40F26938CF87BD130E3049CC /* Headers */ = { + D899A3C57F4FC045CA974ABB587F9876 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 94F9F8688418B290B6B7229D94567730 /* SAMKeychain-umbrella.h in Headers */, - 9F8DD36E0805676F5C2649FB4CAFD192 /* SAMKeychain.h in Headers */, - 76B26430563C7E7B07B591C2C880F06A /* SAMKeychainQuery.h in Headers */, + 0B731AB3DBDA921C73E6394CB1015606 /* Cryptography.h in Headers */, + 0B0E5EDDD50D710277CCF285DE02EAB1 /* iOSVersions.h in Headers */, + 0AA55BE24F0D5A5084D201A75A696B52 /* NSData+OWS.h in Headers */, + 6699595EEFEA3ECF6084BC6FD7956C08 /* NSDate+OWS.h in Headers */, + 2AC5DBD3B1399978A6A9A0D637538E7A /* NSObject+OWS.h in Headers */, + D44D42D6B6DC43EAAD81C52399E07A82 /* NSString+OWS.h in Headers */, + B02FC9DE501961D24B804F871227F139 /* OWSAsserts.h in Headers */, + 840DB74BBB19CD1F4B7716C2568F2A1F /* OWSLogs.h in Headers */, + 3EDEEADA1C6D2E3E2406D84B320F12E8 /* Randomness.h in Headers */, + 22F65A22881E5941B7ADA283D47824C6 /* SCKExceptionWrapper.h in Headers */, + F6C09BADEB3DE780EA488BF9732AF9D0 /* SignalCoreKit-umbrella.h in Headers */, + 3170D2E3F615ED1D72AA16E5F48B0BB9 /* SignalCoreKit.h in Headers */, + F095E2060245DD3D2DCF6F2748F3DEBA /* Threading.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - F48982B55F9DFDCBADCD2AEAE086995E /* Headers */ = { + DDEF1515021E865B89B9CDCC310A3E06 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - B5705D6D671A0A388A270C345520FE8E /* SwiftProtobuf-umbrella.h in Headers */, + 38938E94E6678F065A0235624EFA3FC9 /* Starscream-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - F7D77A4B7801FCA84C5D174289B6A9DC /* Headers */ = { + FA0BB0DC8DE8F4C28FE812A827AABC5E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 78D49F7CD05D53D464785799DA5980E3 /* mz.h in Headers */, - 1D4E05828C901501B069519D82781C20 /* mz_compat.h in Headers */, - E7E78FE50F4F2B90468A618D8F36E532 /* mz_crypt.h in Headers */, - F497506C233DBC6C86F8123A0B434EF3 /* mz_os.h in Headers */, - 87B64CF4E65E4888AA7AC12D8FEE5522 /* mz_strm.h in Headers */, - 5828B12BC5BC98774C137491998B63C2 /* mz_strm_buf.h in Headers */, - CB99EA663DFB261C3E7EC2375DE389CE /* mz_strm_mem.h in Headers */, - DDB5B521DD5D75A792834345B5E39C83 /* mz_strm_os.h in Headers */, - A994532C89785BC3597345C2D212311D /* mz_strm_pkcrypt.h in Headers */, - C2973957310753076FEDDF71516201ED /* mz_strm_split.h in Headers */, - 681761CD41DBE13CC5EA65BCE8A805F4 /* mz_strm_wzaes.h in Headers */, - 0FC80ADED37921C6ACB200829CB302EB /* mz_strm_zlib.h in Headers */, - 7D3A1B5512B3C07371BD81266C5E89DF /* mz_zip.h in Headers */, - 321D2EDABA433FB2868853E8658B841F /* mz_zip_rw.h in Headers */, - 9320EC68C9E04E3C646102098011670C /* SSZipArchive-umbrella.h in Headers */, - DE3A4944049361D979F48ED8CB541123 /* SSZipArchive.h in Headers */, - 492A685CAEDDE147B338BE112C65ACB3 /* SSZipCommon.h in Headers */, - A301856CD3973C4613D69DBBFA7E5C8A /* ZipArchive.h in Headers */, + E9CBFAED1F159EA3676EA916A171CDE5 /* NSData+messagePadding.h in Headers */, + 4E54DBB9ABCAFBC913656D5AF88BC14C /* SignalMetadataKit-umbrella.h in Headers */, + 89D48ACE3682CA49E5A9403CCAA1E353 /* SMK-Bridging-Header.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - FA1AC26BB212F8E327423B9F46CBE31B /* Headers */ = { + FE038A6F234B98D9795DCF68A16BD932 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 99EEA32F85C8CFC03F57E96E9BFF2962 /* Pods-SignalMessaging-umbrella.h in Headers */, + 84E2BBBEBD7669EED4D496AFA87B7498 /* Reachability-umbrella.h in Headers */, + 7E3C194473F90E37D773B456D60B7DF6 /* Reachability.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 09DE5267826842012EA747537263B74A /* NVActivityIndicatorView */ = { + 0273105E5C2FE9ECC03D5AD8ACC0CC21 /* FirebaseCore */ = { isa = PBXNativeTarget; - buildConfigurationList = 594FDA3DEC0FA111BACA42E21D057DEE /* Build configuration list for PBXNativeTarget "NVActivityIndicatorView" */; + buildConfigurationList = A3A1C1DAA87BC4D612CE1634CF672BEB /* Build configuration list for PBXNativeTarget "FirebaseCore" */; buildPhases = ( - 39D006847033A04A3D66AC88A9778A33 /* Headers */, - 0793D0A437B0EA0C590814DEFE7DD38E /* Sources */, - 79BBBAB95C72A17244DF491320816B46 /* Frameworks */, - 28FDB9C836D671059EDA13E27C6D0667 /* Resources */, + 8465367DD9938C108AFA047DB8CDBA0E /* Headers */, + C5606518219121D93541B80A649EDA36 /* Sources */, + 606CC843FE434E96B9F5C6295A17CD41 /* Frameworks */, + CD20BD1E69CAF0518BCC1478C615769B /* Resources */, ); buildRules = ( ); dependencies = ( + B704300A577A7D0A515137B9DE5ED118 /* PBXTargetDependency */, ); - name = NVActivityIndicatorView; - productName = NVActivityIndicatorView; - productReference = 8EEA55178DE1C2B5420F35813B5B143A /* NVActivityIndicatorView.framework */; + name = FirebaseCore; + productName = FirebaseCore; + productReference = 25A45352D1475FC650A29CD5F7A84613 /* FirebaseCore.framework */; productType = "com.apple.product-type.framework"; }; - 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */ = { + 02AD8789483D0C881D9CCA5ABB184877 /* Mantle */ = { isa = PBXNativeTarget; - buildConfigurationList = A8B11913319BEC77BB23566850644334 /* Build configuration list for PBXNativeTarget "Curve25519Kit" */; + buildConfigurationList = F146949F56104669A9691AA1A145061A /* Build configuration list for PBXNativeTarget "Mantle" */; buildPhases = ( - 37CA32FE2C8CFE5F18C63CE1ECCB2566 /* Headers */, - 70D3CC574C783F642C992EAA7D6BC400 /* Sources */, - 8B29F904F11B16A4BB6F54F954270435 /* Frameworks */, - 7D21D0920E4B394C291496A9D3E400DA /* Resources */, + 507C89C89B92DA032A4FF7F4FA62542C /* Headers */, + 822900AFE88CF62559F3CC340E1B2560 /* Sources */, + 47EB504BA1BDC8A6B4E4B24D4ED6853F /* Frameworks */, + 88E2D0988E1F12555452B0FD3426F572 /* Resources */, ); buildRules = ( ); dependencies = ( - DEED4538D6BFE7FE75D0574CD7732B69 /* PBXTargetDependency */, - C4640AE149CC18B6A23ADC0CE11C5AED /* PBXTargetDependency */, ); - name = Curve25519Kit; - productName = Curve25519Kit; - productReference = BA1704D6720C855F8E66FB2BD363F630 /* Curve25519Kit.framework */; + name = Mantle; + productName = Mantle; + productReference = 7AF5BA46DEDC3D1D5D23D3C956CE94C1 /* Mantle.framework */; productType = "com.apple.product-type.framework"; }; - 1FAF6137A1568F1846807A8A28D8C3D9 /* Reachability */ = { + 132A0C8FF2B6CBC9C118A3FA9FE3B5A7 /* SignalMetadataKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 0911C0C3312DD0D670F9B1F4E078DF86 /* Build configuration list for PBXNativeTarget "Reachability" */; + buildConfigurationList = 05352AF71794E33B1BCBFD856D0A1928 /* Build configuration list for PBXNativeTarget "SignalMetadataKit" */; buildPhases = ( - 733E61412BE6D9DFA1F4DCDD96FA8625 /* Headers */, - 8E2843192AF1ED53817825DEC9E092B4 /* Sources */, - 129DF61E3E98FC83E38215F02F861576 /* Frameworks */, - D7198FFDAABB6720442D312AB1D94F40 /* Resources */, + FA0BB0DC8DE8F4C28FE812A827AABC5E /* Headers */, + 238757F7F7060F7EF86E390B0F512699 /* Sources */, + 6E83B6D13897241D3EB97CAF8863A8E4 /* Frameworks */, + 18869AD3BD906F92ABBF35A69D0B260C /* Resources */, ); buildRules = ( ); dependencies = ( + 2E6DA58949B52B805EA1FCE09B9F11EC /* PBXTargetDependency */, + F05F638EE74B081D92E8E9D115022E56 /* PBXTargetDependency */, + 9257BFF7486D574EA097B4F389261C01 /* PBXTargetDependency */, + 13A454898011288B5CBFF1709137F3A8 /* PBXTargetDependency */, + F71C55B1378AE9D5D97BAD1C7488585B /* PBXTargetDependency */, + DB1802B0063930AEC91B43C6B9F51150 /* PBXTargetDependency */, ); - name = Reachability; - productName = Reachability; - productReference = B3FA4B07C1D395630B5B88FB22E9482E /* Reachability.framework */; + name = SignalMetadataKit; + productName = SignalMetadataKit; + productReference = 1A15B68F9DA15AA3B5AE6584FE74EF0B /* SignalMetadataKit.framework */; productType = "com.apple.product-type.framework"; }; - 217139450FBCFCCE72F03EFEE0C5DA38 /* Curve25519Kit-Unit-Tests */ = { + 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */ = { isa = PBXNativeTarget; - buildConfigurationList = 41A4EAE8A2C3B7C1B81B3BD534229009 /* Build configuration list for PBXNativeTarget "Curve25519Kit-Unit-Tests" */; + buildConfigurationList = B0AB84B9D87F9E09D8CE075254B29851 /* Build configuration list for PBXNativeTarget "SwiftProtobuf" */; buildPhases = ( - D1ABD5B961D808551BAB49E27A80E59B /* Sources */, - 5C58B4EEFB2038A19115356A50638E59 /* Frameworks */, - 60B62F5559FDB8995669C5345220F603 /* Resources */, - 46D491B585C1F069BBBEE985F8FFDB5A /* [CP] Embed Pods Frameworks */, - 584C9930BA91406BD154B72287DEEFA7 /* [CP] Copy Pods Resources */, + 27B1C091C37E936E3BD06E67F040C041 /* Headers */, + E08FC1B4C286281FF63A6BDD9ECBECCE /* Sources */, + C2F49112D64CF7681279B158DBC10B6C /* Frameworks */, + 711D15C37A3984F5C6538F4391C3117B /* Resources */, ); buildRules = ( ); dependencies = ( - 4AC13956679414046D29E7C7BEFAFB9C /* PBXTargetDependency */, - 2442DFEB1F7F8189B4B795E1FCF96F45 /* PBXTargetDependency */, - C74C9A14F888771B2552917B22C7E5C1 /* PBXTargetDependency */, ); - name = "Curve25519Kit-Unit-Tests"; - productName = "Curve25519Kit-Unit-Tests"; - productReference = 7780D82C996A534B6ACA0D30F60B4CE0 /* Curve25519Kit-Unit-Tests */; - productType = "com.apple.product-type.bundle.unit-test"; + name = SwiftProtobuf; + productName = SwiftProtobuf; + productReference = 70FD7C11461D8073F28EE094C7E0398E /* SwiftProtobuf.framework */; + productType = "com.apple.product-type.framework"; }; - 24F8DED46F845407BED93AD1BC0D4E85 /* SignalServiceKit-Unit-Tests */ = { + 27B11AA96B1C65EADA079565268D1E14 /* Starscream */ = { isa = PBXNativeTarget; - buildConfigurationList = F2F012F42D77DB53FD43E6A8DFCBBCBF /* Build configuration list for PBXNativeTarget "SignalServiceKit-Unit-Tests" */; + buildConfigurationList = 36A6987B7125441E611D56D180FC9EF4 /* Build configuration list for PBXNativeTarget "Starscream" */; buildPhases = ( - D4037C538F95223E5AB7B60B3A5E3FE0 /* Sources */, - 403151E8B56CE70C220E4172878E313D /* Frameworks */, - 26BEBC0D1A051C9EECB1728C2A8BB613 /* Resources */, - EE9E719AE9C68AC8598AFD19640FB668 /* Headers */, - 5387FDD6D3ED32A42F3F670A176E3ABF /* [CP] Embed Pods Frameworks */, - 71C129C2DD0C56AA443C5446840E7110 /* [CP] Copy Pods Resources */, + DDEF1515021E865B89B9CDCC310A3E06 /* Headers */, + B9994B01FCF4EE07A6E3380528B47AD4 /* Sources */, + 3E0D3A08F11C2F0B6B532E76BA7718F3 /* Frameworks */, + 1AEEAF787CDBFBFF6E68C7AB4CA8ECC2 /* Resources */, ); buildRules = ( ); dependencies = ( - 21DA551CDAC0080B51861FBFF021216D /* PBXTargetDependency */, - AB590ABDFB735498B6BCBD4A9399D047 /* PBXTargetDependency */, - 00994DD42AA1613D7DD0F9C476C89C89 /* PBXTargetDependency */, - C1FFB63C7CBE3DEE281599BA4F7F1026 /* PBXTargetDependency */, - C203F4506C0CCC6D1A712CD0877483E8 /* PBXTargetDependency */, - FD9F642083271885460916F87981A5FB /* PBXTargetDependency */, - 75A07BBDCF684EA049150FB94A1F5BC0 /* PBXTargetDependency */, - 45A60E60588B3EA271B989877CF999A3 /* PBXTargetDependency */, - 6707FC677A577BDBD78C093F867CD21A /* PBXTargetDependency */, - 536AE193692542A611FE7F1E9C1C37AD /* PBXTargetDependency */, - 7FEF486219FFCFB16346DBD7B1FD55B2 /* PBXTargetDependency */, - 842D39AC5C38A08C12C08AAF34DF2CF6 /* PBXTargetDependency */, - FD13E17FDA16B14AF7E338F5153EFEC2 /* PBXTargetDependency */, - 44E4C6B3BC3763814D0F1D4064F2BD06 /* PBXTargetDependency */, - 1556C850A17E7690625AE0D6C3E6ED12 /* PBXTargetDependency */, - CAEF370419B8296E95F2245C75FDF43C /* PBXTargetDependency */, - EBFA1D4089B45B74DEE28972CD532A9B /* PBXTargetDependency */, - 338C4E0988CDD33138858E1308587BC0 /* PBXTargetDependency */, ); - name = "SignalServiceKit-Unit-Tests"; - productName = "SignalServiceKit-Unit-Tests"; - productReference = 9113553455F8AAEB26F0399130813085 /* SignalServiceKit-Unit-Tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; + name = Starscream; + productName = Starscream; + productReference = 33340CDCEC682C7CE57162FB9427781D /* Starscream.framework */; + productType = "com.apple.product-type.framework"; }; - 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */ = { + 2C37A63BCEE15E2B9E8FB9A18C9671FF /* AFNetworking */ = { isa = PBXNativeTarget; - buildConfigurationList = 11B638A1726CE35941D1C8C733E5657C /* Build configuration list for PBXNativeTarget "SwiftProtobuf" */; + buildConfigurationList = 3BC7C9CC6FF024611BFB87B644F15540 /* Build configuration list for PBXNativeTarget "AFNetworking" */; buildPhases = ( - F48982B55F9DFDCBADCD2AEAE086995E /* Headers */, - F0C8ED209C7F02F884583A96BABD7AF5 /* Sources */, - 41BE21E9E14A7F78348D92AFD6A84C9B /* Frameworks */, - 0EE164232B865C7EAE7004DC03CC71CF /* Resources */, + 7910CAE3A0E0E77CF5110960340EB0DD /* Headers */, + 851631A347CD5A98B86CD9184DDED680 /* Sources */, + F34612A411F2DB99A83EB38C6B12A297 /* Frameworks */, + A17D73F784AFC2E652C8DA65AC4CDA7A /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = SwiftProtobuf; - productName = SwiftProtobuf; - productReference = 1CA9DCB081FFCA77E7EECC676D24EF95 /* SwiftProtobuf.framework */; + name = AFNetworking; + productName = AFNetworking; + productReference = 329ED33B1D6C1F1BCD6A9050315302C8 /* AFNetworking.framework */; productType = "com.apple.product-type.framework"; }; - 395A10739A240BAC3C8F54353EFCED90 /* FirebaseCore */ = { + 3524814E42E299FFBA2F6FA82E436DD4 /* Reachability */ = { isa = PBXNativeTarget; - buildConfigurationList = 164B3F6E8789E6565BA1F045D79184BB /* Build configuration list for PBXNativeTarget "FirebaseCore" */; + buildConfigurationList = 649A3FCF561F1D8D431D9B78E9F92097 /* Build configuration list for PBXNativeTarget "Reachability" */; buildPhases = ( - D507D640EEAB0EAAC822B7B7B48040AE /* Headers */, - 5236331CAEE8EA455009FE2E5B9E724E /* Sources */, - 46240D732C224D5A5FC8577F5EFAC24D /* Frameworks */, - 0E3DD78D24EC5D9851B9AF7C627EAEF1 /* Resources */, + FE038A6F234B98D9795DCF68A16BD932 /* Headers */, + D48C7E4C14E893AD8BB49D1C5E554626 /* Sources */, + 76B3810EAAA5480E566E245D9FE7D8E7 /* Frameworks */, + 450240AE0DD99F5DEE064992C2640F1C /* Resources */, ); buildRules = ( ); dependencies = ( - C9B7708A43C3DC7BDBD6F03EB4840803 /* PBXTargetDependency */, ); - name = FirebaseCore; - productName = FirebaseCore; - productReference = 7589DFA279A5C6D39B05C07C37D100F3 /* FirebaseCore.framework */; + name = Reachability; + productName = Reachability; + productReference = 8155C81B279FE36B315FF514412AB5E2 /* Reachability.framework */; productType = "com.apple.product-type.framework"; }; - 3966AB1BF4A267B3775E55BB346C42BB /* SignalCoreKit-Unit-Tests */ = { + 393F81D254FDCBBA782ED7224542A956 /* SQLCipher */ = { isa = PBXNativeTarget; - buildConfigurationList = 99CD158BE9083C496D7D5FBFE019C746 /* Build configuration list for PBXNativeTarget "SignalCoreKit-Unit-Tests" */; + buildConfigurationList = 87F783D31359C35DF193D1A4C1D577A9 /* Build configuration list for PBXNativeTarget "SQLCipher" */; buildPhases = ( - 7C7D136BA2FB312F1403748D1B6FB100 /* Sources */, - 8DCE37DD7CCF3807155B0C9E16ED18FF /* Frameworks */, - 230D8A07DCFC4B41FF5A89406858EB80 /* Resources */, - F86AF509285719EB34B21DFF17AA927C /* [CP] Embed Pods Frameworks */, - E4F2FE07FCAFB805160F8C5562A6FC02 /* [CP] Copy Pods Resources */, + 713F61D9BF20B428F55305F6222541D9 /* Headers */, + AD5C86EBFC5F530FF8E66B08AF831740 /* Sources */, + A06622BE8BDC36586646BE42D7B31BE4 /* Frameworks */, + 7ADBC3670FE941816C97B1A8A4370D6C /* Resources */, ); buildRules = ( ); dependencies = ( - E982023D79AE0D33A13B4E9A711BD6D8 /* PBXTargetDependency */, - 88CC2E711C4B2429BCB306972F4610A6 /* PBXTargetDependency */, ); - name = "SignalCoreKit-Unit-Tests"; - productName = "SignalCoreKit-Unit-Tests"; - productReference = 8992754FAF77B3095DF369590223E2F4 /* SignalCoreKit-Unit-Tests */; - productType = "com.apple.product-type.bundle.unit-test"; + name = SQLCipher; + productName = SQLCipher; + productReference = 681C34BD8749593FD38738AC8B8C3F90 /* SQLCipher.framework */; + productType = "com.apple.product-type.framework"; }; - 41534CD75578C922D789F429B9933B2A /* PromiseKit */ = { + 3AC929F2E4978F42ED9E9EA232D7247B /* SignalCoreKit-Unit-Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = DA87505DA83CB846617F7B11E285B9F6 /* Build configuration list for PBXNativeTarget "PromiseKit" */; + buildConfigurationList = 3A954DEC470D49E99484CD9AFDECD467 /* Build configuration list for PBXNativeTarget "SignalCoreKit-Unit-Tests" */; buildPhases = ( - DD6DED8EA2CCEA266A14CA0F2290D578 /* Headers */, - A8224A90EBD53E0CBBD9284C615187C0 /* Sources */, - BB5A81E22F9D3AE9C75D1AC95B81E517 /* Frameworks */, - 817109B592CA5157EEEA8B44066926EC /* Resources */, + A08152C8CAE23C9C6C47CF7E16F88F3E /* Sources */, + C6E7C1A6ED92C8513DB16CE827274231 /* Frameworks */, + 17BFD5CF51663B4D10C3FBBE465A5189 /* Resources */, + BBA4190432FA2933995BFF093C245F6E /* [CP] Embed Pods Frameworks */, + AEB15BD0230CEF0DAB4002104EDC0AEF /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( + 9179220F5E9F2B1418530056737201B7 /* PBXTargetDependency */, + 66B4A235663A7908DCFA6B7F9F5D9DFC /* PBXTargetDependency */, ); - name = PromiseKit; - productName = PromiseKit; - productReference = E3DDA40DCB57E6FFC472438829550828 /* PromiseKit.framework */; - productType = "com.apple.product-type.framework"; + name = "SignalCoreKit-Unit-Tests"; + productName = "SignalCoreKit-Unit-Tests"; + productReference = 581819E709477237E44A68D8D0F8F3C2 /* SignalCoreKit-Unit-Tests */; + productType = "com.apple.product-type.bundle.unit-test"; }; - 45912FCC22A1728F871BB6ED08546686 /* YapDatabase */ = { + 3FC719A0D2B2FA321E696D83720CAC6F /* SignalServiceKit-Unit-Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = FC821FF9140E0E030CFFC52C1D218DEF /* Build configuration list for PBXNativeTarget "YapDatabase" */; + buildConfigurationList = DD32EB39A3A8D1E37CAE621A2679E269 /* Build configuration list for PBXNativeTarget "SignalServiceKit-Unit-Tests" */; buildPhases = ( - D394062C314BC18A2983AD3AF297C1B3 /* Headers */, - 4B7C11DD5835DAAB6EDC0125C7ABAB39 /* Sources */, - 70BC52AC1F89CE7589FFF658DB4F1A3C /* Frameworks */, - BE091DA43B73D900992DB99734DACBA7 /* Resources */, + DC8B0C59FA6010A06D02D95BDCA04B2B /* Sources */, + 4479BE53C4DBB5AE6B82D40E2D323692 /* Frameworks */, + 34EFD52DC9FBE242F6446277A3D041C5 /* Resources */, + D0C1B35DF9FADA3CF59BA35299B65349 /* Headers */, + 40B02F439D4DE6D243B418E5EE348CB5 /* [CP] Embed Pods Frameworks */, + 9D212B15B269792802693011CC87A1FC /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( - 253A0B6880D009517B595A954BC56D12 /* PBXTargetDependency */, - 3E7F7C8A77BAAD64C7244772D71A8573 /* PBXTargetDependency */, + 9C1D56FEA599058248C86F314375014D /* PBXTargetDependency */, + F7985EED3D7A9F7CED0594A8E8A5C3AE /* PBXTargetDependency */, + 2B276FBC69F2B31AABA9AD5101E051BE /* PBXTargetDependency */, + 2C1BD4C569824089D4183C406AE1EE49 /* PBXTargetDependency */, + E8EE9364C20C1A15ECA173C7747902F6 /* PBXTargetDependency */, + 58B12A703D156F30CBF84A9E5874D305 /* PBXTargetDependency */, + B869F37B003E5B29966744E8BC1503EB /* PBXTargetDependency */, + B655DAAD1BFEEC2D88F0031661BB36D7 /* PBXTargetDependency */, + 6E404D650A1B287955AC98C3DF21352B /* PBXTargetDependency */, + FD26EEE5DA7A1078ACED7BA34584B97B /* PBXTargetDependency */, + D0B9CF4E6455F6ED1B6396254B0AEFE6 /* PBXTargetDependency */, + C02899AEE980B3A87CE2F457D9D8DCAF /* PBXTargetDependency */, + AFF6A03BCD71C0ACCC081DD6D1D18080 /* PBXTargetDependency */, + 9A254D154F8388957584404C9BBAE4A8 /* PBXTargetDependency */, + 15DAA106A65BB4663636C82419253003 /* PBXTargetDependency */, + 8111A3FA3A8CABDD8067BE40256665A5 /* PBXTargetDependency */, + 02E05DA06842368200AC65D3EBCC8322 /* PBXTargetDependency */, + 1575297A52605357BED28CC76330D0AB /* PBXTargetDependency */, ); - name = YapDatabase; - productName = YapDatabase; - productReference = 8A5A34DE07C4555F4BB1ABDBA939FD05 /* YapDatabase.framework */; - productType = "com.apple.product-type.framework"; + name = "SignalServiceKit-Unit-Tests"; + productName = "SignalServiceKit-Unit-Tests"; + productReference = C72915A837933F6049CE8ED9C24BFD64 /* SignalServiceKit-Unit-Tests */; + productType = "com.apple.product-type.bundle.unit-test"; }; - 49FAFF275E9A07AA126D6878881F91E5 /* libPhoneNumber-iOS */ = { + 462AC13EC68E19388E93FBAD92C6E444 /* PureLayout */ = { isa = PBXNativeTarget; - buildConfigurationList = DB7135F7611822A80A46AD39FD2D9136 /* Build configuration list for PBXNativeTarget "libPhoneNumber-iOS" */; + buildConfigurationList = F3FC9916DFF388D129E80812B5306630 /* Build configuration list for PBXNativeTarget "PureLayout" */; buildPhases = ( - 4B7C76C876E0F3B69060508020E74730 /* Headers */, - FDC143084AC1A4E162FEAA7470D837F4 /* Sources */, - 9C55C5B3D2C56ED274CCD30F676F4458 /* Frameworks */, - AAD109E25A6126C1186118E7E8CFA6C1 /* Resources */, + 49A4A6A32421B964867B3213431429E5 /* Headers */, + A03ECCC418B967D0AA32A8F31BFE0C56 /* Sources */, + 379680ABB8300A4D6B87360F686FF979 /* Frameworks */, + E54F57E5E86D93346A1BF64BA3AEB178 /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = "libPhoneNumber-iOS"; - productName = "libPhoneNumber-iOS"; - productReference = A288452B4E66186199AD507AB8DF0188 /* libPhoneNumber_iOS.framework */; + name = PureLayout; + productName = PureLayout; + productReference = 07A8E0A206B822BE72F9D79BC67AA120 /* PureLayout.framework */; productType = "com.apple.product-type.framework"; }; - 4FFAF1D1A73CB5CC1EB0364739D6FE18 /* Pods-Signal */ = { + 506354962CD5853118387855A2A03D73 /* NVActivityIndicatorView */ = { isa = PBXNativeTarget; - buildConfigurationList = 0EF8B0134FC7244DA328FBF19C3BF33A /* Build configuration list for PBXNativeTarget "Pods-Signal" */; + buildConfigurationList = C9322796231CF6BDF26D935F0DE4EEF7 /* Build configuration list for PBXNativeTarget "NVActivityIndicatorView" */; buildPhases = ( - 1E3AA9157E91DC6C2F765BE3C343C817 /* Headers */, - DC9200FA701C85DB06721E35D5831DCF /* Sources */, - BBF035AFBA5A380F9772600D300ECCCD /* Frameworks */, - 0151504B6B12C23789B8581AF8BD4A77 /* Resources */, + 6ACF6627ED9F2C0FFFE2C9EE938EF3C3 /* Headers */, + FAF61EACB857AC67E1A7566B54A8ECDB /* Sources */, + B0D7B9AB8AE6EABDC71D038D1FAF3121 /* Frameworks */, + 22056AB7C3198161DBCCCF966D0F5B35 /* Resources */, ); buildRules = ( ); dependencies = ( - E420F4B2BAF06CF9B6568EB8A9EEEFBB /* PBXTargetDependency */, - 3D04190998D2D6C856F841E8626B69E6 /* PBXTargetDependency */, - D900F3A0E9F9774BA65872030569BC33 /* PBXTargetDependency */, - 2D18E07417DC897D744353044D7A1565 /* PBXTargetDependency */, - 3A3D925A43849B55CA8EF90CE6020145 /* PBXTargetDependency */, - 6FCBEABA2C62C1A9D0ABE8AA932E0095 /* PBXTargetDependency */, - 26CBFC0F92B1FF63AD169428340A6175 /* PBXTargetDependency */, - A9CF806EA0189E22F7DE9A9FFF1561FA /* PBXTargetDependency */, - C26A77D3369AC67035AC0EB9405BAC8A /* PBXTargetDependency */, - A8E456112118ACE379FAA0C9511452AD /* PBXTargetDependency */, - E40BB81401B7C2A6A261BBAB16032442 /* PBXTargetDependency */, - 951985CE8EE6C0B9FA9F890C605FB162 /* PBXTargetDependency */, - 6FD8510B9EED1BAA67FEC1D2B7DCD030 /* PBXTargetDependency */, - 024442ADE38BB0279C3A40AD7B522D13 /* PBXTargetDependency */, - 9E54F10FAC78BF30850753E41409BCDF /* PBXTargetDependency */, - 76AB11FAFE0696C6AB2323664026736F /* PBXTargetDependency */, - 2F6DA8292B29431CC0B0FF5170125865 /* PBXTargetDependency */, - B1E1B6E481C6B511855E944622E28176 /* PBXTargetDependency */, - 03794F12EEE88A38C22E3BDE46C91787 /* PBXTargetDependency */, - 8D014E3E519457E8EC6C27081D3941F1 /* PBXTargetDependency */, - 5B626957369C8D42DD8432D514AA4FA5 /* PBXTargetDependency */, - 075E67D4B53D3A8EF0D4FB9D041E95E8 /* PBXTargetDependency */, - E3EBD8B6A90BB5AAAB7C4F0B9BAA14F2 /* PBXTargetDependency */, - C813997B08F22DB1D69B0614ACFC33FE /* PBXTargetDependency */, - DFF3A460159D4F8025BC90866B31017C /* PBXTargetDependency */, - 787A53E729F9F3431D010C2F6493730D /* PBXTargetDependency */, - 1399F33E7B6F1903C768725BBBD7C368 /* PBXTargetDependency */, ); - name = "Pods-Signal"; - productName = "Pods-Signal"; - productReference = CD046EEC980422E161969C30F68CA5A3 /* Pods_Signal.framework */; + name = NVActivityIndicatorView; + productName = NVActivityIndicatorView; + productReference = 5A32ADBEC9CC5472FF684F6F255A0891 /* NVActivityIndicatorView.framework */; productType = "com.apple.product-type.framework"; }; - 7FA3555E24406A2581210A6508CA2F60 /* YYImage */ = { + 56FEAC3FCA8ADA9B6D3602FBA38B2527 /* SignalServiceKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 6228A62A802072E7066D4C2642F0B2E5 /* Build configuration list for PBXNativeTarget "YYImage" */; + buildConfigurationList = EE0B9A9BA9D656D68F7B359B734DFFA2 /* Build configuration list for PBXNativeTarget "SignalServiceKit" */; buildPhases = ( - 86321CBD1319C9E1959AE688E02F393E /* Headers */, - 80F6A8335E056CFD592EFE2920BF529A /* Sources */, - D0A3CD299C7729FF2ED5C5D9A1556E26 /* Frameworks */, - 92926E7EDF4B08AFCEDC73D7BF88CEC5 /* Resources */, + 653D8967AB15016F520920F538902CEF /* Headers */, + 3D39C12C9EB47E6F1B60810B5044A638 /* Sources */, + 44FD3C0C4085A3862E7D7E0125E9F7D0 /* Frameworks */, + EE82E3DB240C0CD8B8D41D1BB2A4E9E8 /* Resources */, ); buildRules = ( ); dependencies = ( + D0D0F6A656EF7EC8B1A0703D36C4878D /* PBXTargetDependency */, + 8520833E7C423940B490E4829F782F27 /* PBXTargetDependency */, + 54EF2AD1217CBB5C78367867D8F9D9CA /* PBXTargetDependency */, + CEB3DC58C001AEB9E0EF13E885CDC81E /* PBXTargetDependency */, + 3940A04FAFC52A32BC6168E4327C2352 /* PBXTargetDependency */, + 6A8E3E656C2C1C407CD1EAA08820EC59 /* PBXTargetDependency */, + 6960073F1689D89A231463809FC8487B /* PBXTargetDependency */, + 3A22ED071901F56FAE06552CAE448E81 /* PBXTargetDependency */, + E8B9DCF74C4D2F2FB3B34C6C881732D5 /* PBXTargetDependency */, + 80B8CFDCB15D00F2A4752CF731B06E61 /* PBXTargetDependency */, + BD8A69CD5598581A0444336987039AE9 /* PBXTargetDependency */, + E06842AA18C550C75053D1F982C48A6A /* PBXTargetDependency */, + EBA5618986E5FF78D54A5069FCFA3410 /* PBXTargetDependency */, + 65CFE4690D0C3B035D110DEE867B8521 /* PBXTargetDependency */, + 325ABD92D12A5C3A4F7DB9A869BDCCCC /* PBXTargetDependency */, + E789602EDF5E6792F72B32E55052E889 /* PBXTargetDependency */, ); - name = YYImage; - productName = YYImage; - productReference = 2A6183BB69CE45E2C1A1BC08ECDAED4C /* YYImage.framework */; + name = SignalServiceKit; + productName = SignalServiceKit; + productReference = C55423988A91ED5FCD9F4E9DB5653580 /* SignalServiceKit.framework */; productType = "com.apple.product-type.framework"; }; - 92CA30D42B7F2C151CBCF42BE7146BEC /* GoogleUtilities */ = { + 5783A6B91DBF889771EAA03EC02E2842 /* GCDWebServer */ = { isa = PBXNativeTarget; - buildConfigurationList = 2FE4B4CFF8A9A62C916D8A8B6C85481D /* Build configuration list for PBXNativeTarget "GoogleUtilities" */; + buildConfigurationList = E8DB24FB6AE4B5C49E40F19C43CC314C /* Build configuration list for PBXNativeTarget "GCDWebServer" */; buildPhases = ( - 58D9DCA0B2B90B71448DB524486D19FB /* Headers */, - 35517476633D5B064D658C006D1083D2 /* Sources */, - 7B8E0CC223FD5EC9D41F48E4F31488EB /* Frameworks */, - 4373CC87FF532CF592F815E3D24E0361 /* Resources */, + 30612FCB020CD8FF4B5FBB8F655B7B98 /* Headers */, + 9715775D8574D8FC673FE87A32E7CD93 /* Sources */, + 7E8597FF818198DB3CE3BF12DDE86C16 /* Frameworks */, + 9D06509FB90C93DBC87213F98820C8E5 /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = GoogleUtilities; - productName = GoogleUtilities; - productReference = 65508B82682C0559B97564BC5B5E4A98 /* GoogleUtilities.framework */; + name = GCDWebServer; + productName = GCDWebServer; + productReference = 3FBF033A7EBFF938079087CBC303E265 /* GCDWebServer.framework */; productType = "com.apple.product-type.framework"; }; - 96E0FF0842268DE2B90280E135C82C02 /* Mixpanel */ = { + 5B34FB0B5ABA685EF33F1BA1C388F016 /* AxolotlKit-Unit-Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = 1A8E6DB5187E7BC70C5611DBB8207D11 /* Build configuration list for PBXNativeTarget "Mixpanel" */; + buildConfigurationList = D5D23832A3A680E50C931DEE8B5CD338 /* Build configuration list for PBXNativeTarget "AxolotlKit-Unit-Tests" */; buildPhases = ( - 5B68627D930C2717BB60BFB093E6A947 /* Headers */, - 04A2C21CC9A1526A674F131E6E790DD9 /* Sources */, - 420F1D963817587EA101849E4856ACE0 /* Frameworks */, - 23890821913F6F443AC63FE73FE5829A /* Resources */, + 471F9A86ECE4264BD08727EFC4B81FD1 /* Sources */, + 9E5DED77FB6E3C44A5C5AF562221EF02 /* Frameworks */, + 179ECE9D9D06592EFF9098A0F5DAD935 /* Resources */, + C649DA93E3B58E81D61E07A54064D0DD /* Headers */, + 875E1F056DD95F46452F4AF15783264E /* [CP] Embed Pods Frameworks */, + 9AE6B976C163E990831FBB9AAA09560A /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( + 050D395286BB8C9C1CBF46A8473753EA /* PBXTargetDependency */, + 950ED1A444775F301301DD5343C5AD7B /* PBXTargetDependency */, + 2AFF5F06D48546E856E5EA5786F43BB4 /* PBXTargetDependency */, + D75EF935D8352E4A628EFAD2F2BE3F0C /* PBXTargetDependency */, + F71EBB948DA58F2F5E570CADAABE42AD /* PBXTargetDependency */, + 2EE25836F8D360FF50FF8C25C28EC2D3 /* PBXTargetDependency */, ); - name = Mixpanel; - productName = Mixpanel; - productReference = C3C685BEAACC9CA9712EB060669F8049 /* Mixpanel.framework */; - productType = "com.apple.product-type.framework"; + name = "AxolotlKit-Unit-Tests"; + productName = "AxolotlKit-Unit-Tests"; + productReference = 1C8EE178F54A48DC6BF72B2CD6D9B64B /* AxolotlKit-Unit-Tests */; + productType = "com.apple.product-type.bundle.unit-test"; }; - 9BD1D084788925526680BE28E517A85A /* SignalMetadataKit */ = { + 5E1CA8DF6C68BB9B63134EB9BA3CB8EF /* Pods-Signal */ = { isa = PBXNativeTarget; - buildConfigurationList = 7C30389165B5E65431E55C676BD711D2 /* Build configuration list for PBXNativeTarget "SignalMetadataKit" */; + buildConfigurationList = D85D6CEE7C19B03659C089E27F5F483D /* Build configuration list for PBXNativeTarget "Pods-Signal" */; buildPhases = ( - B6440CDFBB35F11D2141CCFC413F7AD4 /* Headers */, - B887B8B082BBDA21FD5EB9F9AA0E01E4 /* Sources */, - 942DE3A105085202237779C0301BD498 /* Frameworks */, - 93117C220B3FEBD3A89D2350BFECCD55 /* Resources */, + C3F2829019C4DB1F7B501424F50F256E /* Headers */, + E792FDF27E5E39F760D0C359876934C4 /* Sources */, + 85CD002C37E7F3212EB0035A8EDF1177 /* Frameworks */, + CA9D0399A8F929C7193122862F3B60DA /* Resources */, ); buildRules = ( ); dependencies = ( - 5C17D646C9B1A6632D1C4BE05B66A1F9 /* PBXTargetDependency */, - 8991F23E60A231DFECDCBD48D7380695 /* PBXTargetDependency */, - 5955ED73D0FD2FA4FB19986A49F863F3 /* PBXTargetDependency */, - 55F88A4C2F14B853E7B32243448F2729 /* PBXTargetDependency */, - 21451C1D34E0FDBFD6C7D1D122E2581B /* PBXTargetDependency */, - 5E508C5F5A0FFD97836740A4ABE5CCB5 /* PBXTargetDependency */, + 807E34FAE3A1989CA613E42F625E7E9E /* PBXTargetDependency */, + 0587BF1C3805F8AABCA88E7EFFDB3BDE /* PBXTargetDependency */, + 02C9E52AA8527199653CE370BE720360 /* PBXTargetDependency */, + 3D95A8E41D61FFA09D2C891FDF0A6462 /* PBXTargetDependency */, + 4EFA4009726FC7677BF7DCC0CEE0C262 /* PBXTargetDependency */, + 9D53C59CD8C5D0711BD78ACFBFEBD5F8 /* PBXTargetDependency */, + 7443A75A862748384258CDF851714CCE /* PBXTargetDependency */, + 728339716C1F0A1A1D1EF00D5A1D8EAB /* PBXTargetDependency */, + 7AD0DFC53D06B4FB8B2EA14B902E465A /* PBXTargetDependency */, + D5156FB2AD064F63D6F292149A0D28D9 /* PBXTargetDependency */, + 8A0491565CF52E2A4849040152F25DF0 /* PBXTargetDependency */, + 51A0AE693C83948580CF377F9CADBD70 /* PBXTargetDependency */, + 3F5B3A18BED27608B2E7413D2707A2A2 /* PBXTargetDependency */, + 6235E2757043E090FD8059B2849F01F7 /* PBXTargetDependency */, + AB4BC5DAB95D0E396E961DC3DB51ADD4 /* PBXTargetDependency */, + 94DA85B9D17147AAF7621CECDAFB04C7 /* PBXTargetDependency */, + AEC5B52C837F6B0AC61099D4EC0287CD /* PBXTargetDependency */, + E70196EFDD2E33B4B47F8CF340A87796 /* PBXTargetDependency */, + F5A575DAD2BC7610C10D4191AFDF6143 /* PBXTargetDependency */, + 27D026945ACE4D0A86FB082F5A51318C /* PBXTargetDependency */, + B169D43FE83ABBC00486AC77EBFEE22E /* PBXTargetDependency */, + 2769A1CC91D8DC3C832A1344E3DB22D9 /* PBXTargetDependency */, + 924F9AA037F2457D0CAD79C808B424B1 /* PBXTargetDependency */, + F4BC295884268A54AC1C8CBE1DDF751B /* PBXTargetDependency */, + B5F5D59494588905FE9E97576B049BD0 /* PBXTargetDependency */, + 316556CBE62BAE2FFDDB1B81F272BC86 /* PBXTargetDependency */, ); - name = SignalMetadataKit; - productName = SignalMetadataKit; - productReference = B433DF7CEDCC1965316A09EF9CE6D728 /* SignalMetadataKit.framework */; + name = "Pods-Signal"; + productName = "Pods-Signal"; + productReference = 84A828D1DB2C335AF3EA79714BDE065B /* Pods_Signal.framework */; productType = "com.apple.product-type.framework"; }; - 9FD977E8321FA670C8C84B8F85CAAA83 /* FeedKit */ = { + 72CE0781BEB6863039B2996AC3C4B250 /* FeedKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 084F0EB7C883ABFE6212C179066C2400 /* Build configuration list for PBXNativeTarget "FeedKit" */; + buildConfigurationList = C195449A058EA7BA81AE4CF4EE7A788B /* Build configuration list for PBXNativeTarget "FeedKit" */; buildPhases = ( - 2EC8E2228671160765F371830B0894A1 /* Headers */, - FD49A8207A456747775B37CFDA0C36C3 /* Sources */, - 1212A7DB37E237112BD07170CEA83206 /* Frameworks */, - 5CD6562DDB658165AD5D299DFC1CF13C /* Resources */, + 98C25EE831777B7682D6BD4C31717F40 /* Headers */, + 8A3E54B2738D1D7A5CD09314CEEDFBE8 /* Sources */, + F6B77A3FB8FD9018336A8C117630F978 /* Frameworks */, + CBF5D2222684D759BFFD3C19DD99BD70 /* Resources */, ); buildRules = ( ); @@ -10198,489 +9731,488 @@ ); name = FeedKit; productName = FeedKit; - productReference = 3E14CC41F29722DB82EAA0CF5E4FDDDE /* FeedKit.framework */; + productReference = 2EC2060B048F8FC8F112C33409D0FE6B /* FeedKit.framework */; productType = "com.apple.product-type.framework"; }; - A16588799C7A0AB3A5ACEF8339CCB8BC /* SignalServiceKit */ = { + 7BE161B1BFC0D58A73E980CE09E30805 /* GoogleUtilities */ = { isa = PBXNativeTarget; - buildConfigurationList = 130473578DAC45C961EC8A95A9608B68 /* Build configuration list for PBXNativeTarget "SignalServiceKit" */; + buildConfigurationList = 0373F6C57DD927702C4E94B34263C74A /* Build configuration list for PBXNativeTarget "GoogleUtilities" */; buildPhases = ( - 94EE2C54291EF96BFF5268B2C504AEA0 /* Headers */, - 02F0881EDAC3AA8AE88D2D50BDE32807 /* Sources */, - CF36527B8CB53C33DDBB9E5529330256 /* Frameworks */, - 6BEA288FDDA65BD240A69C71D5BC4E7C /* Resources */, + 5DB8D6F81FB870C4CD0747DE40309C1D /* Headers */, + AB560FDE79854855EF51D95253019828 /* Sources */, + 048703C2577FE4B0E00CCA048D0A5443 /* Frameworks */, + BB01F9332A35E5F143A95926BE053BD4 /* Resources */, ); buildRules = ( ); dependencies = ( - A965D57BB5A9B66DB5FB1C80525BF52C /* PBXTargetDependency */, - 090A8EDF2EEBEF146AEFD737C95D6D9F /* PBXTargetDependency */, - A9E6A09A805212C7516A1DA8A833DAD4 /* PBXTargetDependency */, - 1AA515A689A3326B403650D499D9CD51 /* PBXTargetDependency */, - A71D5DB9777AC3A520CE06D7E41A22D7 /* PBXTargetDependency */, - 1030E3CB2029DB4DCCC36C1C15A9522A /* PBXTargetDependency */, - 40156DA0EE7F3DF492736CD370B77E50 /* PBXTargetDependency */, - CB50E9A4F437E81C52024493CD2F51BF /* PBXTargetDependency */, - EFC8D2439376662E7FF487DFACA094A1 /* PBXTargetDependency */, - 2CDE723B9568EE6DE255EB6BD3ADA4AE /* PBXTargetDependency */, - 04CC6153B1954599BEA23E1D0744CC95 /* PBXTargetDependency */, - B2329C431137CEE9B9127CE93A3D14DD /* PBXTargetDependency */, - 7ACA827F1862B683D42797866811F2CB /* PBXTargetDependency */, - 8C95198C9626BEF99EA9CBB08FDF86CF /* PBXTargetDependency */, - BC7AE58E29434F821E1D10B23BACFFAF /* PBXTargetDependency */, - E857135E2EFE74C2EAD77BB20CF75669 /* PBXTargetDependency */, ); - name = SignalServiceKit; - productName = SignalServiceKit; - productReference = 359F720D8AEA1089BCA448A8951FA4BF /* SignalServiceKit.framework */; + name = GoogleUtilities; + productName = GoogleUtilities; + productReference = D9133DAEBA618BF560476BEC1A15287D /* GoogleUtilities.framework */; productType = "com.apple.product-type.framework"; }; - A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */ = { + 8362105D5E1254A82E4BA3875F887F0E /* PromiseKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 3418B258FB5500DADFAE03859AB38253 /* Build configuration list for PBXNativeTarget "SignalCoreKit" */; + buildConfigurationList = FFF17FE7492E76AC67FDAF083649EDAD /* Build configuration list for PBXNativeTarget "PromiseKit" */; buildPhases = ( - 3A44549F5043828D742C10DA9EC02035 /* Headers */, - E2E07C68822394CF18B9D3E0B9855476 /* Sources */, - 7D639633FC24919E5EC6254EF4BAD396 /* Frameworks */, - E7D606ACC46E8A30E78F0B4864F54181 /* Resources */, + C47BD199F2778323D08CDD4E9C4B6D49 /* Headers */, + DC63338943990547A1C95C94B94280BC /* Sources */, + FCA02ACA29A36250461939A344691B79 /* Frameworks */, + C753C412A85EA43D2794948DE4F2B72E /* Resources */, ); buildRules = ( ); dependencies = ( - 7FD4A85FD8FE66231B7C9B632D33CF04 /* PBXTargetDependency */, ); - name = SignalCoreKit; - productName = SignalCoreKit; - productReference = 9182C549B38444FEA44E7E002C04A2BD /* SignalCoreKit.framework */; + name = PromiseKit; + productName = PromiseKit; + productReference = C9E514F42AC74F38A10B7680E92DC523 /* PromiseKit.framework */; productType = "com.apple.product-type.framework"; }; - A8145F0B7A3D820A0FDA58384A020B6A /* Pods-SignalTests */ = { + 8D899A7512B8E2CAD748A9EBE5DAB484 /* CryptoSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = 40B9AA563E10676DD67EC136B122F6D6 /* Build configuration list for PBXNativeTarget "Pods-SignalTests" */; + buildConfigurationList = 6347623FF36274C42C853BA39E934944 /* Build configuration list for PBXNativeTarget "CryptoSwift" */; buildPhases = ( - 1CBFDEF2CDD67FDFDA21DDCD33E56E7C /* Headers */, - 274593F11CBAC58B9A0590DD8D6307BF /* Sources */, - 1CB331DD20723D6F138471CFA861CAEE /* Frameworks */, - 33187C33B9692B63B5970F9D13D30E31 /* Resources */, + 8FA6032A69C2B94503B10D7AC05562DA /* Headers */, + 06BBBA079E7CAA34A3BFCB85AA20CE39 /* Sources */, + EA388188061844673F0EB90F77BFDA2E /* Frameworks */, + 33FD48B8DAE3297684A6B57BE8CD6BED /* Resources */, ); buildRules = ( ); dependencies = ( - F302E42FC276EBA793F0A2915C0419D4 /* PBXTargetDependency */, - 9F84B1802C52C4012AAF1B93FF4B40F8 /* PBXTargetDependency */, - 10A41C4F55F95864AC076231DD409E08 /* PBXTargetDependency */, - CAB3FF3E5841223CD098BF904CE8E9C8 /* PBXTargetDependency */, - 97EF0ABB3ED7C36BF3808E7D0A254EC3 /* PBXTargetDependency */, - 67E83681A01109854408E19B2258A761 /* PBXTargetDependency */, - 8EC099AE0BEA84579005806FB20FA8A7 /* PBXTargetDependency */, - 329B1CD491A9F49CAFB504811C00C04B /* PBXTargetDependency */, - 0883BC413A17C7489766FB93276C1714 /* PBXTargetDependency */, - 8685FE64406D5D021C4289B7308599FB /* PBXTargetDependency */, - DFC42A17C79636E811212C342E38FB5A /* PBXTargetDependency */, - 2CDDAA8C6FB35871B898A127D898644A /* PBXTargetDependency */, - 7A140D87F6FF707B8C4FF60D16EB3B36 /* PBXTargetDependency */, - 0D2C3DDDC23231FD322F6D70348AD0A8 /* PBXTargetDependency */, - 0214D0FA3825C6E3556EEC7FACBC37FA /* PBXTargetDependency */, - 648D22F6921BD3AE4368511966C555B9 /* PBXTargetDependency */, - 4492985812F44383C11FF34C4DE659CE /* PBXTargetDependency */, - 7D32F49B3BE5FC5CB3CA6EE0A20A51D7 /* PBXTargetDependency */, - 7065B215FB31AC273FEAD8E74E5D1294 /* PBXTargetDependency */, - A231493FC8F9D8CF9F1348FA61844405 /* PBXTargetDependency */, - 2CF58AF14B0995ABAB45EE3A49A28876 /* PBXTargetDependency */, ); - name = "Pods-SignalTests"; - productName = "Pods-SignalTests"; - productReference = AA7BD6E45521F5B31FF69A8D83FB1FDB /* Pods_SignalTests.framework */; + name = CryptoSwift; + productName = CryptoSwift; + productReference = 8BD558EDBB0A6D832D52F7A38510D4CA /* CryptoSwift.framework */; productType = "com.apple.product-type.framework"; }; - B620B404CB76E484E77870B9AD32320E /* SignalMetadataKit-Unit-Tests */ = { + 92057C418B970541FF6BE6E64A49D8C2 /* SignalMetadataKit-Unit-Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = B8259DD8BCF711E26F7C4D018FCB8E4A /* Build configuration list for PBXNativeTarget "SignalMetadataKit-Unit-Tests" */; + buildConfigurationList = A02BD64FEF99FE2B5131EC338BFCEB55 /* Build configuration list for PBXNativeTarget "SignalMetadataKit-Unit-Tests" */; buildPhases = ( - 2DF3F4DD9113A79E15FCA60BFB005952 /* Sources */, - 62FA98121BCA39FD226CCC7F09B780D7 /* Frameworks */, - CB3CAA8731B35A2CD34B7FAF1CA7FFAA /* Resources */, - E7BE6D6A8D8913CAA8B4975837119525 /* [CP] Embed Pods Frameworks */, - 45EBA823E0CEE669107BA83AEE7367E3 /* [CP] Copy Pods Resources */, + A61274E09F63F4908B14692B1CB8257B /* Sources */, + 26750B28E8C2FE2549A8078F38645BF4 /* Frameworks */, + 79A264E0968EC8AFCDDBE4D0B67BADFE /* Resources */, + A0649AFED0075DEFACF1ED3F0D2871D3 /* [CP] Embed Pods Frameworks */, + C8B38306CBF54CE641695B7B52C3A6C1 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( - F88F7681E72567EA2688E2B863F5B45E /* PBXTargetDependency */, - 5542DCA6069254DA7B602697D9775312 /* PBXTargetDependency */, - 389D789D07D2A338ED897F832D5FC635 /* PBXTargetDependency */, - D34395B0B26E402E4182467D199B447B /* PBXTargetDependency */, - 697858999A099C41FB54A09F69E285BE /* PBXTargetDependency */, - 19FEB7C15630C7508FFC7F0F5E4DBDDC /* PBXTargetDependency */, - EEF85AD93EB5C227065BC1215D6C4D11 /* PBXTargetDependency */, + 8ADCC8B53D8647FF022CF9E321424E24 /* PBXTargetDependency */, + 9A1E28F9185196830A1139D7EB355634 /* PBXTargetDependency */, + 63C7C7AC2FC747AD135D40012A445A59 /* PBXTargetDependency */, + 0E38F288CF2EA362757A2B9A97EC29EB /* PBXTargetDependency */, + D8F8096D6FCCC1989425C707363BDFE7 /* PBXTargetDependency */, + 4098764681349C4AD0D6BD1E5430B5D2 /* PBXTargetDependency */, + 07810E61BF835317E19116B924B6FEA5 /* PBXTargetDependency */, ); name = "SignalMetadataKit-Unit-Tests"; productName = "SignalMetadataKit-Unit-Tests"; - productReference = D138038E11C2DA0FFEA3DCF86CA49BA8 /* SignalMetadataKit-Unit-Tests */; + productReference = D3D8DC81CC082F6C473DA7861A213E53 /* SignalMetadataKit-Unit-Tests */; productType = "com.apple.product-type.bundle.unit-test"; }; - BD27EDB44171ACA4A5A1035BF6B44E14 /* Pods-SignalShareExtension */ = { + 9BD6ECD0418ADCD6F18C45FA8DA2E165 /* YapDatabase */ = { isa = PBXNativeTarget; - buildConfigurationList = EE3B3027E07832D667BA9568717FC4B6 /* Build configuration list for PBXNativeTarget "Pods-SignalShareExtension" */; + buildConfigurationList = EF709349C7B9A090BA877995AB1DF229 /* Build configuration list for PBXNativeTarget "YapDatabase" */; buildPhases = ( - D9EBCD616320321B8C0299B45A07723D /* Headers */, - 6825CCDFA295F2A3AFAFAC872E83C75C /* Sources */, - 420AB48CE28F1778D0C2F77BB2F7A662 /* Frameworks */, - 97FBFB539A92474D4C6A32F033567B62 /* Resources */, + ABF3B77958FDA244B88830C1A6F7873D /* Headers */, + 12C8FE969FD667B3560C444EABC081A4 /* Sources */, + C2D51708AA1DA53F598627D25248A23F /* Frameworks */, + 9F143133D7C6193F79EFBA3222C567A5 /* Resources */, ); buildRules = ( ); dependencies = ( - 32A3ECB1BC6F10EBA33E2BEDB3BCBF0A /* PBXTargetDependency */, - 6A7CB112D8A0C1F92744500936EF8EEA /* PBXTargetDependency */, - 874004333E37AA9154ED0436595430AC /* PBXTargetDependency */, - CE0367F1294969AD854A0A558A444F53 /* PBXTargetDependency */, - 44833CCECB37B0F0D79A19768C6E5846 /* PBXTargetDependency */, - 314450030F70C3E23CBBE88E1EF93862 /* PBXTargetDependency */, - 3285540E1B05A0C31E071AF9ACDA89FC /* PBXTargetDependency */, - D2EAA7D554A3FB0851BD04C08EE8FEEE /* PBXTargetDependency */, - 934E796A3E912102E596C0009C342406 /* PBXTargetDependency */, - 3EE3163A2FB57D4A5C6934A6ED9B397F /* PBXTargetDependency */, - D85A6AAA5BC7FF573132C5FAA67B8FF1 /* PBXTargetDependency */, - BD8A4B9304F344E6E96344F695895CDF /* PBXTargetDependency */, - 4660827E6FDAF50B12A24EDFFB057D52 /* PBXTargetDependency */, - 1C579FFB8E77070F0514D5AD30A25882 /* PBXTargetDependency */, - F6623D16E8F93B0D1045CD502152AE88 /* PBXTargetDependency */, - 31D9A8882F91E2A2ED23C170042901A8 /* PBXTargetDependency */, - E4D9C3AC239A121C5C3C249DE8CC1A23 /* PBXTargetDependency */, - C3796D7F12ACDA5E8118B753EC43A864 /* PBXTargetDependency */, - 4B81B113348CEC51AB5377D2C2ACDFB0 /* PBXTargetDependency */, - 71576B0274A42F66F021416221ECCBA5 /* PBXTargetDependency */, + CA0546F5AC4C880951EF68B2C83A4F45 /* PBXTargetDependency */, + CE896B3CDD560709852F3009B489737F /* PBXTargetDependency */, ); - name = "Pods-SignalShareExtension"; - productName = "Pods-SignalShareExtension"; - productReference = 860900D5B988390994DF2CECD7F5E862 /* Pods_SignalShareExtension.framework */; + name = YapDatabase; + productName = YapDatabase; + productReference = 2AC7265B11FC236A8C7E2F44EE586610 /* YapDatabase.framework */; productType = "com.apple.product-type.framework"; }; - BEB8EF499C0BAE48764C4B2C4423D2F6 /* SAMKeychain */ = { + A227A62B8F2B15BDAAEA9AC5A664330E /* Pods-SignalMessaging */ = { isa = PBXNativeTarget; - buildConfigurationList = 1DF8F8CDB4473696370BABBF438073C6 /* Build configuration list for PBXNativeTarget "SAMKeychain" */; + buildConfigurationList = FAAA8611DFD48A9651CE1CD03104BF71 /* Build configuration list for PBXNativeTarget "Pods-SignalMessaging" */; buildPhases = ( - F1742E3B40F26938CF87BD130E3049CC /* Headers */, - C6F29480AC4D85973FDDCEE4FFC41D02 /* Sources */, - DE69DE6EE3167015C49F19EE083F2DD4 /* Frameworks */, - 93C5D528B4656BB42D8C8686E014826C /* Resources */, + 9F43CD504BB057A1D399CDCB3AE01F48 /* Headers */, + 8700B396E8F6FB028124D970593CEC3C /* Sources */, + DDC82E94AAA15F3CA34AAF89EC0060F1 /* Frameworks */, + 2BA89CB99430F9EFED8C5AFA96FD3431 /* Resources */, ); buildRules = ( ); dependencies = ( + C0D2607C06315F5657AC66E14EC9780D /* PBXTargetDependency */, + B09C435306C3349B0E12A6853FF8C2D5 /* PBXTargetDependency */, + 5B7F2723AFF41B3D1EA37F9BB181B45E /* PBXTargetDependency */, + E3670856BF62183374E235ED86BEA5E8 /* PBXTargetDependency */, + E18E8217AE0FA846138AECDE621BEA2F /* PBXTargetDependency */, + 70261692CC3173B056A080815C3728FE /* PBXTargetDependency */, + FFCEFCDB4AFAE7D134229E1681EC343D /* PBXTargetDependency */, + E7F29346D49984A226D0B51067F5E973 /* PBXTargetDependency */, + 4696ADF1A5F313C1A05412782CA9D9D4 /* PBXTargetDependency */, + A5F33AE5A0180CF3274ABEEF5C458DB0 /* PBXTargetDependency */, + 8516A861B86533810067E6E1F31FDE27 /* PBXTargetDependency */, + 161B847D19F907A473E1A53FADB3AC28 /* PBXTargetDependency */, + 89F20540825B2761342E0C678D130871 /* PBXTargetDependency */, + 42551ECD8CA6DA5F02582C9E2BEE7A80 /* PBXTargetDependency */, + F26247AB7EA2F0E056F3113B94DBCF20 /* PBXTargetDependency */, + E7E715D339F5117D1008812E02F7A86E /* PBXTargetDependency */, + 326073F866C8AE8A5C8CC760E7682FB0 /* PBXTargetDependency */, + 0216334744D1491A2C125A4D1689CD6D /* PBXTargetDependency */, + 76F858F9D4D6CDFB2B76EB8C3E6D0EDA /* PBXTargetDependency */, + 10434D10BB0456F84EC9224849B02CBE /* PBXTargetDependency */, ); - name = SAMKeychain; - productName = SAMKeychain; - productReference = 43737FB603FF7472AA018D77A5ADBED5 /* SAMKeychain.framework */; + name = "Pods-SignalMessaging"; + productName = "Pods-SignalMessaging"; + productReference = 2D1E79F392E9E2F17A2DEE59CFB52142 /* Pods_SignalMessaging.framework */; productType = "com.apple.product-type.framework"; }; - C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */ = { + A505452C365F95E6C486AA8FB54D766F /* Pods-SignalTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 9216193888F2CE442F44E3E1FE99C243 /* Build configuration list for PBXNativeTarget "HKDFKit" */; + buildConfigurationList = 7583F2489844588B52AEBCAA5DFCB392 /* Build configuration list for PBXNativeTarget "Pods-SignalTests" */; buildPhases = ( - DF45B1C128DFF8AEF6AE43100F37F695 /* Headers */, - 7A20734D64F3D73DE70DEC11168FF5B3 /* Sources */, - 10BB095509441C7BA5B953EEDEF03093 /* Frameworks */, - 8D74E1F9C2798122DE0CEC0704C9F588 /* Resources */, + 33570DF49BED9C572BF36D5113B90AAB /* Headers */, + 03EB64C45DD2BBAB13F087F7266026F6 /* Sources */, + 00047786AA3C07E27FE40891BCA11FC5 /* Frameworks */, + E75DA20813618CFDC957400609FD07F8 /* Resources */, ); buildRules = ( ); dependencies = ( - ACD97508727376FBB2401F9D8B9061CC /* PBXTargetDependency */, - FFC7BD513D32C3987C5B4BEC99A1D002 /* PBXTargetDependency */, + B99172711F421241E68914F2BF2F147F /* PBXTargetDependency */, + 7AFC4FE4312BBEEDD2B5CF50C168DE35 /* PBXTargetDependency */, + 8A291968CF083F978FDDC73DEAA74D8B /* PBXTargetDependency */, + CD3CC9C725460C0C1AA64B7725034359 /* PBXTargetDependency */, + B82382EA333A71DE8E6823F4E42C610C /* PBXTargetDependency */, + 5FD258404083FFA58A67F9A484A5B86E /* PBXTargetDependency */, + 1261B7CA97B3E8FBB5D1F3976F7E75F7 /* PBXTargetDependency */, + 00554CCF52910234C6BCCF1533255CCE /* PBXTargetDependency */, + 6D94CD771D33B03ED7FE9C1095253C6F /* PBXTargetDependency */, + E221D35CC40556540F6DB4FC56E267D9 /* PBXTargetDependency */, + 42EA2045942D3F83D5F97FB7F70AA350 /* PBXTargetDependency */, + 329848BA3AC4FDED6A3C52029F730BC5 /* PBXTargetDependency */, + 94A7AD25E642314F34C2D8EE85BF2585 /* PBXTargetDependency */, + 814EF733D05CD52F9BECCF5FCA83E9DA /* PBXTargetDependency */, + 6757B848641F143CE54BE7ACFC7190E0 /* PBXTargetDependency */, + 1BC08FAD15DF9CFA3FE2CDE3F71CEB81 /* PBXTargetDependency */, + E55F23A24CEC51381D6EFEE1BFD7CE6B /* PBXTargetDependency */, + DC182ECAF27104233595701767F998F0 /* PBXTargetDependency */, + 7D72FD6B2ED616F51658FAA2509D6488 /* PBXTargetDependency */, + B5237F15C80A1B8E127E979CB866DA4E /* PBXTargetDependency */, + 7AC0DC37F9A13FE30AEDCFA10E869AEE /* PBXTargetDependency */, ); - name = HKDFKit; - productName = HKDFKit; - productReference = 703115A1C67D7D567C354D99C21A0B42 /* HKDFKit.framework */; + name = "Pods-SignalTests"; + productName = "Pods-SignalTests"; + productReference = 5F53C3E1975376193A2AE3EF9F0B6117 /* Pods_SignalTests.framework */; productType = "com.apple.product-type.framework"; }; - C0FE93AE50BEC033F25FA231851B0C90 /* CryptoSwift */ = { + A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */ = { isa = PBXNativeTarget; - buildConfigurationList = D489823849B25946D9446AFA30B36F9F /* Build configuration list for PBXNativeTarget "CryptoSwift" */; + buildConfigurationList = 2EA01AC04D5D996EF9CDBD99A0C9D87C /* Build configuration list for PBXNativeTarget "AxolotlKit" */; buildPhases = ( - D43C52DBAFB0AB3AD0680E694E1DC501 /* Headers */, - 4BCBEB1858E0A75C21672ED39D2C8FDC /* Sources */, - 52F81BB47A2ACE5BD3FA1A6BA4055EF4 /* Frameworks */, - 5CD0AF9B4C45621CA2532469B0FC3E22 /* Resources */, + B3B224EA505DCA289519EDF3E64F2884 /* Headers */, + 401FADEA29A8422A7E49EE903D030C8B /* Sources */, + 709C5DE09F0E32B872BBA490080932A3 /* Frameworks */, + 76C7A2B4213509B9E160BA3A34CDDD5C /* Resources */, ); buildRules = ( ); dependencies = ( + EF2E3A49071F8C29052DAFF832BA256E /* PBXTargetDependency */, + 06BE226F36D41293F713B613B662DFC5 /* PBXTargetDependency */, + BA8E898428A5040BC20FA84F6DE25482 /* PBXTargetDependency */, + 2B17D5653BCE2E4CC1240F92310E6C58 /* PBXTargetDependency */, + ED3579E4ACA273309CBC909F147CFDFB /* PBXTargetDependency */, ); - name = CryptoSwift; - productName = CryptoSwift; - productReference = DC10ED9966EC1B8C1EDAF770A03099CC /* CryptoSwift.framework */; + name = AxolotlKit; + productName = AxolotlKit; + productReference = 9C586159EA37D1219E061D260F9CEEF0 /* AxolotlKit.framework */; productType = "com.apple.product-type.framework"; }; - CB39B3A5A9E8A82A835D8CD5DEBB7CDC /* HKDFKit-Unit-Tests */ = { + B2DB9200FF6BA441B3CCBBAC63D08884 /* YYImage */ = { isa = PBXNativeTarget; - buildConfigurationList = E0CA20E7A3566B70338470E7B61C7F56 /* Build configuration list for PBXNativeTarget "HKDFKit-Unit-Tests" */; + buildConfigurationList = 1BD4FB89EF1D261A80F1E949B57C1580 /* Build configuration list for PBXNativeTarget "YYImage" */; buildPhases = ( - 0CD76078D2FA551265931EBDFEB7AB2F /* Sources */, - 6F7A42DB75902F823614C3F34CB51021 /* Frameworks */, - 47EF6546096266E7A704841DD595BAA3 /* Resources */, - D230E31AD8B1A7B413743DD8D549303A /* [CP] Embed Pods Frameworks */, - BAD5D13D78B8FDC94E252204BEE9FEFB /* [CP] Copy Pods Resources */, + 2FAF6DA4503BE19A3CBE4469426F1844 /* Headers */, + 003CAEECEBA24702D133DBBAEE009AD0 /* Sources */, + AFAA70A5FDB357A75554BEC8CC82EF41 /* Frameworks */, + 9955725E27F808B6129C3366105F676A /* Resources */, ); buildRules = ( ); dependencies = ( - 87F6631C37997C9EC9819F0852E7147A /* PBXTargetDependency */, - B83791890AE64B1B0A242EA1FB21D6B5 /* PBXTargetDependency */, - 89454B45ECCDECBFCFEA9842A49B2706 /* PBXTargetDependency */, ); - name = "HKDFKit-Unit-Tests"; - productName = "HKDFKit-Unit-Tests"; - productReference = BB3CBC300F6B9537D4D5F49D588815DA /* HKDFKit-Unit-Tests */; - productType = "com.apple.product-type.bundle.unit-test"; + name = YYImage; + productName = YYImage; + productReference = 9F60676AAB9BEB62F8274248381E79CD /* YYImage.framework */; + productType = "com.apple.product-type.framework"; }; - CE33B6750794D443498A98ED3243676B /* AFNetworking */ = { + B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */ = { isa = PBXNativeTarget; - buildConfigurationList = DCD77C125B54AD28DCE952B4370CF197 /* Build configuration list for PBXNativeTarget "AFNetworking" */; + buildConfigurationList = 8A898B41EC6F9296607774D06B8C09DC /* Build configuration list for PBXNativeTarget "SignalCoreKit" */; buildPhases = ( - 20B988E9E9960A5D9D46BEF40205D3F6 /* Headers */, - 039CBB0C3A3EC8072F8547475238375B /* Sources */, - A3F65D35EEA2D175AB5C1F0CD08BC414 /* Frameworks */, - 99BE44D67D90A902C326BBB788FDB573 /* Resources */, + D899A3C57F4FC045CA974ABB587F9876 /* Headers */, + F2D9343163E5DE14284325B13CEEE466 /* Sources */, + 2906998C4F096FC8F8035BF4BFB4DAD7 /* Frameworks */, + 10681A87FDFA6528E108ECF6340827D9 /* Resources */, ); buildRules = ( ); dependencies = ( + 1A3BF2616F266B631C6D9137460D14FB /* PBXTargetDependency */, ); - name = AFNetworking; - productName = AFNetworking; - productReference = 66A6F8B54DEC39584D71B2E841A32846 /* AFNetworking.framework */; + name = SignalCoreKit; + productName = SignalCoreKit; + productReference = BBDD117E0CEC753072A28DE3461D67C8 /* SignalCoreKit.framework */; productType = "com.apple.product-type.framework"; }; - D45B4BF290020065251511F935D72F2C /* PureLayout */ = { + C2082525912BAB9EE6776B67914FAE3D /* SAMKeychain */ = { isa = PBXNativeTarget; - buildConfigurationList = 03909EA41463702C64E54BFFBB71E6BA /* Build configuration list for PBXNativeTarget "PureLayout" */; + buildConfigurationList = 8AE751EE210BACB48F235A881A9B9D22 /* Build configuration list for PBXNativeTarget "SAMKeychain" */; buildPhases = ( - 48C2F7970E587DE7EC56198F4699D848 /* Headers */, - 44B099BB3E8D47F13716E7271054FCD7 /* Sources */, - 6864C91BFA0BD27C4699977FE8F11767 /* Frameworks */, - 926873924013902AC9BCF728F8C9EF30 /* Resources */, + CFF5527E929E7C5E54498E2040DC75F9 /* Headers */, + 24E06AC433D6EB14505E7187AC1B58C4 /* Sources */, + E6A45B69EA0C89461B46231278D1D1B1 /* Frameworks */, + 884E58806115FC4A0220FAC749016275 /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = PureLayout; - productName = PureLayout; - productReference = 32BA8FE1024D1D1787DF7C94F92BF63C /* PureLayout.framework */; + name = SAMKeychain; + productName = SAMKeychain; + productReference = CF53DAE56E088DC155166F8D1D06AF02 /* SAMKeychain.framework */; productType = "com.apple.product-type.framework"; }; - D5B5BE38F50622E0DD7A08298EBC9BBA /* Starscream */ = { + D661F041B8425D42F871F426ACE4F4F9 /* Pods-LokiPushNotificationService */ = { isa = PBXNativeTarget; - buildConfigurationList = 6212BB86C3A5A2AEF91B8301D9060DCE /* Build configuration list for PBXNativeTarget "Starscream" */; + buildConfigurationList = A1281EE78F612C3A8F900D3E7261EC76 /* Build configuration list for PBXNativeTarget "Pods-LokiPushNotificationService" */; buildPhases = ( - 58D9E77E3354DEDF7C1F7455A143E5BA /* Headers */, - 2695E1A578B083A4CE0959D2514D7D0B /* Sources */, - 8BCF0DA9480903A52DF4FEBDE0AE4D63 /* Frameworks */, - 9191CDBE251E825C5337CC9A574F1B67 /* Resources */, + 64F4C9B1B151B9ACFFB6796561CB62F1 /* Headers */, + 34E3116038781CBDA8BE8554B428BE0C /* Sources */, + FD344C5B3A0DFA3E5AEC1C323BAE8132 /* Frameworks */, + 6F8BE80841E65CA18301F0119D6BE237 /* Resources */, ); buildRules = ( ); dependencies = ( - ); - name = Starscream; - productName = Starscream; - productReference = 2C650F10B17EC65CDD202C2E09A610E3 /* Starscream.framework */; + 5B2BF8F0E877EBD740B49DE8339B5603 /* PBXTargetDependency */, + 8E243C10E9E2479ACFEEBBAD932FF4D2 /* PBXTargetDependency */, + 748B033021FA614D2800582632FBCC29 /* PBXTargetDependency */, + 9808B48481E14FB0E23F5D307D36D416 /* PBXTargetDependency */, + DD057BAAD79B466551CAD8390D91EB0A /* PBXTargetDependency */, + A735370604345FE1149EECBFABADD010 /* PBXTargetDependency */, + C6544606D50BAB2121E83B98A224819B /* PBXTargetDependency */, + 3FC7E1355464A0D621A1BC7EE9A69F7B /* PBXTargetDependency */, + 87FD9DCE30D0A8FCA29FC37A8CD46FA0 /* PBXTargetDependency */, + C8E7E85FE6C2CFFE3F310369A287B7E5 /* PBXTargetDependency */, + 169A913A4890BFD9932A65C1BA9F2871 /* PBXTargetDependency */, + 5FA6CBAD73B9500A14C2934AE6DE5403 /* PBXTargetDependency */, + EE625EEA7627BC6FE9C33466C7B6FE79 /* PBXTargetDependency */, + 8E83A59F0287DA97F6C312FE1F7EA068 /* PBXTargetDependency */, + 54894F32C3A8E29139FFECFFAC5E9A2E /* PBXTargetDependency */, + BBB7884C90828758ABB30A5D6020E7D6 /* PBXTargetDependency */, + DBF7EB18C132A682EEA479FAEAA60FC4 /* PBXTargetDependency */, + DD7EBDAEDB1B852115B623E6B93690F5 /* PBXTargetDependency */, + 48D81F26486214D978A531E8740A73CB /* PBXTargetDependency */, + BACC78BCB3CEA9E29B11C3E0F2A3AF91 /* PBXTargetDependency */, + ); + name = "Pods-LokiPushNotificationService"; + productName = "Pods-LokiPushNotificationService"; + productReference = 9EA86193B5CF675984E39DF738400B89 /* Pods_LokiPushNotificationService.framework */; productType = "com.apple.product-type.framework"; }; - D6415F93B1D7822CD9481CA39BDFAF11 /* Mantle */ = { + D85B45003BA81D72F606FDF3EB4B4E1C /* Curve25519Kit-Unit-Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = E0E478308D43D53750D8E23251A69B95 /* Build configuration list for PBXNativeTarget "Mantle" */; + buildConfigurationList = 6B97155994F4C442D793A83CDDD989EF /* Build configuration list for PBXNativeTarget "Curve25519Kit-Unit-Tests" */; buildPhases = ( - 2E2EF773C5978B8819DA70F080E6BB8D /* Headers */, - 6B623AFEAEFDBDE9ECDB364DC5A8541E /* Sources */, - 661124BCCD5D362BB863E0AAF6C433F7 /* Frameworks */, - 4F562F72E8C57F892568599A26A12465 /* Resources */, + 023D4900FD3C35BD7A7978B00FC94EA0 /* Sources */, + 6E34A9B3BA78D84835376BFBD6CA17DB /* Frameworks */, + 22D01616204B1C37909DFC6B5DCB39DC /* Resources */, + 0161F3340B8A24B4BE1E42895E12E620 /* [CP] Embed Pods Frameworks */, + AE5D51CF4BB6BC652832D358AD7A0105 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( + 071241FE070D4A4DC882716A307D3560 /* PBXTargetDependency */, + 92EA4218113A3677B6E632E3E886CC13 /* PBXTargetDependency */, + 0F89926DEA8F4B0540ADF5796D2C6CD9 /* PBXTargetDependency */, ); - name = Mantle; - productName = Mantle; - productReference = C7C5331D9E8815B2E36431C5FAFF6AC1 /* Mantle.framework */; - productType = "com.apple.product-type.framework"; + name = "Curve25519Kit-Unit-Tests"; + productName = "Curve25519Kit-Unit-Tests"; + productReference = C602B9F2FD639FB2661B469F328D899D /* Curve25519Kit-Unit-Tests */; + productType = "com.apple.product-type.bundle.unit-test"; }; - D877F182D6C04FC1D220EA2B9768A622 /* SQLCipher */ = { + E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */ = { isa = PBXNativeTarget; - buildConfigurationList = 74D5DCEB0FAD43FB4D9AA3BE3EFF94F8 /* Build configuration list for PBXNativeTarget "SQLCipher" */; + buildConfigurationList = A97EC075907E6294CAAB63A8ED36FFFB /* Build configuration list for PBXNativeTarget "CocoaLumberjack" */; buildPhases = ( - 7DD2C8CEF9D73244F796C6E6F7088AEA /* Headers */, - CD90D261F710AB67BE9B59B0279751C4 /* Sources */, - 761B067EB6A419C3013198A4D6B4FEC4 /* Frameworks */, - 1C5EF87D38292051FB6AAE6F7DFCDA4F /* Resources */, + A31891D16066B97B7A04594080647008 /* Headers */, + 6ADF7662B92C1A1E26ED8A876827FE96 /* Sources */, + 22C314BD45798D96D1D21D64DBA86277 /* Frameworks */, + 753EDE412B87ADCA49FCD2373386F304 /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = SQLCipher; - productName = SQLCipher; - productReference = 4768AA9276A5ADAE9C94C57FEA63AB54 /* SQLCipher.framework */; + name = CocoaLumberjack; + productName = CocoaLumberjack; + productReference = 481D98241BA69B182796CAA006344BE6 /* CocoaLumberjack.framework */; productType = "com.apple.product-type.framework"; }; - E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */ = { + E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */ = { isa = PBXNativeTarget; - buildConfigurationList = 0E488C2673670630ACD6E85299CE02D9 /* Build configuration list for PBXNativeTarget "CocoaLumberjack" */; + buildConfigurationList = 569DA36B9692E9F8549E0D2E251E37F6 /* Build configuration list for PBXNativeTarget "Curve25519Kit" */; buildPhases = ( - 2982FF302C351A75840CEB690624AC4E /* Headers */, - DEF5B5350A12CCA04407D1C4692ED1E8 /* Sources */, - 5133E57156A9E3DBC5999A0269263CFC /* Frameworks */, - FA778E73F9410A4C75B03093B468DF04 /* Resources */, + 6B13163BBEECEEF8BCBFB1876C9583A9 /* Headers */, + 8BAC6D7B2C2366B103A6F082FD7810C6 /* Sources */, + 252B0F4C078E67578A6BE0B47B01460D /* Frameworks */, + 884BB9DCA0116AFA608D1015CF4049C5 /* Resources */, ); buildRules = ( ); dependencies = ( + 912854CEDA1EC4E12F91939B29D52345 /* PBXTargetDependency */, + F6886A48094290B8157F1AE3E485C426 /* PBXTargetDependency */, ); - name = CocoaLumberjack; - productName = CocoaLumberjack; - productReference = 7EB0BC5357413C5E6EABBD0039FB2768 /* CocoaLumberjack.framework */; + name = Curve25519Kit; + productName = Curve25519Kit; + productReference = 1295CC2204B2AF62422D89265386783F /* Curve25519Kit.framework */; productType = "com.apple.product-type.framework"; }; - ECF39F39AC4DF15F4033529C8A8190E5 /* GCDWebServer */ = { + E2C2E02F3F6332A8AF6000BE7EC4AE35 /* Pods-SignalShareExtension */ = { isa = PBXNativeTarget; - buildConfigurationList = BCB7FA48DE8325182A1578407957C7D5 /* Build configuration list for PBXNativeTarget "GCDWebServer" */; + buildConfigurationList = 376A62CE3270B654787CA6763C547BD2 /* Build configuration list for PBXNativeTarget "Pods-SignalShareExtension" */; buildPhases = ( - EB9486195A73516CA009B1851BF74367 /* Headers */, - 4F15CF7C67939F656AAF5CD4343336CD /* Sources */, - 763C4D9FC9727D31793D3CB52BCDF90A /* Frameworks */, - BD9C8B4713B475F440D00810C5720EC8 /* Resources */, + A2565E54E19AEB6D2BB7AE780084D5F2 /* Headers */, + 9A181A3B4E7E2210B96532B07A77C12A /* Sources */, + 8A5153BE6CD45D36C81A53802A5AA5BB /* Frameworks */, + E88E5460E70EF69C8AFC7F6BFCC75324 /* Resources */, ); buildRules = ( ); dependencies = ( + 625546371850332D8F9ED1B335AE35C1 /* PBXTargetDependency */, + 167C37294BE9D3BB7DC66429E2C211DE /* PBXTargetDependency */, + 7ACF4E7279C7F17E03BBBEB091F511E1 /* PBXTargetDependency */, + 98862461A16F9DD93EE582BC8AD6B6F7 /* PBXTargetDependency */, + 280E5159865B4102CF3B4F30D0F609EB /* PBXTargetDependency */, + 3D4877774F7CBD8F9E9467B280D0F7BB /* PBXTargetDependency */, + F5B700F301CB4D332E4CC96C2AEA36B8 /* PBXTargetDependency */, + 3EE8D8A5AB6965D646953D515D352E42 /* PBXTargetDependency */, + 86EDDA31A095579AD8A14471D60A69FA /* PBXTargetDependency */, + 4355DD647BAEC45597BB4ACC3B58859E /* PBXTargetDependency */, + B869655592BB3708348B9A2C0F102AD1 /* PBXTargetDependency */, + 1F8FCA75ABB63165D1C177DE4E72094C /* PBXTargetDependency */, + C58B50346C18FA3CDD5B510A26A3D7F2 /* PBXTargetDependency */, + 7B8AA6C27D08ADF6A24C544FF60E19F4 /* PBXTargetDependency */, + EE20F342458D7E4370995AD1296B8803 /* PBXTargetDependency */, + 7A1A893908516E4E0971328873CFA047 /* PBXTargetDependency */, + C9A66E279C893A9024B99A53AF1D9B73 /* PBXTargetDependency */, + BB991E6853C2237E30E45471FFEC86F4 /* PBXTargetDependency */, + F7AE4D78CC0DD267D2B38C8F39D207E5 /* PBXTargetDependency */, + D6C766AAEA80E1F8551F725ED9296F0D /* PBXTargetDependency */, ); - name = GCDWebServer; - productName = GCDWebServer; - productReference = 051B644C948743ABACDE31C915B8142C /* GCDWebServer.framework */; + name = "Pods-SignalShareExtension"; + productName = "Pods-SignalShareExtension"; + productReference = 6F2BDE793FCAEF2E9473ED96AF713239 /* Pods_SignalShareExtension.framework */; productType = "com.apple.product-type.framework"; }; - EF5739B62546C471AFE69E4DF4D2B9FC /* SSZipArchive */ = { + E9846A58E29BC524F26ACBD37F42AB9B /* libPhoneNumber-iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 67EC4DD8B64A8D454E19E0E3BF5C0CBB /* Build configuration list for PBXNativeTarget "SSZipArchive" */; + buildConfigurationList = EA8176626A61970B07326D421B5AFB2A /* Build configuration list for PBXNativeTarget "libPhoneNumber-iOS" */; buildPhases = ( - F7D77A4B7801FCA84C5D174289B6A9DC /* Headers */, - 1DD9A9F86F6FD275ED13E6C9ECA9B585 /* Sources */, - 45DCF49B8F09812073E706E37EC4163E /* Frameworks */, - 9279AFC3ADACE67BC176983896D4CF7B /* Resources */, + 2F45FDB4A40FA8822C32563D1AAEA6C3 /* Headers */, + 4481384F6740F4D252465D8180F67B12 /* Sources */, + C3402798BED5D69AB55835423E8BFFCC /* Frameworks */, + B8C8D348FC87286DE0DB7B023F75BDBD /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = SSZipArchive; - productName = SSZipArchive; - productReference = 47F9408EF983C44BE5BA243E7419A4B6 /* SSZipArchive.framework */; + name = "libPhoneNumber-iOS"; + productName = "libPhoneNumber-iOS"; + productReference = 28A5EEBBC8AE352D8C8F4F5DF2FA826F /* libPhoneNumber_iOS.framework */; productType = "com.apple.product-type.framework"; }; - F5D379AEE9DD5C03D7205DC2808923FC /* Pods-SignalMessaging */ = { + EB3BB3DB5FB7894F89A14F20154E690B /* SSZipArchive */ = { isa = PBXNativeTarget; - buildConfigurationList = 29C9D1142644F0D371CBD06D1FA59930 /* Build configuration list for PBXNativeTarget "Pods-SignalMessaging" */; + buildConfigurationList = 21F9A1CA73EC626A61DD0D5F77147F53 /* Build configuration list for PBXNativeTarget "SSZipArchive" */; buildPhases = ( - FA1AC26BB212F8E327423B9F46CBE31B /* Headers */, - D5BDB5D6AB8C5B9533196C4AF01A40D4 /* Sources */, - 03A0B52305EC20C9CFA48B9991680133 /* Frameworks */, - 34BE4D941E9D0AF034C9102F36FF24A5 /* Resources */, + B4555DF30561BAA86A90E9EB763A3D33 /* Headers */, + A9602CE9BCC2609F39724E20F1F063B1 /* Sources */, + DB61192D5426C83B3FB52AA29481D463 /* Frameworks */, + 4B9F4A8F8DBD26AD0B696A4D22A287FD /* Resources */, ); buildRules = ( ); dependencies = ( - CC8E0FAB81D714C979A7F37AE4847D6F /* PBXTargetDependency */, - F26DC1BC5DB328CBD8B04BC56B0D5B22 /* PBXTargetDependency */, - 036A09EBC84A09351C74D0416041384D /* PBXTargetDependency */, - 7A5884DC9EF60C53132CFC6E75CE63FB /* PBXTargetDependency */, - D0A1C6423BF3E5DCA0A9A1F025DCEF64 /* PBXTargetDependency */, - 7B8774A725ACD8D5DA3BF4E18A639968 /* PBXTargetDependency */, - 132C9DFF8BAC94CB21552283AFA1C5A7 /* PBXTargetDependency */, - E8D19F2D60347FA19F7764565D8424FD /* PBXTargetDependency */, - D79DE3A6AFCD4ED5A8F680BE34EB766E /* PBXTargetDependency */, - 3B52E3C3E02A981E67E2C00E8B4F03CA /* PBXTargetDependency */, - CF7531E5565BDFB319170393604B3E2A /* PBXTargetDependency */, - F50BCB0235B179C3E46ED07287384070 /* PBXTargetDependency */, - 88899AE8F43C0C49EB981ADAA4BD1128 /* PBXTargetDependency */, - E315ECB9B4764C4D8875045F5A445322 /* PBXTargetDependency */, - 186221F063DFBEF6E76BF33FDE527C49 /* PBXTargetDependency */, - F4AC554E07B1EB01FE1D057122EB0D5D /* PBXTargetDependency */, - E5B0F0EA7E0858D82B1A9457D21D5179 /* PBXTargetDependency */, - 7A9EE513C20ACDC0F36A1BA8CC6B61EE /* PBXTargetDependency */, - 78FF4158C12E852769ACD8A75521DD33 /* PBXTargetDependency */, - 183434ED5186E1AB51FD505288418B9C /* PBXTargetDependency */, ); - name = "Pods-SignalMessaging"; - productName = "Pods-SignalMessaging"; - productReference = 8FC8F03D5C83B65C59F33D6AF22B79D9 /* Pods_SignalMessaging.framework */; + name = SSZipArchive; + productName = SSZipArchive; + productReference = 6979D2841DC8F3FE19DAE0953786FEB1 /* SSZipArchive.framework */; productType = "com.apple.product-type.framework"; }; - FBEFD7D60C586B4EBC4A2D8A609B1884 /* AxolotlKit-Unit-Tests */ = { + F0A92181547188BFA00E27847C615050 /* HKDFKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 269220E05F3C06AB6467D0CAA5B3D34E /* Build configuration list for PBXNativeTarget "AxolotlKit-Unit-Tests" */; + buildConfigurationList = 3EF0F18B566426AB190EF7B6E3399E47 /* Build configuration list for PBXNativeTarget "HKDFKit" */; buildPhases = ( - 41E64A01C6E542FD69BE2F0FAF54FCB7 /* Sources */, - 6D9B2E1894813460C07D69D8FAC51087 /* Frameworks */, - 363DFC6CFFA73B1EE591DCE123CD108F /* Resources */, - 8905E190EADC71B6C4855979B847C4EC /* Headers */, - 311D44F24E43252F03F50B01A3411402 /* [CP] Embed Pods Frameworks */, - B033F2D17C2CFB1835AC9AC6FDB0E609 /* [CP] Copy Pods Resources */, + 17542359501248C06D0B7ED22E7642CC /* Headers */, + 2580A9214591CC4315C905F2614F5C64 /* Sources */, + 51E942A8A499173D61DC415C97D90FE1 /* Frameworks */, + F7DD0E851D28405ECC23F23413D86C50 /* Resources */, ); buildRules = ( ); dependencies = ( - ED725464CA2B3F286C6FBFE9C04D95F1 /* PBXTargetDependency */, - 67D7E228F9766CE572772F02BE26FB98 /* PBXTargetDependency */, - C0A8539687B110C84486BEE1C9AFA0C9 /* PBXTargetDependency */, - 1AD00C0A43500495D5953ABE8FB2D194 /* PBXTargetDependency */, - 128585F6D2010321A9E4E113AD1B46C3 /* PBXTargetDependency */, - 726E36E83590D57629B842BEADA5D4E7 /* PBXTargetDependency */, + CD59EC2DDD76C316B7975E25D1B118AD /* PBXTargetDependency */, + 297E07F7E78536250D87FE87932099E5 /* PBXTargetDependency */, ); - name = "AxolotlKit-Unit-Tests"; - productName = "AxolotlKit-Unit-Tests"; - productReference = 0792D62CBE0768B8B61C00BA8EEC3537 /* AxolotlKit-Unit-Tests */; - productType = "com.apple.product-type.bundle.unit-test"; + name = HKDFKit; + productName = HKDFKit; + productReference = EBBFB5109DB45456AF54AB7DB029E4FD /* HKDFKit.framework */; + productType = "com.apple.product-type.framework"; }; - FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */ = { + F9C2DA0BADF4F69559F0AA5BB4FC1E06 /* HKDFKit-Unit-Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = C4B839CB5477EF9982A9365A68719F46 /* Build configuration list for PBXNativeTarget "AxolotlKit" */; + buildConfigurationList = DF6AD9492F3BB263EA691E27A4F62FE0 /* Build configuration list for PBXNativeTarget "HKDFKit-Unit-Tests" */; buildPhases = ( - 48354DB791A70571EFAD2961B3EC10E8 /* Headers */, - 234764366D8A427B9AFF215A548E5DCB /* Sources */, - 3A5B32CC1D2D51C137A3FDC85D92A75B /* Frameworks */, - 48E282AD849B9E13F64B9C79B3879C0C /* Resources */, + 362BFDADC76F1E3144CAB3D20D27A124 /* Sources */, + 1165D038D1C6D7CE5E86FCED05278335 /* Frameworks */, + 3CCB5F9645A8919ACC9F92CE894B8537 /* Resources */, + 452AA8650099FDB7FACB7A24835ED10D /* [CP] Embed Pods Frameworks */, + A50613A095B392594FBD35982E7469A8 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( - B2CE10802C5FEA212FEBC70121C65FB4 /* PBXTargetDependency */, - F24777263BB7F901DBB4C7119F11ED22 /* PBXTargetDependency */, - E414F361B7500F3BDEF597F90F6A5AB4 /* PBXTargetDependency */, - 33D7ED2F7768C3E17B3458E9B737D28D /* PBXTargetDependency */, - 143CDF1E113563D48BAFD3145F19E7DB /* PBXTargetDependency */, + 141B4DD32E2B99C36D3F8C5E0D9BB617 /* PBXTargetDependency */, + CCFED0594DCB386441CD59413FB55B1E /* PBXTargetDependency */, + D257DD62C0B16E88981CAB8F11A2A743 /* PBXTargetDependency */, ); - name = AxolotlKit; - productName = AxolotlKit; - productReference = 1E2707BC55B8E170117FB4792D857041 /* AxolotlKit.framework */; - productType = "com.apple.product-type.framework"; + name = "HKDFKit-Unit-Tests"; + productName = "HKDFKit-Unit-Tests"; + productReference = 87561AF04B282F82A774AC90571B1237 /* HKDFKit-Unit-Tests */; + productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - BFDFE7DC352907FC980B868725387E98 /* Project object */ = { + D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0930; LastUpgradeCheck = 0930; - TargetAttributes = { - CE33B6750794D443498A98ED3243676B = { - LastSwiftMigration = 1130; - }; - }; }; - buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; + buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -10688,340 +10220,323 @@ English, en, ); - mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 1C8FA7FED84C713348362E25A47539C4 /* Products */; + mainGroup = 7DB346D0F39D3F0E887471402A8071AB; + productRefGroup = 8D7ECF08D0850C54D4FF1D8C3330A98C /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - CE33B6750794D443498A98ED3243676B /* AFNetworking */, - FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */, - FBEFD7D60C586B4EBC4A2D8A609B1884 /* AxolotlKit-Unit-Tests */, - E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */, - C0FE93AE50BEC033F25FA231851B0C90 /* CryptoSwift */, - 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */, - 217139450FBCFCCE72F03EFEE0C5DA38 /* Curve25519Kit-Unit-Tests */, - 9FD977E8321FA670C8C84B8F85CAAA83 /* FeedKit */, - 395A10739A240BAC3C8F54353EFCED90 /* FirebaseCore */, - ECF39F39AC4DF15F4033529C8A8190E5 /* GCDWebServer */, - 92CA30D42B7F2C151CBCF42BE7146BEC /* GoogleUtilities */, - C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */, - CB39B3A5A9E8A82A835D8CD5DEBB7CDC /* HKDFKit-Unit-Tests */, - 49FAFF275E9A07AA126D6878881F91E5 /* libPhoneNumber-iOS */, - D6415F93B1D7822CD9481CA39BDFAF11 /* Mantle */, - 96E0FF0842268DE2B90280E135C82C02 /* Mixpanel */, - 09DE5267826842012EA747537263B74A /* NVActivityIndicatorView */, - 4FFAF1D1A73CB5CC1EB0364739D6FE18 /* Pods-Signal */, - F5D379AEE9DD5C03D7205DC2808923FC /* Pods-SignalMessaging */, - BD27EDB44171ACA4A5A1035BF6B44E14 /* Pods-SignalShareExtension */, - A8145F0B7A3D820A0FDA58384A020B6A /* Pods-SignalTests */, - 41534CD75578C922D789F429B9933B2A /* PromiseKit */, - D45B4BF290020065251511F935D72F2C /* PureLayout */, - 1FAF6137A1568F1846807A8A28D8C3D9 /* Reachability */, - BEB8EF499C0BAE48764C4B2C4423D2F6 /* SAMKeychain */, - A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */, - 3966AB1BF4A267B3775E55BB346C42BB /* SignalCoreKit-Unit-Tests */, - 9BD1D084788925526680BE28E517A85A /* SignalMetadataKit */, - B620B404CB76E484E77870B9AD32320E /* SignalMetadataKit-Unit-Tests */, - A16588799C7A0AB3A5ACEF8339CCB8BC /* SignalServiceKit */, - 24F8DED46F845407BED93AD1BC0D4E85 /* SignalServiceKit-Unit-Tests */, - D877F182D6C04FC1D220EA2B9768A622 /* SQLCipher */, - EF5739B62546C471AFE69E4DF4D2B9FC /* SSZipArchive */, - D5B5BE38F50622E0DD7A08298EBC9BBA /* Starscream */, - 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */, - 45912FCC22A1728F871BB6ED08546686 /* YapDatabase */, - 7FA3555E24406A2581210A6508CA2F60 /* YYImage */, + 2C37A63BCEE15E2B9E8FB9A18C9671FF /* AFNetworking */, + A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */, + 5B34FB0B5ABA685EF33F1BA1C388F016 /* AxolotlKit-Unit-Tests */, + E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */, + 8D899A7512B8E2CAD748A9EBE5DAB484 /* CryptoSwift */, + E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */, + D85B45003BA81D72F606FDF3EB4B4E1C /* Curve25519Kit-Unit-Tests */, + 72CE0781BEB6863039B2996AC3C4B250 /* FeedKit */, + 0273105E5C2FE9ECC03D5AD8ACC0CC21 /* FirebaseCore */, + 5783A6B91DBF889771EAA03EC02E2842 /* GCDWebServer */, + 7BE161B1BFC0D58A73E980CE09E30805 /* GoogleUtilities */, + F0A92181547188BFA00E27847C615050 /* HKDFKit */, + F9C2DA0BADF4F69559F0AA5BB4FC1E06 /* HKDFKit-Unit-Tests */, + E9846A58E29BC524F26ACBD37F42AB9B /* libPhoneNumber-iOS */, + 02AD8789483D0C881D9CCA5ABB184877 /* Mantle */, + 506354962CD5853118387855A2A03D73 /* NVActivityIndicatorView */, + D661F041B8425D42F871F426ACE4F4F9 /* Pods-LokiPushNotificationService */, + 5E1CA8DF6C68BB9B63134EB9BA3CB8EF /* Pods-Signal */, + A227A62B8F2B15BDAAEA9AC5A664330E /* Pods-SignalMessaging */, + E2C2E02F3F6332A8AF6000BE7EC4AE35 /* Pods-SignalShareExtension */, + A505452C365F95E6C486AA8FB54D766F /* Pods-SignalTests */, + 8362105D5E1254A82E4BA3875F887F0E /* PromiseKit */, + 462AC13EC68E19388E93FBAD92C6E444 /* PureLayout */, + 3524814E42E299FFBA2F6FA82E436DD4 /* Reachability */, + C2082525912BAB9EE6776B67914FAE3D /* SAMKeychain */, + B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */, + 3AC929F2E4978F42ED9E9EA232D7247B /* SignalCoreKit-Unit-Tests */, + 132A0C8FF2B6CBC9C118A3FA9FE3B5A7 /* SignalMetadataKit */, + 92057C418B970541FF6BE6E64A49D8C2 /* SignalMetadataKit-Unit-Tests */, + 56FEAC3FCA8ADA9B6D3602FBA38B2527 /* SignalServiceKit */, + 3FC719A0D2B2FA321E696D83720CAC6F /* SignalServiceKit-Unit-Tests */, + 393F81D254FDCBBA782ED7224542A956 /* SQLCipher */, + EB3BB3DB5FB7894F89A14F20154E690B /* SSZipArchive */, + 27B11AA96B1C65EADA079565268D1E14 /* Starscream */, + 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */, + 9BD6ECD0418ADCD6F18C45FA8DA2E165 /* YapDatabase */, + B2DB9200FF6BA441B3CCBBAC63D08884 /* YYImage */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 0151504B6B12C23789B8581AF8BD4A77 /* Resources */ = { + 10681A87FDFA6528E108ECF6340827D9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 0E3DD78D24EC5D9851B9AF7C627EAEF1 /* Resources */ = { + 179ECE9D9D06592EFF9098A0F5DAD935 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 0EE164232B865C7EAE7004DC03CC71CF /* Resources */ = { + 17BFD5CF51663B4D10C3FBBE465A5189 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 1C5EF87D38292051FB6AAE6F7DFCDA4F /* Resources */ = { + 18869AD3BD906F92ABBF35A69D0B260C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 230D8A07DCFC4B41FF5A89406858EB80 /* Resources */ = { + 1AEEAF787CDBFBFF6E68C7AB4CA8ECC2 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 23890821913F6F443AC63FE73FE5829A /* Resources */ = { + 22056AB7C3198161DBCCCF966D0F5B35 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - EA9D90DEF25B3BDDF3CF3BD42E787590 /* MPArrowLeft.png in Resources */, - 6CC33A4F69BA3B068D4C4AC7C10D4DF3 /* MPArrowLeft@2x.png in Resources */, - 2B4601BE7175F3D2A07DE651BC6C5675 /* MPArrowRight.png in Resources */, - 328C11397EF2995CD524B2604A872A2B /* MPArrowRight@2x.png in Resources */, - 10A5AAD87BD53B5A729FB68EE6217E64 /* MPCheckmark.png in Resources */, - 51A3E1A4E3F03BE34792673B760C850C /* MPCheckmark@2x.png in Resources */, - 38A31EA965FE2FD34D0BC57887E80D12 /* MPCloseButton.png in Resources */, - 8BC6D983E63E820DCC931BB44CCA536C /* MPCloseButton@2x.png in Resources */, - 6D9F243553019559BB80D4275E18AA27 /* MPCloseButton@3x.png in Resources */, - 24312470BB5FA7F3E8529A39D62303A0 /* MPDismissKeyboard.png in Resources */, - 671B31BF54AE036A0F02D988D19AC824 /* MPDismissKeyboard@2x.png in Resources */, - DF3D79D2F3D72B0C687FAD0A92DDEDC9 /* MPLogo.png in Resources */, - 5ACCABFC81976965CF2B1D36FEC57E1E /* MPLogo@2x.png in Resources */, - 170CCAE4E693D9EA945AC7058488C35B /* MPTakeoverNotificationViewController~ipad.xib in Resources */, - 4E138C72576018A2776DAE2619E12B88 /* MPTakeoverNotificationViewController~iphonelandscape.xib in Resources */, - C912ED17F3FC66A8C325095E604531C4 /* MPTakeoverNotificationViewController~iphoneportrait.xib in Resources */, - 89B26CDDD96B2FD72B6791A5CF74D5E6 /* placeholder-image.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 26BEBC0D1A051C9EECB1728C2A8BB613 /* Resources */ = { + 22D01616204B1C37909DFC6B5DCB39DC /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 28FDB9C836D671059EDA13E27C6D0667 /* Resources */ = { + 2BA89CB99430F9EFED8C5AFA96FD3431 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 33187C33B9692B63B5970F9D13D30E31 /* Resources */ = { + 33FD48B8DAE3297684A6B57BE8CD6BED /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 34BE4D941E9D0AF034C9102F36FF24A5 /* Resources */ = { + 34EFD52DC9FBE242F6446277A3D041C5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 363DFC6CFFA73B1EE591DCE123CD108F /* Resources */ = { + 3CCB5F9645A8919ACC9F92CE894B8537 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 4373CC87FF532CF592F815E3D24E0361 /* Resources */ = { + 450240AE0DD99F5DEE064992C2640F1C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 47EF6546096266E7A704841DD595BAA3 /* Resources */ = { + 4B9F4A8F8DBD26AD0B696A4D22A287FD /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 48E282AD849B9E13F64B9C79B3879C0C /* Resources */ = { + 6F8BE80841E65CA18301F0119D6BE237 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 4F562F72E8C57F892568599A26A12465 /* Resources */ = { + 711D15C37A3984F5C6538F4391C3117B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5CD0AF9B4C45621CA2532469B0FC3E22 /* Resources */ = { + 753EDE412B87ADCA49FCD2373386F304 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5CD6562DDB658165AD5D299DFC1CF13C /* Resources */ = { + 76C7A2B4213509B9E160BA3A34CDDD5C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 60B62F5559FDB8995669C5345220F603 /* Resources */ = { + 79A264E0968EC8AFCDDBE4D0B67BADFE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 6BEA288FDDA65BD240A69C71D5BC4E7C /* Resources */ = { + 7ADBC3670FE941816C97B1A8A4370D6C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 96FFD60FF8F1A39F769567F9B68C1260 /* DigiCertGlobalRootG2.crt in Resources */, - DE2F1818DA0DF9D369BB93B82B39474F /* DigiCertSHA2HighAssuranceServerCA.crt in Resources */, - AF9C4231A06349691871B9018A62184C /* english.txt in Resources */, - 72CF16F2FDB65CC4A38FFE7E4694AAB5 /* GIAG2.crt in Resources */, - 160483537B1615A5919CC810AA9F675D /* GSR2.crt in Resources */, - EA4E386402C5A36E0663FD4E262D652C /* GSR4.crt in Resources */, - DBB61B6F20BF72606CDD8E0548BBC738 /* GTSR1.crt in Resources */, - 53D036F07F5570BB5577F3E8B116C7A2 /* GTSR2.crt in Resources */, - 43348142AD79C34D42AEC6C46148F605 /* GTSR3.crt in Resources */, - 6954FA6A4C9D26A97AD4AFC2542B786F /* GTSR4.crt in Resources */, - 44EF06BE16B0C9DA81C9755A5410FC7D /* ias-root.cer in Resources */, - 42566D18C142FB86F0A7E46744CF25E8 /* japanese.txt in Resources */, - 1ABBC879C3E73019BB6A330B595BD53B /* portuguese.txt in Resources */, - 63D80744C7A755AB623D6A1F2251C9AB /* SFSRootCAG2.crt in Resources */, - 31A0C2C70140EE8EF75AC69792B723EF /* spanish.txt in Resources */, - CBB27AF8758836CF7A3B80335253EE73 /* textsecure.cer in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7D21D0920E4B394C291496A9D3E400DA /* Resources */ = { + 884BB9DCA0116AFA608D1015CF4049C5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 817109B592CA5157EEEA8B44066926EC /* Resources */ = { + 884E58806115FC4A0220FAC749016275 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 6B51628A7966D990BC9456801312B41F /* SAMKeychain.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8D74E1F9C2798122DE0CEC0704C9F588 /* Resources */ = { + 88E2D0988E1F12555452B0FD3426F572 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 9191CDBE251E825C5337CC9A574F1B67 /* Resources */ = { + 9955725E27F808B6129C3366105F676A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 926873924013902AC9BCF728F8C9EF30 /* Resources */ = { + 9D06509FB90C93DBC87213F98820C8E5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 9279AFC3ADACE67BC176983896D4CF7B /* Resources */ = { + 9F143133D7C6193F79EFBA3222C567A5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 92926E7EDF4B08AFCEDC73D7BF88CEC5 /* Resources */ = { + A17D73F784AFC2E652C8DA65AC4CDA7A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 93117C220B3FEBD3A89D2350BFECCD55 /* Resources */ = { + B8C8D348FC87286DE0DB7B023F75BDBD /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 93C5D528B4656BB42D8C8686E014826C /* Resources */ = { + BB01F9332A35E5F143A95926BE053BD4 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9160A9C93EBBF1B6DEEE5F104AC7DE74 /* SAMKeychain.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 97FBFB539A92474D4C6A32F033567B62 /* Resources */ = { + C753C412A85EA43D2794948DE4F2B72E /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 99BE44D67D90A902C326BBB788FDB573 /* Resources */ = { + CA9D0399A8F929C7193122862F3B60DA /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - AAD109E25A6126C1186118E7E8CFA6C1 /* Resources */ = { + CBF5D2222684D759BFFD3C19DD99BD70 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - BD9C8B4713B475F440D00810C5720EC8 /* Resources */ = { + CD20BD1E69CAF0518BCC1478C615769B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - BE091DA43B73D900992DB99734DACBA7 /* Resources */ = { + E54F57E5E86D93346A1BF64BA3AEB178 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - CB3CAA8731B35A2CD34B7FAF1CA7FFAA /* Resources */ = { + E75DA20813618CFDC957400609FD07F8 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - D7198FFDAABB6720442D312AB1D94F40 /* Resources */ = { + E88E5460E70EF69C8AFC7F6BFCC75324 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E7D606ACC46E8A30E78F0B4864F54181 /* Resources */ = { + EE82E3DB240C0CD8B8D41D1BB2A4E9E8 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 8ED2801C19AD434B78FF94B186CDA591 /* DigiCertGlobalRootG2.crt in Resources */, + F17D2046F6A189CC4836B635025A67A6 /* DigiCertSHA2HighAssuranceServerCA.crt in Resources */, + 5D988B895F47C478D1883518549D2B3C /* english.txt in Resources */, + 57AB2DB83148A3679D7441184C69D0B2 /* GIAG2.crt in Resources */, + B5B8F9FAB3035FD6328F03C66B8C86AA /* GSR2.crt in Resources */, + E8F6C65EFAA9E53E8512978B818482B9 /* GSR4.crt in Resources */, + 112389F20126999373FBDAD05E4E0842 /* GTSR1.crt in Resources */, + C9E2C980F74892F60BCF25C03E076B7C /* GTSR2.crt in Resources */, + CB9AF20148F936D4CDC66E3843E39C5D /* GTSR3.crt in Resources */, + BCCF628C00246566E31612C5A9BDC188 /* GTSR4.crt in Resources */, + B93A18B77ACF0C9A6AE6786D26617F84 /* ias-root.cer in Resources */, + CF4302981D8CE844BAC0F257530FAF42 /* japanese.txt in Resources */, + FDF83C4B28457A0B5D7982B86C55B8B6 /* portuguese.txt in Resources */, + 3ED1A8CC6C996AC2071A37FA33A6B458 /* SFSRootCAG2.crt in Resources */, + A0C364C685A1C46B29CF71DF9F473191 /* spanish.txt in Resources */, + 7CA641ADB021BCBEC641E57BD6086880 /* textsecure.cer in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - FA778E73F9410A4C75B03093B468DF04 /* Resources */ = { + F7DD0E851D28405ECC23F23413D86C50 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -11031,60 +10546,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 311D44F24E43252F03F50B01A3411402 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/AxolotlKit/AxolotlKit.framework", - "${BUILT_PRODUCTS_DIR}/Curve25519Kit/Curve25519Kit.framework", - "${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework", - "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", - "${BUILT_PRODUCTS_DIR}/SwiftProtobuf/SwiftProtobuf.framework", - "${BUILT_PRODUCTS_DIR}/SignalCoreKit/SignalCoreKit.framework", - "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin/openssl.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - ); - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AxolotlKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Curve25519Kit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HKDFKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftProtobuf.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalCoreKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 45EBA823E0CEE669107BA83AEE7367E3 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 46D491B585C1F069BBBEE985F8FFDB5A /* [CP] Embed Pods Frameworks */ = { + 0161F3340B8A24B4BE1E42895E12E620 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -11112,7 +10574,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 5387FDD6D3ED32A42F3F670A176E3ABF /* [CP] Embed Pods Frameworks */ = { + 40B02F439D4DE6D243B418E5EE348CB5 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -11170,7 +10632,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 584C9930BA91406BD154B72287DEEFA7 /* [CP] Copy Pods Resources */ = { + 452AA8650099FDB7FACB7A24835ED10D /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -11178,18 +10640,27 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_ROOT}/Target Support Files/HKDFKit/HKDFKit-Unit-Tests-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework", + "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", + "${BUILT_PRODUCTS_DIR}/SignalCoreKit/SignalCoreKit.framework", + "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin/openssl.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( ); outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HKDFKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalCoreKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/HKDFKit/HKDFKit-Unit-Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 71C129C2DD0C56AA443C5446840E7110 /* [CP] Copy Pods Resources */ = { + 875E1F056DD95F46452F4AF15783264E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -11197,26 +10668,79 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-resources.sh", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/DigiCertGlobalRootG2.crt", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/DigiCertSHA2HighAssuranceServerCA.crt", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GIAG2.crt", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GSR2.crt", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GSR4.crt", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GTSR1.crt", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GTSR2.crt", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GTSR3.crt", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GTSR4.crt", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/ias-root.cer", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/SFSRootCAG2.crt", - "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/textsecure.cer", - "${PODS_ROOT}/../SignalServiceKit/src/Loki/Mnemonic/english.txt", - "${PODS_ROOT}/../SignalServiceKit/src/Loki/Mnemonic/japanese.txt", - "${PODS_ROOT}/../SignalServiceKit/src/Loki/Mnemonic/portuguese.txt", - "${PODS_ROOT}/../SignalServiceKit/src/Loki/Mnemonic/spanish.txt", - "${PODS_ROOT}/SAMKeychain/Support/SAMKeychain.bundle", + "${PODS_ROOT}/Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/AxolotlKit/AxolotlKit.framework", + "${BUILT_PRODUCTS_DIR}/Curve25519Kit/Curve25519Kit.framework", + "${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework", + "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", + "${BUILT_PRODUCTS_DIR}/SwiftProtobuf/SwiftProtobuf.framework", + "${BUILT_PRODUCTS_DIR}/SignalCoreKit/SignalCoreKit.framework", + "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin/openssl.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + ); + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AxolotlKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Curve25519Kit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HKDFKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftProtobuf.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalCoreKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9AE6B976C163E990831FBB9AAA09560A /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9D212B15B269792802693011CC87A1FC /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-resources.sh", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/DigiCertGlobalRootG2.crt", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/DigiCertSHA2HighAssuranceServerCA.crt", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GIAG2.crt", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GSR2.crt", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GSR4.crt", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GTSR1.crt", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GTSR2.crt", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GTSR3.crt", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/GTSR4.crt", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/ias-root.cer", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/SFSRootCAG2.crt", + "${PODS_ROOT}/../SignalServiceKit/Resources/Certificates/textsecure.cer", + "${PODS_ROOT}/../SignalServiceKit/src/Loki/Mnemonic/english.txt", + "${PODS_ROOT}/../SignalServiceKit/src/Loki/Mnemonic/japanese.txt", + "${PODS_ROOT}/../SignalServiceKit/src/Loki/Mnemonic/portuguese.txt", + "${PODS_ROOT}/../SignalServiceKit/src/Loki/Mnemonic/spanish.txt", + "${PODS_ROOT}/SAMKeychain/Support/SAMKeychain.bundle", + ); + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( ); outputPaths = ( @@ -11243,7 +10767,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - B033F2D17C2CFB1835AC9AC6FDB0E609 /* [CP] Copy Pods Resources */ = { + A0649AFED0075DEFACF1ED3F0D2871D3 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -11251,18 +10775,35 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_ROOT}/Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/SignalMetadataKit/SignalMetadataKit.framework", + "${BUILT_PRODUCTS_DIR}/AxolotlKit/AxolotlKit.framework", + "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", + "${BUILT_PRODUCTS_DIR}/Curve25519Kit/Curve25519Kit.framework", + "${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework", + "${BUILT_PRODUCTS_DIR}/SignalCoreKit/SignalCoreKit.framework", + "${BUILT_PRODUCTS_DIR}/SwiftProtobuf/SwiftProtobuf.framework", + "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin/openssl.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( ); outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalMetadataKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AxolotlKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Curve25519Kit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HKDFKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalCoreKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftProtobuf.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - BAD5D13D78B8FDC94E252204BEE9FEFB /* [CP] Copy Pods Resources */ = { + A50613A095B392594FBD35982E7469A8 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -11281,7 +10822,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/HKDFKit/HKDFKit-Unit-Tests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - D230E31AD8B1A7B413743DD8D549303A /* [CP] Embed Pods Frameworks */ = { + AE5D51CF4BB6BC652832D358AD7A0105 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -11289,27 +10830,18 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/HKDFKit/HKDFKit-Unit-Tests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework", - "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", - "${BUILT_PRODUCTS_DIR}/SignalCoreKit/SignalCoreKit.framework", - "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin/openssl.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( ); outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HKDFKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalCoreKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/HKDFKit/HKDFKit-Unit-Tests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - E4F2FE07FCAFB805160F8C5562A6FC02 /* [CP] Copy Pods Resources */ = { + AEB15BD0230CEF0DAB4002104EDC0AEF /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -11328,7 +10860,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - E7BE6D6A8D8913CAA8B4975837119525 /* [CP] Embed Pods Frameworks */ = { + BBA4190432FA2933995BFF093C245F6E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -11336,35 +10868,25 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/SignalMetadataKit/SignalMetadataKit.framework", - "${BUILT_PRODUCTS_DIR}/AxolotlKit/AxolotlKit.framework", - "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", - "${BUILT_PRODUCTS_DIR}/Curve25519Kit/Curve25519Kit.framework", - "${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework", + "${PODS_ROOT}/Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-frameworks.sh", "${BUILT_PRODUCTS_DIR}/SignalCoreKit/SignalCoreKit.framework", - "${BUILT_PRODUCTS_DIR}/SwiftProtobuf/SwiftProtobuf.framework", + "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin/openssl.framework", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( ); outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalMetadataKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AxolotlKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Curve25519Kit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HKDFKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalCoreKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftProtobuf.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - F86AF509285719EB34B21DFF17AA927C /* [CP] Embed Pods Frameworks */ = { + C8B38306CBF54CE641695B7B52C3A6C1 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -11372,2367 +10894,2396 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/SignalCoreKit/SignalCoreKit.framework", - "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", - "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin/openssl.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( ); outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalCoreKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-resources.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 02F0881EDAC3AA8AE88D2D50BDE32807 /* Sources */ = { + 003CAEECEBA24702D133DBBAEE009AD0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D3DE7DC974A8D6C8ED6CBDE912394404 /* AccountServiceClient.swift in Sources */, - 301F583A0174EC0F0CE03294181007ED /* AnyPromise+Conversion.swift in Sources */, - C192AA99FDE616B29346CCA80FFB18A3 /* AppContext.m in Sources */, - 5AE0899D18CF03B8DDF02D6828CC441C /* AppReadiness.m in Sources */, - 801E13CCB001052A18EABE2C2BFF71D4 /* AppVersion.m in Sources */, - 61EEF904A7D33B16190314EEBF11B6A4 /* BuildConfiguration.swift in Sources */, - B2CB31C5EB8845532E382937050E0A62 /* ByteParser.m in Sources */, - 0BC5739AA2A53B2043A2F8C3583B2D6E /* CDSQuote.m in Sources */, - 555E7E223374B743F1C4EE8E5A99A32A /* CDSSigningCertificate.m in Sources */, - AB669E3B2071594787795751DAA5E935 /* Contact.m in Sources */, - 263CCAC8D87F6DED0DB6E15D78381BF6 /* ContactDiscoveryService.m in Sources */, - 28EB0B7F3EC024A3B8DB59A4D6A6B9AE /* ContactsUpdater.m in Sources */, - 19D1E7CB83D3FC47DEC2213042C54196 /* ContentProxy.swift in Sources */, - 4FCD4B57A13087C14F7AE537109800C6 /* CreatePreKeysOperation.swift in Sources */, - 315F88AFF175F88ACEF0EC669C5872AA /* DataSource.m in Sources */, - 1F3DCFE0A7A94F55F9B9FBE6603F9A06 /* DeviceLink.swift in Sources */, - 72B2CA3FD684A5388C99C7DDFD2C566B /* DeviceLinkIndex.swift in Sources */, - 73BC51C90748105A5DEC6A1CEC4CEA3A /* DeviceLinkingSession.swift in Sources */, - FB390B9644351362440E3E9A9B3CDB4D /* DeviceLinkingSessionDelegate.swift in Sources */, - B836BFCC23DA6B50002C86A0 /* LKSessionRestoreMessage.m in Sources */, - DA556FE88D4FEF7EF93290656FB6F933 /* DeviceLinkingUtilities.swift in Sources */, - A6BB58DE6A8A778BD98DDA4BF67BAEC9 /* DeviceNames.swift in Sources */, - 3E6A838A7146E80991F21882319096A5 /* Dictionary+Description.swift in Sources */, - 1DDF198EF59412225F38B7E32A3F1B59 /* ECKeyPair+Loki.swift in Sources */, - EB1B77D9DB77468491FD249093B971D9 /* Factories.swift in Sources */, - 30EDE7D61AD80D551FA1B0A473B13CF3 /* FakeContactsManager.swift in Sources */, - 5571201BEE9721AB69F17B02C2558DC6 /* FeatureFlags.swift in Sources */, - BD4185E1DC3790A5E6F70158717A4448 /* Fingerprint.pb.swift in Sources */, - 62E6DEC59322D1713D23B923E9AFE2CA /* FingerprintProto.swift in Sources */, - 6608CB408528E7F64EFE83CC5F60369D /* FriendRequestExpirationJob.swift in Sources */, - D5E6C3D76AC09A73651E6D4388D3C98B /* FriendRequestExpirationMessageFinder.swift in Sources */, - B0CADACF5383A00DE6E83735638F461F /* FullTextSearchFinder.swift in Sources */, - 09B1ECA2FD16E8CD10751A0C8A887125 /* FunctionalUtil.m in Sources */, - 3210E1E77C6D11521DF8F6A2DF5BB4DB /* JobQueue.swift in Sources */, - 0FECBF56BCB46CDBFF4933F90D90F41C /* JSON.swift in Sources */, - 204E7C4300657C09BCE4FF9D9C889DFE /* LKAddressMessage.m in Sources */, - 8B63D5801C95E327728C3ECB316033E3 /* LKDeviceLinkMessage.m in Sources */, - F2526DEFD0DCDE215D0401B545250CDC /* LKEphemeralMessage.m in Sources */, - A164FDA449625E3093297A63748A71B8 /* LKFriendRequestMessage.m in Sources */, - 1E4AAC0D6AD2C16D0B79B8791D8CCFB7 /* LokiAPI+SwarmAPI.swift in Sources */, - 45772EE5467D7089788F3344B6455E5B /* LokiAPI.swift in Sources */, - 5BDEBE657CF70F4C277B95A1B16CC45A /* LokiAPITarget.swift in Sources */, - B9A54174A1F390A96008232A66C99BFA /* LokiDatabaseUtilities.swift in Sources */, - B88847C823E39039009836D2 /* GeneralUtilities.swift in Sources */, - 6476E4492CD132288A96E63B96235FAA /* LokiDotNetAPI.swift in Sources */, - 6B55A85A8BFD949A07E6B53CE4FDB5D4 /* LokiPublicChat.swift in Sources */, - BA2F457A4E4B157EE3613EAF9F52CE77 /* LokiPublicChatAPI.swift in Sources */, - B64C7B3B46C693CD01C85D52E9D1E39F /* LokiPublicChatMessage.swift in Sources */, - 5022F1805EA370F6FD261F40D64FC5FD /* LokiMessage.swift in Sources */, - 474910A517EDB433828BE1C907CDD67A /* LokiMessageWrapper.swift in Sources */, - 2C745083E492193AB9AD48ED05EA3ACF /* LokiP2PAPI.swift in Sources */, - 0186D4F65A238B9A27B9BD4B02923F96 /* LokiRSSFeed.swift in Sources */, - 142672BAE03194B2EE09F22133460805 /* LokiFileServerAPI.swift in Sources */, - 14137CF3FA83F818073B541E3AF1A57C /* LokiLongPoller.swift in Sources */, - FD39A901AAE6F8E059B008FB7F54A7A6 /* LRUCache.swift in Sources */, - E919169678225F9912BA500185EB61EA /* MessageSender+Promise.swift in Sources */, - 1798267353AE4ADDCC1FB33AD0868915 /* MessageSenderJobQueue.swift in Sources */, - 47DEC553B7163BFAF41866F84F16C8D9 /* MIMETypeUtil.m in Sources */, - 6B7D6EA0A4EE36F96B52A326DB51037F /* Mnemonic.swift in Sources */, - CE133725737AA9CB931B3E8016B9779E /* MockSSKEnvironment.m in Sources */, - 56798796FDABC2983A400B468AC15DAB /* NetworkManager.swift in Sources */, - 2B2068E74F510B26E31AA4E0033AA240 /* NoopNotificationsManager.swift in Sources */, - 8C760824A40B60A753CA29C486BE83FB /* Notification+Loki.swift in Sources */, - DC7B08EDB42422920B17670A33A3EE36 /* NSArray+Functional.m in Sources */, - F497AE543EFD43019ACDFF02412EC253 /* NSArray+OWS.m in Sources */, - B8BFFF372355339800102A27 /* LokiPublicChatInfo.swift in Sources */, - 2F06060928BB4B568FF606B27928E37D /* NSData+Image.m in Sources */, - 5FB300EC5041E8F0EF2D2AC2197BCF86 /* NSError+MessageSending.m in Sources */, - E82A2F726269C767CC8DB2CC00106B37 /* NSNotificationCenter+OWS.m in Sources */, - 809905843236A7E3543BFFD0F6A51117 /* NSObject+Casting.m in Sources */, - 4336F01AED689AC97E80BCF92FE1F36E /* NSRegularExpression+SSK.swift in Sources */, - 466B3DEA126A45054020A3748EBF32FB /* NSString+SSK.m in Sources */, - EA8A4AB7262746E4EC2CBCF7F9947D4C /* NSTimer+OWS.m in Sources */, - B86F994623E7B675005D9FE9 /* LokiRSSFeedProxy.swift in Sources */, - AF82228BF86E1E21E98BA4A1D7E94FB3 /* NSURLSessionDataTask+StatusCode.m in Sources */, - A715AC7589528425C32DD7ED5C9311CD /* NSUserDefaults+OWS.m in Sources */, - 87EBB36906A431BB54DE0B6A00E8A96A /* OutageDetection.swift in Sources */, - 56E8A00FA1B24984F009DD38F425C049 /* OWS2FAManager.m in Sources */, - C32A5B882408B5F600A1BA52 /* GroupParser.swift in Sources */, - 2FC5E67EC7B600F871B06ED01C08E20F /* OWSAddToContactsOfferMessage.m in Sources */, - CC14EE96D6B93FE9063CE29987AE5BC2 /* OWSAddToProfileWhitelistOfferMessage.m in Sources */, - 261F394B59B3D2CA19B72A9CBFEE3DDC /* OWSAnalytics.m in Sources */, - 9691F1ADDECA579A519A117F9753F999 /* OWSAnalyticsEvents.m in Sources */, - C4454B4D47C68B5474C1325145C7B9FE /* OWSAttachmentDownloads.m in Sources */, - FD30F1FC81EA1449F28E9420C4AFB73B /* OWSBackgroundTask.m in Sources */, - 43ACC6113CF4B00A65EE8CF7FB676169 /* OWSBackupFragment.m in Sources */, - 25CD29D2E482EF2B6F6A7B3700004A7D /* OWSBatchMessageProcessor.m in Sources */, - 0605EF2FF45C2E8CE3E8E5B49680BDB2 /* OWSBlockedPhoneNumbersMessage.m in Sources */, - 3ADDF7208433AD5EDA165DA20A8C2463 /* OWSBlockingManager.m in Sources */, - 7CC59301596DC880AEACE7CABBFCE25A /* OWSCensorshipConfiguration.m in Sources */, - 90E9BBE84746504AF8B89B0D8A6EEE48 /* OWSChunkedOutputStream.m in Sources */, - 8AE8FC6FA32855B267057AB0F2E6B32B /* OWSContact.m in Sources */, - 09F7AEDA040EAA6EE4654D2B3DF26380 /* OWSContactDiscoveryOperation.swift in Sources */, - D4F330275275B130B8A50F815F56F1B8 /* OWSContactsOutputStream.m in Sources */, - 81B47EB46720C75869058ADA4F8728B9 /* OWSCountryMetadata.m in Sources */, - 4481FCF144634D40CAF0C11E4109CF43 /* OWSDevice.m in Sources */, - E092EB1B49B49C6AE768FBE52F145FF1 /* OWSDeviceProvisioner.m in Sources */, - 1DCAEC0CAB9706E4BEEF9861C7EE44D4 /* OWSDeviceProvisioningCodeService.m in Sources */, - C3254C187B6586E7B2A22524C6359919 /* OWSDeviceProvisioningService.m in Sources */, - B8DE20122345C5280069EB06 /* NSSet+Functional.m in Sources */, - 9D9A02068A8F186AB6848EC138F28EDE /* OWSDevicesService.m in Sources */, - 637ED90861D8B284305805E01BB13D9E /* OWSDisappearingConfigurationUpdateInfoMessage.m in Sources */, - CEDBB07F0AFB8A537BD5B0C78FAEE1B9 /* OWSDisappearingMessagesConfiguration.m in Sources */, - 1B4058648DF38B1A09D95EAC04CC55CC /* OWSDisappearingMessagesConfigurationMessage.m in Sources */, - 609E06606874D5DBC711DD570E2E5232 /* OWSDisappearingMessagesFinder.m in Sources */, - 429B1C1BA83272DADA289D729FC4613B /* OWSDisappearingMessagesJob.m in Sources */, - FD8CF4E168531142BE4ED27BC33BAED7 /* OWSDispatch.m in Sources */, - E4307098751CBECC7BBDF36D408B76DC /* OWSDynamicOutgoingMessage.m in Sources */, - C307B3348ADB7C586CA17C20FD084D1A /* OWSEndSessionMessage.m in Sources */, - 0BE3A8BCDE4C1F719151C1176D4F3CF8 /* OWSError.m in Sources */, - B80CAF38238CE728002003AF /* Debugging.swift in Sources */, - 31A94568F6477CEA038B127764C3E683 /* OWSFailedAttachmentDownloadsJob.m in Sources */, - 2647F69DDD6B3170D35365815FAC6A73 /* OWSFailedMessagesJob.m in Sources */, - 6CD39DBDD745666BE283CD646CEA0399 /* OWSFakeCallMessageHandler.m in Sources */, - DDEDBAAC3379DB3F45826A44FCA0BD0B /* OWSFakeContactsUpdater.m in Sources */, - 38D1A773A039B0CD1590D955CE8B21D0 /* OWSFakeMessageSender.m in Sources */, - 67C27BBD1FC1D888022133F272EAECF0 /* OWSFakeNetworkManager.m in Sources */, - 75FBE1CDCEC0DD5944F8355E56BF271F /* OWSFakeProfileManager.m in Sources */, - A7B33D2AE64F8A72A52D66373DB0BC3C /* OWSFileSystem.m in Sources */, - 0F0758ED050F4D252D533215FEED3ED4 /* OWSFingerprint.m in Sources */, - EE4711DABEB33C407B6227DB9AAE9EA0 /* OWSFingerprintBuilder.m in Sources */, - 93DABD0B8D1356CD04821234B72640BA /* OWSGroupsOutputStream.m in Sources */, - 248F79B2CAA71B8141AC9D9FA5538AF2 /* OWSHTTPSecurityPolicy.m in Sources */, - 6A20EA032110ADE683BB6740A2CDC0F1 /* OWSIdentityManager.m in Sources */, - C3BADCE123E6380900B304DE /* LokiFileServerProxy.swift in Sources */, - 5A753D158D981FAA7EB3D7F39086EB70 /* OWSIncomingMessageFinder.m in Sources */, - 82E97C46A65B2D261B9098FC6CDAF5AD /* OWSIncomingSentMessageTranscript.m in Sources */, - 474534D90C1B4CFC79B179298AB53457 /* OWSIncompleteCallsJob.m in Sources */, - 0CE3C60CD6C1497A6FF2E8DC8D07E3D0 /* OWSLinkedDeviceReadReceipt.m in Sources */, - 74B61C47C8156C6F28284D4B61A93F13 /* OWSLinkPreview.swift in Sources */, - B836BFD023DA944F002C86A0 /* LokiSnodeProxy.swift in Sources */, - FBA3BC6E31A1FB84DB55F7F3D60ED0CA /* OWSMediaGalleryFinder.m in Sources */, - FCC1DDF05AAC7FA82CCBF03A8E622D0F /* OWSMediaUtils.swift in Sources */, - CA57F615C8AD0AD30D0B3894AD0129C1 /* OWSMessageDecrypter.m in Sources */, - 7DFD441C74191D76E1D4000FC4EB2C01 /* OWSMessageHandler.m in Sources */, - 86AF9EF9413303A52D03588EB815C12D /* OWSMessageManager.m in Sources */, - 253A75BD22C817235B25E9F221FCE1AF /* OWSMessageReceiver.m in Sources */, - 417A879FC16B2204AF9DE3D6650B5709 /* OWSMessageSend.swift in Sources */, - 534193BEF7A7CC2657C7F3516A7E3405 /* OWSMessageSender.m in Sources */, - 92421AA8DE1CEB48E2D2955BF341BCF2 /* OWSMessageServiceParams.m in Sources */, - E17B2C131EB4DDE96FE4AA7C17BF8BD4 /* OWSMessageUtils.m in Sources */, - 3D9A2D0C9E219BD7006ACA470FB01055 /* OWSMockSyncManager.swift in Sources */, - 6A88F722DE94C465152879A5DC9F4357 /* OWSOperation.m in Sources */, - 114D450D0E54E357AB8E7246FA6B1AE3 /* OWSOutgoingCallMessage.m in Sources */, - FE168386C8459307A995F861F003CED2 /* OWSOutgoingNullMessage.m in Sources */, - B3D53AD4ECC3D3BC4200D4710716E8D8 /* OWSOutgoingReceiptManager.m in Sources */, - D98190E41FEDD6A6BECD09DD34EBF2F0 /* OWSOutgoingSentMessageTranscript.m in Sources */, - 9B8C853CA389FA67CE5EED933A524ACF /* OWSOutgoingSyncMessage.m in Sources */, - 46F313052AF0240685E7FF102D72CBB7 /* OWSPrimaryStorage+Calling.m in Sources */, - B836BFCF23DA944F002C86A0 /* LokiHTTPClient.swift in Sources */, - 1476960A681A73B48F1F720660194B28 /* OWSPrimaryStorage+keyFromIntLong.m in Sources */, - 74BB7743FEED15A6BF9E7170CEE5BC85 /* OWSPrimaryStorage+Loki.m in Sources */, - B88847C423E2A66C009836D2 /* LKSessionRequestMessage.m in Sources */, - 8407481CF5AADD3BB74FD69F648A8B05 /* OWSPrimaryStorage+Loki.swift in Sources */, - 7A4AF9958CE5DEE0890B293E798DB530 /* OWSPrimaryStorage+PreKeyStore.m in Sources */, - BF0F4FEAA4E302C5D7207224073D2628 /* OWSPrimaryStorage+SessionStore.m in Sources */, - FE60614C99F09BDE33B04F4D4E45C7D8 /* OWSPrimaryStorage+SignedPreKeyStore.m in Sources */, - A48B4C89DF8BCC747C0C61B6FBB2A46E /* OWSPrimaryStorage.m in Sources */, - D83FC1AD4E980C4E472A1697CD2B9BE2 /* OWSProfileKeyMessage.m in Sources */, - BDB4234BCAE13A3E561F28D3825BF894 /* OWSProvisioningCipher.m in Sources */, - B5EB2B20063F978693769953A20AE4D2 /* OWSProvisioningMessage.m in Sources */, - 596F006A10512BC8691A91A97E4E00E8 /* OWSReadReceiptManager.m in Sources */, - B8D92A97237A322C0024119B /* ContactParser.swift in Sources */, - B8A5599223544407009B5F68 /* DisplayNameUtilities.swift in Sources */, - E31B3BD9A9E95B7DCA2E8367569F35C1 /* OWSReadReceiptsForLinkedDevicesMessage.m in Sources */, - 9176C23C091464CE4116A58CEAA9D761 /* OWSReceiptsForSenderMessage.m in Sources */, - 55BA47AD7F26C34E41EC9F08AFABBEAB /* OWSRecipientIdentity.m in Sources */, - 85227A449706420A9E32ADFCDAEFDF51 /* OWSRecordTranscriptJob.m in Sources */, - 34A1D4EC71C06A7748E89B7CF8690D0A /* OWSRequestBuilder.m in Sources */, - 6CA627DB8E1D6D0F4EB4A1A1A935C85E /* OWSRequestFactory.m in Sources */, - 16826D432160333AD5F36B1E4C6843F1 /* OWSRequestMaker.swift in Sources */, - DFAB3F11387C5BB6237A3E5AA19FA9E1 /* OWSSignalAddress.swift in Sources */, - 9EF40EB2671D383D009F41AC87BD282B /* OWSSignalService.m in Sources */, - 180481A9D283BECA246138DABD022A65 /* OWSStorage.m in Sources */, - 050A26C196DF4BDF04091FF4029251DF /* OWSSyncConfigurationMessage.m in Sources */, - 8F20B6BC2DEEC9A4E08602729107AA4E /* OWSSyncContactsMessage.m in Sources */, - 97D381A3DD030994638C1AB450A9138B /* OWSSyncGroupsMessage.m in Sources */, - B88847BF23E2A5E9009836D2 /* LKGroupUtilities.m in Sources */, - 8AE1E9C64E779D53353D4BF6D7F616A1 /* OWSSyncGroupsRequestMessage.m in Sources */, - 007CA7457B96A82EBFB6FA2475FB740B /* OWSThumbnailService.swift in Sources */, - 24BD2603234D5F040008EB0A /* LokiPublicChatPoller.swift in Sources */, - ACE7340166D219185AEA5DB9A55807AD /* OWSUDManager.swift in Sources */, - 74DCA50C4745F730CBD5AB38FF93A1BE /* OWSUnknownContactBlockOfferMessage.m in Sources */, - 4F06A37B8252221A8EC3F754C52C01E5 /* OWSUploadOperation.m in Sources */, - D4E184F864ED503C29AD1D15C197C253 /* OWSVerificationStateChangeMessage.m in Sources */, - B84664F723503DC20083A1CD /* Mention.swift in Sources */, - 6CBAC6C21F8838BD10F580145A822E47 /* OWSVerificationStateSyncMessage.m in Sources */, - B8ABCE2F0E53081130C22DB0701A44AD /* OWSWebSocket.m in Sources */, - 132D2D3991E6319E0C2742B7655F3C5B /* ParamParser.swift in Sources */, - F57E61D90C4EACDAD402B7D9518F4EBC /* PhoneNumber.m in Sources */, - E0B96FDD5D3FA2A71F62E94E4AA08324 /* PhoneNumberUtil.m in Sources */, - 5BC582C60FC8A826EA42C4DE37801C83 /* PreKeyBundle+jsonDict.m in Sources */, - 10B519B04C205F62FA1DB1B8FDA1816F /* PreKeyRefreshOperation.swift in Sources */, - 8A97D7473595748C49422817583D046D /* Promise+Hashing.swift in Sources */, - C38D75892385E6E10047AF0B /* LKUnlinkDeviceMessage.m in Sources */, - A97451653B7206CE92D10989C8A4715A /* Promise+retainUntilComplete.swift in Sources */, - 27480123F5C0A8F8163EEF3BA6AB3A70 /* Promise+Retrying.swift in Sources */, - DEC190D13BD45A267CBE769B8C3AF932 /* ProofOfWork.swift in Sources */, - FA12111A49719828EC6CD807335748F4 /* ProtoUtils.m in Sources */, - 1C3935C913EBBFFD42F8287B8C8A6FEE /* Provisioning.pb.swift in Sources */, - B80CA42523FA378700F28211 /* LokiSessionResetImplementation.swift in Sources */, - 599E37B951DFA0B0C58C57AFBF8C5F94 /* ProvisioningProto.swift in Sources */, - 445134DE1801F86C793FFBC6A255768B /* ProxiedContentDownloader.swift in Sources */, - 3CF456E570C62BE4C3B88240E1390CBF /* ReachabilityManager.swift in Sources */, - C351BF2123E81A1E0041D98F /* Data+Streaming.swift in Sources */, - EB8CFAF8EA9C4CE3E635CEA1425773D7 /* ReverseDispatchQueue.swift in Sources */, - 6F28BA82FA7EAB6D1F73F01286AA0442 /* RotateSignedKeyOperation.swift in Sources */, - B80CA43123FCFBBB00F28211 /* LKUserDefaults.swift in Sources */, - BFB488C6E656F8CAF196AB2DB0A82042 /* SignalAccount.m in Sources */, - 7D64D14C2DAE59C4DCAF172496A0334D /* SignalIOS.pb.swift in Sources */, - 669BFBECA6B7ADC675747096C3AB6341 /* SignalIOSProto.swift in Sources */, - 76C3743D0A7EE437BAA734DCA4456786 /* SignalMessage.swift in Sources */, - 1543423F893CABBE81D79B7169F45932 /* SignalRecipient.m in Sources */, - 8DE36D1EC91DCB8DD4519BD8C385DF97 /* SignalService.pb.swift in Sources */, - BBEE0CECEDDE6C71EE59F86214D36611 /* SignalServiceClient.swift in Sources */, - DD9FB444CC29B0424F822F8AD3F5F63E /* SignalServiceKit-dummy.m in Sources */, - 1773701D13BB4929E962876BA8732F49 /* SignalServiceProfile.swift in Sources */, - 21275140948B16C1F3B35896756016BA /* SSKEnvironment.m in Sources */, - 244F819B1468FB1A47B9971EF383C91C /* SSKIncrementingIdFinder.swift in Sources */, - 546F2713FCBE9D739DC48599B57CDC14 /* SSKJobRecord.m in Sources */, - 5BEC0B66BC65CCC20620B91BADF121B0 /* SSKKeychainStorage.swift in Sources */, - D31B40D4500BB23C4106576B74D2267C /* SSKMessageSenderJobRecord.m in Sources */, - A94FB359DFBE32A335B563A10DB27B48 /* SSKPreferences.swift in Sources */, - 6B328F2D934F21F296C394AE6CFE6901 /* SSKProto.swift in Sources */, - 6C25C6CF059672AB5819C641CA3E659B /* SSKProtoEnvelope+Loki.swift in Sources */, - 120AD1A08380D7337AF93AE85824BBD4 /* SSKProtoPrekeyBundleMessage+Loki.swift in Sources */, - 7CF84F5B2063BA2269C847508A97D31F /* SSKWebSocket.swift in Sources */, - EC65DBC93B2BA7B549DC70E118A3F2CE /* String+SSK.swift in Sources */, - 6F7E44D944DB17D3106D49B8288C41B0 /* String+Trimming.swift in Sources */, - A1AA2F8FE42AC894BA5C2417329E46FD /* SwiftSingletons.swift in Sources */, - 51B085BECDA126561581100B93C16ACC /* TestAppContext.m in Sources */, - 966664BC86A3918E5971C734DA88A8A0 /* TestKeychainStorage.swift in Sources */, - 14F97AA55787D91B308D7E4804908C14 /* TSAccountManager.m in Sources */, - BB1F2B968ADF65D0933822DEF1C3BD29 /* TSAttachment.m in Sources */, - 14A9CED698B5B974D2BB0A721CEFCB57 /* TSAttachmentPointer.m in Sources */, - 46B080F2C046925EC91DF87A4F5E0A1A /* TSAttachmentStream.m in Sources */, - 5A9F1BE9C0AA3182E568CCC48AC430AE /* TSCall.m in Sources */, - CA59E2FF779D49CD9D9E25E8663E5B00 /* TSConstants.m in Sources */, - EB7EF9487D3DD81BC5561A2055A22C04 /* TSContactThread.m in Sources */, - 08678F9DB71F6536BD2F1B82044C5285 /* TSDatabaseSecondaryIndexes.m in Sources */, - 5BAC7D924AB439AB6D0A453887B13B1B /* TSDatabaseView.m in Sources */, - 3C25CACDB380BB0CA6E576F5BE622ECE /* TSErrorMessage.m in Sources */, - 6FE056FD9C01D76850FE01118904A091 /* TSGroupModel.m in Sources */, - C380926143D609433202A7937F2E7502 /* TSGroupThread.m in Sources */, - A8940A6E81AA47C2B01DBCC0C61A6EA3 /* TSIncomingMessage.m in Sources */, - 8832DE590F78DA11502E34B5124CC9D8 /* TSInfoMessage.m in Sources */, - B88847C723E39039009836D2 /* GroupUtilities.swift in Sources */, - FF265E275BEFE04A5D691F968289BED9 /* TSInteraction.m in Sources */, - BE4207A36051DEED078663B7A3059B23 /* TSInvalidIdentityKeyErrorMessage.m in Sources */, - 1B5FB9C627D7AC08812F22112CADDED8 /* TSInvalidIdentityKeyReceivingErrorMessage.m in Sources */, - 87640B970C79BB8D2F46FCEB94688706 /* TSInvalidIdentityKeySendingErrorMessage.m in Sources */, - 13D467CD8FE3D16251F82F545AA6563D /* TSMessage.m in Sources */, - 90A85B160010CB035FD881E9A6A55574 /* TSNetworkManager.m in Sources */, - 24BD2605234D5F590008EB0A /* LokiPublicChatManager.swift in Sources */, - 05AB30875FCC8F8D189650356BB50769 /* TSOutgoingMessage.m in Sources */, - 22F42A66AB93100D76A0BB67094FD740 /* TSPreKeyManager.m in Sources */, - 6CB76CAD67A561DA601534A7515A888B /* TSQuotedMessage.m in Sources */, - FBFD6DAB6136637213DF54DFD4E1586D /* TSRequest.m in Sources */, - 11D86E70C08855D5B5E7EB0A8411DC4B /* TSSocketManager.m in Sources */, - 12653EF6F352DCF2815A14E603F34F2C /* TSThread.m in Sources */, - 66B4FF16F2B7664A3D603DF30834D31A /* TSYapDatabaseObject.m in Sources */, - 1714C424C582D612A74EBFD090369DFE /* TypingIndicatorMessage.swift in Sources */, - 5E64A3C78939B4F552612AFD82E88B22 /* TypingIndicators.swift in Sources */, - 93071D79D48F36D73AF09D64C7483406 /* UIImage+OWS.m in Sources */, - E6F81109D3C569846020E9D94CE6BD4E /* WeakTimer.swift in Sources */, - 2B79246F303A19C92AB454D16135B449 /* WebSocketProto.swift in Sources */, - 36A0BD907D4444C3FE372897CBC40CBC /* WebSocketResources.pb.swift in Sources */, - DCA5DC83CBF203BEB7D7B9BCB6DBA556 /* YapDatabase+Promise.swift in Sources */, - 4D4EDBB980A8CFCD2CAC1ECA692D06D3 /* YapDatabaseConnection+OWS.m in Sources */, - C32A5B8C2408BD1E00A1BA52 /* LKSyncOpenGroupsMessage.m in Sources */, - 2E29EB1F0E65088C8E5141C06484CCE2 /* YapDatabaseTransaction+OWS.m in Sources */, + 3BEC778368160580748500C4D439C6EB /* YYAnimatedImageView.m in Sources */, + 02C5178E9B49DB790DDA2BD3E0E94FB2 /* YYFrameImage.m in Sources */, + 869AA91CFBBF0FC2511F9AA4052EDEEF /* YYImage-dummy.m in Sources */, + 733C50A53C35D341BF770A4429BBC591 /* YYImage.m in Sources */, + 3FA84E7818C1DB4745900759535335A0 /* YYImageCoder.m in Sources */, + 5E31339678DE7EBF7D8315E763BED61F /* YYSpriteSheetImage.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 039CBB0C3A3EC8072F8547475238375B /* Sources */ = { + 023D4900FD3C35BD7A7978B00FC94EA0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4E96C6214583C66AE8C5F9C62E4010C5 /* AFAutoPurgingImageCache.m in Sources */, - ACD68D7F719AE18D848048A7618D5316 /* AFHTTPSessionManager.m in Sources */, - F1736AEBC2A87A714DCF8AB1A4B3F95C /* AFImageDownloader.m in Sources */, - 04A527AACCD1B8B7154FD8C770F850E7 /* AFNetworkActivityIndicatorManager.m in Sources */, - A07EDC93838465B48E7A6EA5C3B65E6D /* AFNetworking-dummy.m in Sources */, - C10B2A4BAD4C997DDEABD383B645E1A8 /* AFNetworkReachabilityManager.m in Sources */, - 793789980658145CB592149EB73D76BE /* AFSecurityPolicy.m in Sources */, - BA1F9954C666B3C5C2E471D41A281884 /* AFURLRequestSerialization.m in Sources */, - 10889AD74D1B865BA22A53B235B8B4ED /* AFURLResponseSerialization.m in Sources */, - 6081B4263C0E62303C77A0CB632DA162 /* AFURLSessionManager.m in Sources */, - 2335745B6D49594D0F327EC88AE6C7E9 /* UIActivityIndicatorView+AFNetworking.m in Sources */, - EF947C902DF03821A7291841503CDD55 /* UIButton+AFNetworking.m in Sources */, - C4C0DEE0C61F50F141A29E98CDF95A36 /* UIImageView+AFNetworking.m in Sources */, - 0B04C1EE2C4766600AA5AA8E27B9907C /* UIProgressView+AFNetworking.m in Sources */, - 4439BE3A6E365981120D60CB8DC20B1B /* UIRefreshControl+AFNetworking.m in Sources */, - 30BEC971AF2E1D35BD0920EE5D21045A /* UIWebView+AFNetworking.m in Sources */, + 7963A81D132872AE4F8C05A86F32AB3F /* Curve25519KitSwiftTests.swift in Sources */, + 196CA25A75288D031D01B4348E25B34D /* SigningTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 04A2C21CC9A1526A674F131E6E790DD9 /* Sources */ = { + 03EB64C45DD2BBAB13F087F7266026F6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1D3B2C0B503285EA5A3784593D10A530 /* _MPTweakBindObserver.m in Sources */, - 55787AC3D4DDBE41981505450A15489A /* AutomaticEvents.m in Sources */, - 897A51499BFD21672DC22B8902DC1327 /* Mixpanel+AutomaticTracks.m in Sources */, - 4477BBCD6BF84E6161C036D2CF4DA2C2 /* Mixpanel-dummy.m in Sources */, - 61C9D04979D49CFDD41E335491528CD4 /* Mixpanel.m in Sources */, - 9415A82E9DA04E97DBEE4B39BEDC0488 /* MixpanelExceptionHandler.m in Sources */, - B8BBFE4ABF525C775920B88089A5A3E2 /* MixpanelGroup.m in Sources */, - 673F39DF23D28EBD72A61678273AFE6D /* MixpanelPeople.m in Sources */, - 311008660383D447589B19D03FBAD975 /* MixpanelType.m in Sources */, - C345596DD6564CB8B86E569B7BD82AE8 /* MPAbstractABTestDesignerMessage.m in Sources */, - 0DEC869529E430C630E3DD6533448338 /* MPABTestDesignerChangeRequestMessage.m in Sources */, - 36169F05581A5DF1D32202DF2F0E6F1E /* MPABTestDesignerChangeResponseMessage.m in Sources */, - 12C53CFA1739F7D313CDA61884F8F2C4 /* MPABTestDesignerClearRequestMessage.m in Sources */, - A983D65F0EB61DD8AB95C3A77C222DC1 /* MPABTestDesignerClearResponseMessage.m in Sources */, - 51253A11455327DA6A0D6DB43D993F37 /* MPABTestDesignerConnection.m in Sources */, - F2E0492E93C7B719D8F9E4E5644B2DC8 /* MPABTestDesignerDeviceInfoRequestMessage.m in Sources */, - FBCB1D0C505A25044BA1D6C86947BD1B /* MPABTestDesignerDeviceInfoResponseMessage.m in Sources */, - DF0E9A087A88EF0C40123F89CB22413F /* MPABTestDesignerDisconnectMessage.m in Sources */, - 90EC67E5AE856E82ADAFFBF363D46A6B /* MPABTestDesignerSnapshotRequestMessage.m in Sources */, - C5C7D04CB3CFB6CEA092D3D33AEF136E /* MPABTestDesignerSnapshotResponseMessage.m in Sources */, - 66D0FB74C0F8673F35B89407E96AD085 /* MPABTestDesignerTweakRequestMessage.m in Sources */, - 3FCB431D05EA09E8D8C8C9860D9E304D /* MPABTestDesignerTweakResponseMessage.m in Sources */, - 806081D53C64D20218A618C0EAAA1FEB /* MPApplicationStateSerializer.m in Sources */, - D9CC5A042FEF8B4121767B9DEA3175C1 /* MPBOOLToNSNumberValueTransformer.m in Sources */, - BBF81B778A3C382BCA5FC7407D70EE01 /* MPCATransform3DToNSDictionaryValueTransformer.m in Sources */, - 7057BFD03A482B153E112DF208740465 /* MPCGAffineTransformToNSDictionaryValueTransformer.m in Sources */, - 6261AC04E0F7490799C44E228C67288E /* MPCGColorRefToNSStringValueTransformer.m in Sources */, - 0D401301EDA3BD71EF3A1C1593E7A36A /* MPCGPointToNSDictionaryValueTransformer.m in Sources */, - 21F5A1454F265C772EB991CC25AF2A98 /* MPCGRectToNSDictionaryValueTransformer.m in Sources */, - 6F684858C333F54D750BE4124FA2E35D /* MPCGSizeToNSDictionaryValueTransformer.m in Sources */, - 8CEDEA945206F73383C56C58A5AF2208 /* MPClassDescription.m in Sources */, - EF698674277C8499BDA5FEAE9A772D23 /* MPConnectIntegrations.m in Sources */, - 801888275FEDB88816F13D74DD10D043 /* MPDesignerEventBindingRequestMesssage.m in Sources */, - 58814606A540BCC3919DFE594B81B2C0 /* MPDesignerEventBindingResponseMesssage.m in Sources */, - 24B12418879A85551F31BEF591424957 /* MPDesignerTrackMessage.m in Sources */, - A3C8614FD14312B23BE6C754794EE4B9 /* MPDisplayTrigger.m in Sources */, - 2B1347DFA67961554D09B2C48553ACA6 /* MPEnumDescription.m in Sources */, - 41D19838F5FE0D4947E8806123A73FE4 /* MPEventBinding.m in Sources */, - 4EA19FC3FD91900A88E9CD17037BB62A /* MPMiniNotification.m in Sources */, - 5C48EA828FBE25E6C32551FB40626A70 /* MPNetwork.m in Sources */, - 49746040E3E272F0F2DC944171E2E74D /* MPNotification.m in Sources */, - 919F4F79AA780D9AA66F277928386389 /* MPNotificationButton.m in Sources */, - 63C8F054659972BFE87A3F67FCCA3640 /* MPNotificationViewController.m in Sources */, - 514667E4CABD4561313A6927343BC2BC /* MPNSAttributedStringToNSDictionaryValueTransformer.m in Sources */, - E52C192B08CE9FE74AF2FA2F56657BE5 /* MPNSNumberToCGFloatValueTransformer.m in Sources */, - 91395B3D72522DE9F1D971159D0CBBF6 /* MPObjectIdentityProvider.m in Sources */, - 1825FEC138F2C587CA8ED11F6E2E5D84 /* MPObjectSelector.m in Sources */, - E2E33BEF4DD60E2F53A4910EB961A9B4 /* MPObjectSerializer.m in Sources */, - 7820F5644923A83FE7B2B9764783B134 /* MPObjectSerializerConfig.m in Sources */, - 658CBB40A83BD3DCFCCA23BFE56C4AA2 /* MPObjectSerializerContext.m in Sources */, - C2B5E1A697206412E5C4CA16FD0BF929 /* MPPassThroughValueTransformer.m in Sources */, - 3D72EB63A657B05B8EAAEFF175E4D356 /* MPPropertyDescription.m in Sources */, - E46F28B2BC16936D3E81B72E7566F576 /* MPResources.m in Sources */, - 68B03BD1C40408D52C4D3AB669F713EA /* MPSequenceGenerator.m in Sources */, - 8C4053BAB0A745E5ED587C3D56C0E37F /* MPSwizzle.m in Sources */, - CAAF15EAC61607F6D91069AC3B08A7B1 /* MPSwizzler.m in Sources */, - 2C0C1C1E3B54793C6E0A5551797632F1 /* MPTakeoverNotification.m in Sources */, - 5410025DDCB10998F1690C1706E64B3F /* MPTweak.m in Sources */, - 4D5DB047CEEEB5FFA74ACEB8C1C6E9C9 /* MPTweakInline.m in Sources */, - 4F3EB5807219C673E46FBFC311BE0771 /* MPTweakStore.m in Sources */, - E471D0AEBDDC8ECDD7577E39501A10BD /* MPTypeDescription.m in Sources */, - 4A675BFCB9A3A29087DCF8386CF37E5D /* MPUIColorToNSStringValueTransformer.m in Sources */, - 634D8401D7635CD0BB13DA81AAFD0C53 /* MPUIControlBinding.m in Sources */, - 451D7C34E49C3E6DB1A36BF367652AA1 /* MPUIEdgeInsetsToNSDictionaryValueTransformer.m in Sources */, - 16D9B6D9C54F9F56C9204F015A0C6972 /* MPUIFontToNSDictionaryValueTransformer.m in Sources */, - 502EFEE8C53986CCF6325C268A6E4009 /* MPUIImageToNSDictionaryValueTransformer.m in Sources */, - 9B91A937E181B21EEA532315D4BE8BAA /* MPUITableViewBinding.m in Sources */, - 196C6E553D60630AA4CBA4505757D957 /* MPVariant.m in Sources */, - 53A77829C622FD8FC0A11E2288580B60 /* MPWebSocket.m in Sources */, - 00BDA1D78B74D9EF1AAE208629AAA860 /* NSInvocation+MPHelpers.m in Sources */, - 0788AD74D807FB566E7A0347DF91F768 /* NSNotificationCenter+AutomaticTracks.m in Sources */, - C0F80AB1CAD9D233B2A4297B68084A5B /* NSThread+MPHelpers.m in Sources */, - 81845524E0FB1BD2D8974B32D0ABDDF5 /* SelectorEvaluator.m in Sources */, - DCCF969EC87A1BDD234305B0F6D6A50A /* SessionMetadata.m in Sources */, - E73577ECDBFEE46115E568AA0CA257D0 /* UIApplication+AutomaticTracks.m in Sources */, - AA67313FB9673557790BDED70EF71BF1 /* UIColor+MPColor.m in Sources */, - 63D2B57D611D5C7CEB3A06F825B0E92C /* UIImage+MPAverageColor.m in Sources */, - F5CE0C347C3046D29100B2CDC0923DCB /* UIImage+MPImageEffects.m in Sources */, - C155D258344524A68E568C817A85F749 /* UIView+MPHelpers.m in Sources */, - E80963DE2FC69802C694F028ADCAE3FE /* UIViewController+AutomaticTracks.m in Sources */, + 151F62C388F0BA230A666EF2B6066297 /* Pods-SignalTests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 0793D0A437B0EA0C590814DEFE7DD38E /* Sources */ = { + 06BBBA079E7CAA34A3BFCB85AA20CE39 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B82325E9CA9FCCE7A0587F71ABF5CA06 /* NVActivityIndicatorAnimationAudioEqualizer.swift in Sources */, - F4B0113FDB5B11201F0F25F9025B3F89 /* NVActivityIndicatorAnimationBallBeat.swift in Sources */, - E6FED42A12BEC6EE0A673987B2A7526D /* NVActivityIndicatorAnimationBallClipRotate.swift in Sources */, - 15927FF8DBD14CA71B253B17F73B9874 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift in Sources */, - EEF1B08A7280F89A2FC7608D693887A4 /* NVActivityIndicatorAnimationBallClipRotatePulse.swift in Sources */, - 8A32339D2BABC993450EF952B27C04E4 /* NVActivityIndicatorAnimationBallDoubleBounce.swift in Sources */, - 46A10EF843D4A825BC9FAEEA4F397C59 /* NVActivityIndicatorAnimationBallGridBeat.swift in Sources */, - 99D1FF69FCC07F60ACD51576A1710529 /* NVActivityIndicatorAnimationBallGridPulse.swift in Sources */, - 805B8D5643BD8A140BCA7222EF654695 /* NVActivityIndicatorAnimationBallPulse.swift in Sources */, - D4A080C92CB5D43722238F18DED30BB5 /* NVActivityIndicatorAnimationBallPulseRise.swift in Sources */, - 0D8C44A91458AF0DAFFB7798912D3849 /* NVActivityIndicatorAnimationBallPulseSync.swift in Sources */, - 41FAF16CA2EB18619A602321BFE6F537 /* NVActivityIndicatorAnimationBallRotate.swift in Sources */, - F67C366337BB07DC59BAB7251F3F8D60 /* NVActivityIndicatorAnimationBallRotateChase.swift in Sources */, - 27A56AB709294F0647AD070E94C978EF /* NVActivityIndicatorAnimationBallScale.swift in Sources */, - B99FDBDD92B03808B83E00703FD59C95 /* NVActivityIndicatorAnimationBallScaleMultiple.swift in Sources */, - F1A4D594DF6589C00BF514858609AA25 /* NVActivityIndicatorAnimationBallScaleRipple.swift in Sources */, - 146040F21335DE74CE61654966877FE6 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift in Sources */, - CAB9460CA06E396CD1EDD4809BB1C545 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift in Sources */, - FBA1FB3172D9E952CA3EC3141D495078 /* NVActivityIndicatorAnimationBallTrianglePath.swift in Sources */, - 003989C3CC5FDA6648C3D8D9EE8514E8 /* NVActivityIndicatorAnimationBallZigZag.swift in Sources */, - 1B71F44933DEF9982B52649D799DED98 /* NVActivityIndicatorAnimationBallZigZagDeflect.swift in Sources */, - 3EC7B0B36C227DFBDF3D33A82EA7C9FF /* NVActivityIndicatorAnimationBlank.swift in Sources */, - D5D3FD3FCA3BC2F807E2079740CBFFEA /* NVActivityIndicatorAnimationCircleStrokeSpin.swift in Sources */, - 287ED036F166DA4BA024CEE49BA990B3 /* NVActivityIndicatorAnimationCubeTransition.swift in Sources */, - 974F4EBFE36707C2F0C1057252A2FB45 /* NVActivityIndicatorAnimationDelegate.swift in Sources */, - A680114D3E016F8367DD6CA03B949DE5 /* NVActivityIndicatorAnimationLineScale.swift in Sources */, - 51EA2D52BE9B340508A44C38BB3C8C32 /* NVActivityIndicatorAnimationLineScaleParty.swift in Sources */, - 9BE735FF1E313EDE136F11D9A6612BEF /* NVActivityIndicatorAnimationLineScalePulseOut.swift in Sources */, - 9DFBF411FCB163D9C84214AA36680BDD /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift in Sources */, - AFED33A36E5CCC72136F3D7A662993CB /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift in Sources */, - 7926BDFB4821501503AB57A5143B9612 /* NVActivityIndicatorAnimationOrbit.swift in Sources */, - 8D998951BAD8EC86BB317AB897B648D1 /* NVActivityIndicatorAnimationPacman.swift in Sources */, - 35899E98D63E4147946CB2471BF6C753 /* NVActivityIndicatorAnimationSemiCircleSpin.swift in Sources */, - B8575E39F8B440ED18AC885753713527 /* NVActivityIndicatorAnimationSquareSpin.swift in Sources */, - 8CAD84904CB24E0B644A34DA8147FC7B /* NVActivityIndicatorAnimationTriangleSkewSpin.swift in Sources */, - ABBC5DAF846C3A0A1E047751E49098E1 /* NVActivityIndicatorPresenter.swift in Sources */, - 8049EE6D6A6ECA55C75F241CDB7C23ED /* NVActivityIndicatorShape.swift in Sources */, - 23C4DB95E3AED20043FE11D7B58D2487 /* NVActivityIndicatorView-dummy.m in Sources */, - 23B30D5B85D35817E0617EE52609FFA8 /* NVActivityIndicatorView.swift in Sources */, - 7B26543EA074C4254729DF3BB2511A8D /* NVActivityIndicatorViewable.swift in Sources */, + 3D30C04A277BA8BB3EDD4BB520B2E628 /* AEAD.swift in Sources */, + 623D0922DA5070680A2D950806903D78 /* AEADChaCha20Poly1305.swift in Sources */, + 774C05573CC988093E56AC3C2D084AD1 /* AES+Foundation.swift in Sources */, + 25CA65C20E808AB8C1882904CDE55A29 /* AES.Cryptors.swift in Sources */, + 9E30D172627C1C14441121C1B754134A /* AES.swift in Sources */, + 7C07629F9FD7FCC9FD7254C96DEC464A /* Array+Extension.swift in Sources */, + 67384C2BBAAB084663C16F2D86A73D0D /* Array+Foundation.swift in Sources */, + A4092BE563EE73AA55FA162497171108 /* Authenticator.swift in Sources */, + 65F605650874A1FB3BE60134A46C8281 /* BatchedCollection.swift in Sources */, + 989A5FA46F581760C01326E1A445179E /* Bit.swift in Sources */, + 9BE13BA3678980329353BE3AA863F091 /* BlockCipher.swift in Sources */, + 6B1DFF77670565E8972EB161056115C3 /* BlockDecryptor.swift in Sources */, + E26D04873F72D6D9327CB6E548097069 /* BlockEncryptor.swift in Sources */, + 18196DA85A035E027F882BBCDB558E78 /* BlockMode.swift in Sources */, + DBFA69DC6362FB504EC4BC8BDAC5F012 /* BlockModeOptions.swift in Sources */, + 55B3A2E89F5E3DE0D9EBDB4AD28CDD08 /* Blowfish+Foundation.swift in Sources */, + 1BC54689BD61B4C2705B797250FAD5D7 /* Blowfish.swift in Sources */, + 9892708E41EC086CB55FE567AE370C1B /* CBC.swift in Sources */, + A56824CCCA0D8C55366FDF01DE527E99 /* CBCMAC.swift in Sources */, + 63B9256205310CEC1330EBBB8244854A /* CCM.swift in Sources */, + BC5FD0CCB0B3FD9DB004A6A67650EF7F /* CFB.swift in Sources */, + AD530A8A1E16F42B9FE8AD9E1A10EBB3 /* ChaCha20+Foundation.swift in Sources */, + 1EA9609F7E3E8C45C02F514CA2D2F572 /* ChaCha20.swift in Sources */, + 07DC329C9B0C67BC9CB5456D7032BA1C /* Checksum.swift in Sources */, + B128AB72652BA4C8B4E6F93013B8AC4B /* Cipher.swift in Sources */, + AE7E0AA6B0166B935FEE9BCFEBD46423 /* CipherModeWorker.swift in Sources */, + 92C5C166A72C497C01EF2EE5D7368655 /* CMAC.swift in Sources */, + B9F1C0E13893E97F3CF0F5D04F6CA05C /* Collection+Extension.swift in Sources */, + B62355841334C899C6C0B8FEC8A0C200 /* CompactMap.swift in Sources */, + 877205DD9A76C98DB9EFDB05D2901081 /* Cryptor.swift in Sources */, + 3476611DD2825B95510D5AA46C8B94AB /* Cryptors.swift in Sources */, + 81F520C997863840CD947FDD3AD43227 /* CryptoSwift-dummy.m in Sources */, + EC74360B8FF23C4837EB48CAB59481EE /* CTR.swift in Sources */, + EF9DFA0B65F5CE9AEFC40DE1E839DE22 /* Data+Extension.swift in Sources */, + CB0E947EEFE8B5247A96334CEA3FADCE /* Digest.swift in Sources */, + E90F61F87728A709155FE3114032FDEB /* DigestType.swift in Sources */, + 5880339F1DCE8621968D3525D02AAAE8 /* ECB.swift in Sources */, + 044FFA2BA521B42DCCEF79E613944C00 /* GCM.swift in Sources */, + 0543E09615D10FD442F3CF7FC686CFEB /* Generics.swift in Sources */, + 49D900F9D9B108E5F7DA64DF30B3DC3D /* HKDF.swift in Sources */, + D7C6E6B15693A4A40F1979F3E9046842 /* HMAC+Foundation.swift in Sources */, + 239EBBE65BE624D6F2083BACB2408498 /* HMAC.swift in Sources */, + F1C0AB41C87370C010EF6D2D5EDD4930 /* Int+Extension.swift in Sources */, + 2F433F4EBCA6F0587FD96B4EBF9387AD /* MD5.swift in Sources */, + 5E61A75002417656C712D34E902DBCFC /* NoPadding.swift in Sources */, + 6EFF10C2C77B5F66DACE3011E70A9F89 /* OFB.swift in Sources */, + 8185E4FADB82F23A68C65BEEE6237CFF /* Operators.swift in Sources */, + A224B746C01217DBD57BEC4AE271FD43 /* Padding.swift in Sources */, + 10B292C7C1E34D3393F61A8CE9092C15 /* PBKDF1.swift in Sources */, + 7F76833DD0FB741A91B974821FE97636 /* PBKDF2.swift in Sources */, + DB63C73B74B87AC88344F0D1EB55FD15 /* PCBC.swift in Sources */, + 4051C738183B0984657267A156CAFCC4 /* PKCS5.swift in Sources */, + 90917CE7F90E30BEDA5AA901F3E0DD86 /* PKCS7.swift in Sources */, + F8B5EE5436D4E61B0AF8BD7734096F8D /* PKCS7Padding.swift in Sources */, + B2DF388D51E108F10D66757B35B8577E /* Poly1305.swift in Sources */, + 8BADF4C96520504C6CAD19867386847E /* Rabbit+Foundation.swift in Sources */, + 796D67B62B9538A4CA026FF4BD3FE019 /* Rabbit.swift in Sources */, + AB26017AAB7768BA53385D6556001486 /* RandomBytesSequence.swift in Sources */, + 27B0E8BFDCE2A251D4F36EBDE584D24E /* Scrypt.swift in Sources */, + 3669C89C28BDE51521117326E92A499F /* SecureBytes.swift in Sources */, + AA23CC5E190662115D016658A9CAE595 /* SHA1.swift in Sources */, + 7CDB5EF2D0BC53AAA0C6BF67A28DA14D /* SHA2.swift in Sources */, + 4BC58074799911D5C4C6D3DCDB085E4D /* SHA3.swift in Sources */, + 9EAD237B45A0A0EE2EE0A9FA3EB9F069 /* StreamDecryptor.swift in Sources */, + D55A7DF8E1E61EDB34E6CBF848E47798 /* StreamEncryptor.swift in Sources */, + 99CB203A3CF007A5532D68B2FCB06E57 /* String+Extension.swift in Sources */, + 01DAD9C57208B0C1E6FC2C1383BABACD /* String+FoundationExtension.swift in Sources */, + 1E425E1044283E3465DA6F0062DB9650 /* UInt128.swift in Sources */, + 314798BE690696534162318065DBE92A /* UInt16+Extension.swift in Sources */, + 5AA273AEF6464F7697FDDAD79FBE6269 /* UInt32+Extension.swift in Sources */, + D89CC24C4EEA99996229FB3225900155 /* UInt64+Extension.swift in Sources */, + B78A982D78CE7D7CFF7184EE2C5CCA33 /* UInt8+Extension.swift in Sources */, + C669826B38C9EB51E06AA73A940AD38D /* Updatable.swift in Sources */, + 43C48AEAA13B82D29D75090195090C83 /* Utils+Foundation.swift in Sources */, + C62FD05F73D0436D1B5CD9FD9E7AD64D /* Utils.swift in Sources */, + D960A3C6E5E230C5A47EA08488E935CE /* ZeroPadding.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 0CD76078D2FA551265931EBDFEB7AB2F /* Sources */ = { + 12C8FE969FD667B3560C444EABC081A4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EE62DC0865CB2A3639E627E522CA441E /* HKDFKitSwiftTests.swift in Sources */, - 6907A8A10DD25DFE9C7F73696C0ED204 /* HKDFKitTests.m in Sources */, + 8CE3A36C05266BF9B7406D600496DFAF /* NSDate+YapDatabase.m in Sources */, + E23C92C56CC70C09EE198E3562CBC333 /* NSDictionary+YapDatabase.m in Sources */, + F25B1B9E5B6B5101259BF35A292CD3C0 /* yap_vfs_shim.m in Sources */, + A233425FF079DF2E21F9D17B3DB8DD48 /* YapActionItem.m in Sources */, + 3BFF4963E5A38EF2AE7D1A61D436D597 /* YapBidirectionalCache.m in Sources */, + 2ED2B1DA0568D19E227A4B0FBAD48E3D /* YapCache.m in Sources */, + 1041B5CA0B975A26F782A1D5DC46BE41 /* YapCollectionKey.m in Sources */, + 0BAB8D4B685B47DE467849A83E414655 /* YapDatabase-dummy.m in Sources */, + 4168F18CF265BEB26AA8EE942304C120 /* YapDatabase.m in Sources */, + 6EAF1473FC6B87F9C75699956D9C04DD /* YapDatabaseActionManager.m in Sources */, + 8794D05AE995152CA4688967723F74F9 /* YapDatabaseActionManagerConnection.m in Sources */, + 33DC854E48EAF5DEE0951C381ECE2641 /* YapDatabaseActionManagerTransaction.m in Sources */, + B8DFC1852C9889CEDCA2B7680B60A8F6 /* YapDatabaseAutoView.m in Sources */, + 8C59D180C7AA8E2EDC425A295C4343A4 /* YapDatabaseAutoViewConnection.m in Sources */, + 905075624D0326480703514E3F7A46E5 /* YapDatabaseAutoViewTransaction.m in Sources */, + 80BD69E97230D4517F43E7DDAEC5ED8A /* YapDatabaseCloudCore.m in Sources */, + C093F7676C1C184DD9C48E11C11F9D8C /* YapDatabaseCloudCoreConnection.m in Sources */, + 1BC05C10170F8D1482B6C918E37C4E18 /* YapDatabaseCloudCoreGraph.m in Sources */, + DE1ED326332E2EBA29C9D1549C44CB60 /* YapDatabaseCloudCoreOperation.m in Sources */, + 48E13A62320B456B610B73A7B74CFE84 /* YapDatabaseCloudCoreOptions.m in Sources */, + 1F1A4BFE6963AA687D0D626F1D2838D3 /* YapDatabaseCloudCorePipeline.m in Sources */, + E0546BCF8D81F03C5A04F570129FB54D /* YapDatabaseCloudCoreTransaction.m in Sources */, + 9A25BD4B0BF9252C391F78F92EEAAA40 /* YapDatabaseCloudKit.m in Sources */, + 07EFA6FFF43C7CE2CD700B2AC66836DD /* YapDatabaseCloudKitConnection.m in Sources */, + E183F2AA09F8FB81662765A1AA61BD3F /* YapDatabaseCloudKitOptions.m in Sources */, + 487B7D54709ECC3B46416FF790C84ACB /* YapDatabaseCloudKitTransaction.m in Sources */, + D9BC30E448ECE6C7FA7B4BF1788481E5 /* YapDatabaseCloudKitTypes.m in Sources */, + 32CBE19A4D26E1FAC5984D8263B3D643 /* YapDatabaseConnection.m in Sources */, + 37608CA6658DC5BD64221838B49CD334 /* YapDatabaseConnectionConfig.m in Sources */, + 3204F252262EF6EE7B20C6BE53B9299D /* YapDatabaseConnectionPool.m in Sources */, + 9FEB387CE212250E3B6765241ECEEA95 /* YapDatabaseConnectionProxy.m in Sources */, + 01102202A5CCCDA5B9FE17E36D8721A4 /* YapDatabaseConnectionState.m in Sources */, + 087E32008FD86F7880E634A8532BCE44 /* YapDatabaseCrossProcessNotification.m in Sources */, + D97C9BF2A014A901C12784FA1FFF83B6 /* YapDatabaseCrossProcessNotificationConnection.m in Sources */, + ABFEB94FC5A7D272B955DCFC8E340735 /* YapDatabaseCrossProcessNotificationTransaction.m in Sources */, + 58C59F64229F74DB355509AA2FB5AB4F /* YapDatabaseCryptoUtils.m in Sources */, + F7ECE346766DE3F1E0E4418A6A326DDA /* YapDatabaseExtension.m in Sources */, + 7703D98F8BB8A3EFB8ED13DAE6BDC360 /* YapDatabaseExtensionConnection.m in Sources */, + 282833BBF6A05AC2634E407FBE629FC5 /* YapDatabaseExtensionTransaction.m in Sources */, + 42923A609B33A275072661F8FA62FF40 /* YapDatabaseFilteredView.m in Sources */, + 1439D2285EB1BCC2DE7C2067EF63F135 /* YapDatabaseFilteredViewConnection.m in Sources */, + 7500070FE6870617DAD2745A8F141779 /* YapDatabaseFilteredViewTransaction.m in Sources */, + EA3879F983E967DC99584DC3919AF160 /* YapDatabaseFilteredViewTypes.m in Sources */, + 5A400032715F93F4EEF5C334D2020BEE /* YapDatabaseFullTextSearch.m in Sources */, + E5989B19910F87EAA357B423A1D31228 /* YapDatabaseFullTextSearchConnection.m in Sources */, + 62AAD60BAE110CC8822F5D8E9F8BB927 /* YapDatabaseFullTextSearchHandler.m in Sources */, + 6A59CF21ECC8E4A2425A666539046B1A /* YapDatabaseFullTextSearchSnippetOptions.m in Sources */, + D8A0E13D31FF58026BD9467EC7488AE8 /* YapDatabaseFullTextSearchTransaction.m in Sources */, + 131F8051D111AB905E3C034019FF603A /* YapDatabaseHooks.m in Sources */, + 2EA808976DF0DC31DCAC8E9FD9463377 /* YapDatabaseHooksConnection.m in Sources */, + 529321E9A7983A6D8FE44A42F35E48C7 /* YapDatabaseHooksTransaction.m in Sources */, + 8B024706E0303262C03E70D9DB77D22A /* YapDatabaseLogging.m in Sources */, + 021254110AAE1C12E8240D4021B1F590 /* YapDatabaseManager.m in Sources */, + 7FA5A093E8709EE536B4E056BC16249D /* YapDatabaseManualView.m in Sources */, + 42C262C3D8319EC1D14C277F40A70CEB /* YapDatabaseManualViewConnection.m in Sources */, + 79DA5356E52259B764AD559744AB0C80 /* YapDatabaseManualViewTransaction.m in Sources */, + 8CE4C1C78550F950E9FA211B4D9602ED /* YapDatabaseOptions.m in Sources */, + 37134F811A43FF3884ECAEE5972CD922 /* YapDatabaseQuery.m in Sources */, + 2594C137139125FB2ED3865E0D73CEC7 /* YapDatabaseRelationship.m in Sources */, + 172B79401AEC1F17DAF22DDA5C69A98D /* YapDatabaseRelationshipConnection.m in Sources */, + 8FD852D26AD0FD769DF93F59C844A375 /* YapDatabaseRelationshipEdge.m in Sources */, + 4A996E4A8C9760C5EEA2C79438DC1891 /* YapDatabaseRelationshipOptions.m in Sources */, + 8099B8BB825708957F441DC7565B3B88 /* YapDatabaseRelationshipTransaction.m in Sources */, + 5E9030EC46161EBEC4E0E70C4ADD101C /* YapDatabaseRTreeIndex.m in Sources */, + B9BBAD7E8EFE31B4A7B55E140BE90F61 /* YapDatabaseRTreeIndexConnection.m in Sources */, + 402413655C8BEA78191C9854CBCA0733 /* YapDatabaseRTreeIndexHandler.m in Sources */, + 6ED267455DB0EF4A8FE486AEDA39E22A /* YapDatabaseRTreeIndexOptions.m in Sources */, + CD0C4A3655C0B7F1B36449C755B03D97 /* YapDatabaseRTreeIndexSetup.m in Sources */, + 4D93E8A5C99A3698FF25C3C84648831D /* YapDatabaseRTreeIndexTransaction.m in Sources */, + 058A47D97F8167E18C158B8CDACE2781 /* YapDatabaseSearchQueue.m in Sources */, + C4A522DC27F12C3E2082BD21BB37F66B /* YapDatabaseSearchResultsView.m in Sources */, + 897F131FDCE96DC6131D651E9B6CCCA6 /* YapDatabaseSearchResultsViewConnection.m in Sources */, + 95EA408DA2E4A5363A8CCEFA251AA277 /* YapDatabaseSearchResultsViewOptions.m in Sources */, + 5F7EA7C3AD95F615DC9CC6CC429C9B67 /* YapDatabaseSearchResultsViewTransaction.m in Sources */, + A03AE4F0BDD0D9E4FEE596AA2791932B /* YapDatabaseSecondaryIndex.m in Sources */, + 3AD1450387A021853DA9B9B06F0F7191 /* YapDatabaseSecondaryIndexConnection.m in Sources */, + 0F65F2469D411C0C30F3732A1590C17F /* YapDatabaseSecondaryIndexHandler.m in Sources */, + 3C133564FEE1A4147801DE54ED7A8FE3 /* YapDatabaseSecondaryIndexOptions.m in Sources */, + E1B6D4C3F58AFCC1C1AC445E4352F2E0 /* YapDatabaseSecondaryIndexSetup.m in Sources */, + 2F1CD7D8F2FAFF9A280C0D63545F34E5 /* YapDatabaseSecondaryIndexTransaction.m in Sources */, + D5FE14D87F0430F854C8298AC3D4475F /* YapDatabaseStatement.m in Sources */, + 934F8EF8797396A92EEF631BFD5D7C1F /* YapDatabaseTransaction.m in Sources */, + 9D9E118B0DCCFABAB37621876CDCC5AF /* YapDatabaseView.m in Sources */, + B57A5CD5FE57DB946B48C1B01A923A16 /* YapDatabaseViewChange.m in Sources */, + ABB41B67E10593D8A98E4480E7F71FFD /* YapDatabaseViewConnection.m in Sources */, + D98F252DD5F0801C8143CAA21F51A7DD /* YapDatabaseViewLocator.m in Sources */, + 6A14AA56607E39B05EE564CDC238F28A /* YapDatabaseViewMappings.m in Sources */, + 6729BEA1467FAEB36977BA8FFBE4827D /* YapDatabaseViewOptions.m in Sources */, + EFB6049F959E4E8F44DBE2F81D7A5450 /* YapDatabaseViewPage.mm in Sources */, + 2323BD04787D00F3C3E4B83ED1570DAB /* YapDatabaseViewPageMetadata.m in Sources */, + 40B1D70F81A2F3D7AAF39C662A1CC481 /* YapDatabaseViewRangeOptions.m in Sources */, + 93A7CA4716E28CFEB1FF6204420DDFE6 /* YapDatabaseViewState.m in Sources */, + A9CBA9CD22D32006938B5C257A93C10A /* YapDatabaseViewTransaction.m in Sources */, + E02531B819A9E393FA04A328B5189F33 /* YapDatabaseViewTypes.m in Sources */, + 653B79A5EDE4A0CF6E9A862712177B9B /* YapDirtyDictionary.m in Sources */, + F0FC14D6AECB653383CA04F368965198 /* YapManyToManyCache.m in Sources */, + B97EFB48C33E63CEF1D0C566F6C6AD3F /* YapMemoryTable.m in Sources */, + 1C7F2144DD96E5ECEC1225FDDC2507A5 /* YapMurmurHash.m in Sources */, + 67AA7CBD24EDAC44776538C3E7D3D0B2 /* YapMutationStack.m in Sources */, + 369502473ADECBCAFA969EDA838BA146 /* YapNull.m in Sources */, + B2803FBC553262F84CEB9D59CF84495D /* YapProxyObject.m in Sources */, + B231C0F1A35FCA1DC21DD3C34B97B508 /* YapReachability.m in Sources */, + A0284582AE4C8F13992B98654BFD33F9 /* YapRowidSet.mm in Sources */, + 789C5AC2072EB9A5A29E8DD4CDC7AF58 /* YapSet.m in Sources */, + 7BB9379BB8C5A44341D4C1DBBF095E4D /* YapTouch.m in Sources */, + 3AB0A88CEEC5A7E11CF685F3AFF24B20 /* YapWhitelistBlacklist.m in Sources */, + 1367963AA0E500E0DA3AB0D83EFE64A0 /* YDBCKAttachRequest.m in Sources */, + 55B7B365377940CC367B091A53E0A58F /* YDBCKChangeQueue.m in Sources */, + A562E067A4B51C20D048BD1A51F24D63 /* YDBCKChangeRecord.m in Sources */, + 223126F1415F069966E0C8690462BB7B /* YDBCKChangeSet.m in Sources */, + 2E38BDE1A8FD7C1C9D94745144ADD29D /* YDBCKMappingTableInfo.m in Sources */, + 79EDFE7789890020153D943E5BF8FDCC /* YDBCKMergeInfo.m in Sources */, + B722DF2CF53CAF6D596C9215F79AC4C9 /* YDBCKRecord.m in Sources */, + 15D2BAC07D590F15AE5BAAA2EB1E0DFD /* YDBCKRecordInfo.m in Sources */, + 549A94C710CFDA91504E75044002E508 /* YDBCKRecordTableInfo.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1DD9A9F86F6FD275ED13E6C9ECA9B585 /* Sources */ = { + 238757F7F7060F7EF86E390B0F512699 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - FCA8B06705E2A2DF7A77E2B5DD67A5A3 /* mz_compat.c in Sources */, - 723E0B66FD37F8E9F85AA6C4769C4D70 /* mz_crypt.c in Sources */, - 4900BC2CE50E01AA306A4927465608DE /* mz_crypt_apple.c in Sources */, - 8D788555D8ABF818ABA9F49B475F9E91 /* mz_os.c in Sources */, - B2FBEF64969995E33EFCF2D2BEEE1FAB /* mz_os_posix.c in Sources */, - 89741D4C6A64225820EFD0C0A476892D /* mz_strm.c in Sources */, - 78C97179CF4DB76DAC498C166FC90F8D /* mz_strm_buf.c in Sources */, - 4D19C130D2BE6FF779ABC97AED1BE606 /* mz_strm_mem.c in Sources */, - 56CBFCB28C617F10FE1D3A7E971428B2 /* mz_strm_os_posix.c in Sources */, - AF1F603869BE4E3EDD16A408E9A84496 /* mz_strm_pkcrypt.c in Sources */, - D3F5280A116E64FFC13689BAFC1CAFE4 /* mz_strm_split.c in Sources */, - 6E56EA4FCF8CB9B0432B6D2389DDBB86 /* mz_strm_wzaes.c in Sources */, - 2C4EE0A34C3E00086C982C4B732FD2C4 /* mz_strm_zlib.c in Sources */, - 3BB9D9344822934293C93F843A77062F /* mz_zip.c in Sources */, - 6C53CC6D727A92BC458F3F9DA4947DD6 /* mz_zip_rw.c in Sources */, - D635E23849B3C9A7B523F50697A9195C /* SSZipArchive-dummy.m in Sources */, - 8C8CC95A90B69A488014E98D2EEE1F0D /* SSZipArchive.m in Sources */, + E6A8DEFAECDCF65E93A124F54D10A23E /* ECPrivateKey.swift in Sources */, + A42849B16F4E354ACDD61AB3AEFF0F01 /* ECPublicKey.swift in Sources */, + 7BDCFC0224204A9F00641C39 /* SessionResetStatus.swift in Sources */, + D7DE309FD29690ADC6B1917DF3B76F56 /* NSData+messagePadding.m in Sources */, + 7BDCFC0124204A9F00641C39 /* DiffieHellman.swift in Sources */, + CAD74083A9A7FFE2A2DA99E8AFA6E998 /* OWSUnidentifiedDelivery.pb.swift in Sources */, + 53378D18DB81ABF9DB04046CF1ED3DD5 /* SignalMetadataKit-dummy.m in Sources */, + 421732D4285FDC724DEA1B1EC56447A0 /* SMKCertificateValidator.swift in Sources */, + 69C28D382656FDEB7178F46803D24B7E /* SMKError.swift in Sources */, + 7BDCFC0324204A9F00641C39 /* LokiServiceCipher.swift in Sources */, + 2ECF99241D509424A97DAA1398A05C70 /* SMKProto.swift in Sources */, + 7BDCFBFF24204A9F00641C39 /* FallbackSessionCipher.swift in Sources */, + F116F478A8246F03FF6F4F4FD5894DB0 /* SMKSecretSessionCipher.swift in Sources */, + A03741354A29D5C003F454FD34E4242D /* SMKSenderCertificate.swift in Sources */, + 55B2646A3F79B587ABA1E4499E1E5D41 /* SMKServerCertificate.swift in Sources */, + 7405A580CA73667999162FA6031D80ED /* SMKUDAccessKey.swift in Sources */, + 5266AFD21E77F66133D54DD6BAEDAE0A /* SMKUnidentifiedSenderMessage.swift in Sources */, + 7BDCFC0024204A9F00641C39 /* SessionResetProtocol.swift in Sources */, + 495E7395B23B0FB50B3B4C4280596586 /* SMKUnidentifiedSenderMessageContent.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 234764366D8A427B9AFF215A548E5DCB /* Sources */ = { + 24E06AC433D6EB14505E7187AC1B58C4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 96CF110ABA507AE9D7564370C1C4D7A4 /* AES-CBC.m in Sources */, - 0FDC6C05C7701A1342E9D4D64E5B09CE /* AliceAxolotlParameters.m in Sources */, - AAF1B813E5BDA2248D69F6EBB9F2AFF4 /* AxolotlKit-dummy.m in Sources */, - AB04675E86F2D1E7A00AC91AB575F283 /* BobAxolotlParameters.m in Sources */, - C2371A66F5C41C6E1F5D9BE93EA4BFE3 /* ChainAndIndex.m in Sources */, - 9C8E9A67F57A0C7D8B6EC322F93A9FD7 /* ChainKey.m in Sources */, - 7BD4839123E3B39D0007F1BA /* LokiFriendRequestMessage.m in Sources */, - 757916ADB577B9C2226977F2C8C692AD /* MessageKeys.m in Sources */, - 242E861FAF2EF2FFF2D9CB57513CF0C2 /* NSData+keyVersionByte.m in Sources */, - 684EBEAC88CF868BC1B639CC1D864F89 /* PreKeyBundle.m in Sources */, - DA37E1AAAE527EA7C36FF3F657554A76 /* PreKeyRecord.m in Sources */, - FBA07E150C5E76A385B0D73BC6C7F59D /* PreKeyWhisperMessage.m in Sources */, - 07B3C9350CB212B1DFA520DEAA058492 /* RatchetingSession.m in Sources */, - 4DC4DC7CF0DDCC88E117EF125F0C9C0D /* ReceivingChain.m in Sources */, - B87FAD6ED22494493E4ACC9AB7677BBA /* RKCK.m in Sources */, - C4A5ECEE2A3729EF96AA45E08FFE8732 /* RootKey.m in Sources */, - 360994D61A2750C973C88E04F5C5FAAE /* SendingChain.m in Sources */, - B86207AAA78C6A0EDEE958F361D8E66A /* SerializationUtilities.m in Sources */, - 0149E1E40DB0CBFA519A599174EA98F0 /* SessionBuilder.m in Sources */, - 7ECAEED8DCCAC17E2CDDC1D0783A46BD /* SessionCipher.m in Sources */, - 6B9DB8B31AA05E3A9EB30E666B2393AF /* SessionRecord.m in Sources */, - 6F1ACA46D35DF50C1782012B40A753D2 /* SessionState.m in Sources */, - DF8373FEB1E686E9539A356417FDE49C /* SignedPrekeyRecord.m in Sources */, - FA5941E472E5CF025F424B1131BA4E34 /* SPKMockProtocolStore.m in Sources */, - E0CE674478BCDF8B9374D1150CBBF365 /* SPKProto.swift in Sources */, - FD85CBA479B8181B9BEE1C2C108CAA05 /* TSDerivedSecrets.m in Sources */, - 2EAA4E42D3FD1D80915263342E910CC6 /* WhisperMessage.m in Sources */, - 5405AB15696353EAD6B9730E33CBD8AD /* WhisperTextProtocol.pb.swift in Sources */, + 9E3031EFE997855E3754F3382ECC4C08 /* SAMKeychain-dummy.m in Sources */, + 8DA07086C68F04D9A5D862E0F34A5E66 /* SAMKeychain.m in Sources */, + 0DBCC1503A55900243ED7A3A25537680 /* SAMKeychainQuery.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2695E1A578B083A4CE0959D2514D7D0B /* Sources */ = { + 2580A9214591CC4315C905F2614F5C64 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D077B6BBB5F2A984BC82AB773A9508FF /* Compression.swift in Sources */, - AF5A4B638BC1D6C235831C07BD79B46F /* SSLClientCertificate.swift in Sources */, - A405A4CE98935F87E859BCA8E1D7AD9B /* SSLSecurity.swift in Sources */, - 8905B3D7046933B2F9FEB6A2CB864F5E /* Starscream-dummy.m in Sources */, - 066B22577262D55E2C25B75A16718BBC /* WebSocket.swift in Sources */, + 339F0E465F2F2CCF19E64EF65C6CA376 /* HKDFKit-dummy.m in Sources */, + 07F7E6E7AD3A3838E8BBFBF1EDBF748A /* HKDFKit.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 274593F11CBAC58B9A0590DD8D6307BF /* Sources */ = { + 34E3116038781CBDA8BE8554B428BE0C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 35F9A85779AFA5A00325D34481FBBDD7 /* Pods-SignalTests-dummy.m in Sources */, + 199BE1676F3C524B000F2ED3D172D2FF /* Pods-LokiPushNotificationService-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2DF3F4DD9113A79E15FCA60BFB005952 /* Sources */ = { + 362BFDADC76F1E3144CAB3D20D27A124 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5B41005A2F5654D130098E78E8D7D3EC /* Data+SMKTests.swift in Sources */, - 0619E95B043C78579B9AE61BCB185941 /* MessagePaddingTests.m in Sources */, - 8F8BD8014407325F4E50A006451C109D /* SMKMiscTest.swift in Sources */, - B26C10F0ADACC5C1E6D2AF4F34C50E31 /* SMKObjCTest.m in Sources */, - EBBDFFCC25ECFE2CB027071F0295F45C /* SMKSecretSessionCipherTest.swift in Sources */, - 3524B9317F7FE5CD3953604C00CF1036 /* SMKSenderCertificateTest.swift in Sources */, - B89CF41476E039C2F8087F1384F63C55 /* SMKServerCertificateTest.swift in Sources */, - 9D07760C033B03C8A11BB96238664CD3 /* SMKSessionCipherTest.swift in Sources */, - 02C430F11BE4A39E1C46D0EC60847048 /* SMKTestUtils.swift in Sources */, - 5E8E21352BE01DB1335F8DD0363F5E85 /* SMKUDAccessKeyTest.swift in Sources */, + DCD40091CB31D2D06C4E55F0EBAF111A /* HKDFKitSwiftTests.swift in Sources */, + A9535A4779FA94D030A58B0614A239FA /* HKDFKitTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 35517476633D5B064D658C006D1083D2 /* Sources */ = { + 3D39C12C9EB47E6F1B60810B5044A638 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2422E6544DDD635C289F152CF5F3650A /* GoogleUtilities-dummy.m in Sources */, - 5F7858731C8268D007EEEDA49CDCA74C /* GULAppEnvironmentUtil.m in Sources */, - B7D920DACC47B97DAA84BC6FE1454BA2 /* GULLogger.m in Sources */, + 5141821C122BAB8A91445E4B34606050 /* AccountServiceClient.swift in Sources */, + 5A83569933B0490BA31776F072BE77CB /* AnyPromise+Conversion.swift in Sources */, + 9FA502065B6B28CC5ACA9D9209C699CF /* AppContext.m in Sources */, + EE973564BBC7B12A7E2AC9EFAF5F86F6 /* AppReadiness.m in Sources */, + 1953E6C8DE58BF0E6A6EE6B23897A5EC /* AppVersion.m in Sources */, + 2F8C8C16035CDE3A124BE606460F568B /* BuildConfiguration.swift in Sources */, + 13A052FFC0CA1F917C19F0C455E64D09 /* ByteParser.m in Sources */, + 80A639E2652D81ADE4963D142B518FD4 /* CDSQuote.m in Sources */, + CD14DD41BF05AAA85408B5E27756E40B /* CDSSigningCertificate.m in Sources */, + BEF6C1B4B424CF8CA3E419F4A57FF73E /* Contact.m in Sources */, + 6DADDC15C6750F0A2AD658F12CF81952 /* ContactDiscoveryService.m in Sources */, + BF07CFC7DA0266DDE358870811E8A917 /* ContactParser.swift in Sources */, + C56F4513A46B5132E3CB39F3CD6137D1 /* ContactsUpdater.m in Sources */, + A4905DF8FF90BB01508E4A8A38492989 /* ContentProxy.swift in Sources */, + C730E95D9C5D401BEB011E77E3599AC8 /* CreatePreKeysOperation.swift in Sources */, + 74F3CDD76F8D077C19921079355CDCF8 /* Data+Streaming.swift in Sources */, + 4365B20047D6DFCCAE3F09AB75ED126D /* DataSource.m in Sources */, + 5D60362791FBCDE7C3DBEDDD70DA850A /* Debugging.swift in Sources */, + 0352A1207004A8DF4366DCF3D76AAA05 /* DeviceLink.swift in Sources */, + 43A06931AEE5741482E9BB85DD16D449 /* DeviceLinkIndex.swift in Sources */, + 1FF348BE0087E3A54C97002945295F4C /* DeviceLinkingSession.swift in Sources */, + EBDE8C622AE71BA08BA0F4DF08D2084B /* DeviceLinkingSessionDelegate.swift in Sources */, + 88BE20D5B28FF329FCB72391343EA861 /* DeviceLinkingUtilities.swift in Sources */, + 5F69E4F5ADDFA400FCDFA900382A5B64 /* DeviceNames.swift in Sources */, + 45050248251A2026F2CD59297166FB27 /* Dictionary+Description.swift in Sources */, + 40482939080D11A316E61C3D90F3E445 /* DisplayNameUtilities.swift in Sources */, + 6A62CAF1A9E89B19CE7800C9FED6CD32 /* ECKeyPair+Loki.swift in Sources */, + 318ED3949A938A4FD76D2FFA2588C68B /* Factories.swift in Sources */, + 64F73D8C78EF15DBCFD03085F84314FF /* FakeContactsManager.swift in Sources */, + BA98594349CFA01E96CC8D7C9458B979 /* FeatureFlags.swift in Sources */, + 5F92DD8060C5AB77905495311BAB52C5 /* Fingerprint.pb.swift in Sources */, + D5F020FBC03BF26A5A09524E42E84D42 /* FingerprintProto.swift in Sources */, + 91900EA3EB11AB1F8CC56469882326A4 /* FriendRequestExpirationJob.swift in Sources */, + B08361813E4752C1B789A333CDD94C37 /* FriendRequestExpirationMessageFinder.swift in Sources */, + A2EBD26E6FE4BA18F4B783E8DC9AF732 /* FullTextSearchFinder.swift in Sources */, + 755A26A009147EBFA09DC50A6288BDA5 /* FunctionalUtil.m in Sources */, + 83BF66EE3D58346A0361F71D1978E8FF /* GeneralUtilities.swift in Sources */, + 8C4194AA95CD56580053B28CFB0436DA /* GroupParser.swift in Sources */, + F806E243B843D7830F538223C0226D90 /* GroupUtilities.swift in Sources */, + CA848EEA26414EBD5BC4276F3F8A55FB /* JobQueue.swift in Sources */, + D2797CEA6F23A5C9805475A873D2F4AE /* JSON.swift in Sources */, + A5B2C2C97AEBF8B39EE1C9F38DA9D5BD /* LKAddressMessage.m in Sources */, + 3EBBD57B5F6AD35574A3BB65AB5E2353 /* LKDeviceLinkMessage.m in Sources */, + F6B3299842D655B033AEFD7225DA2338 /* LKEphemeralMessage.m in Sources */, + CE22AB266813B687023140ACFC359BAA /* LKFriendRequestMessage.m in Sources */, + 4DDB7B4CDC632B6D9B73270C2BCA276E /* LKGroupUtilities.m in Sources */, + ECDCB4C9EF45E9818C9A4A92FD415B48 /* LKSessionRequestMessage.m in Sources */, + 64BD0334CC5F41C081804284CD8D3AD6 /* LKSessionRestoreMessage.m in Sources */, + 7416B9A33651BB8AC368668F15A6E607 /* LKSyncOpenGroupsMessage.m in Sources */, + E914E39768EEC54287E9C7214129E1E5 /* LKUnlinkDeviceMessage.m in Sources */, + 4221C9191950958DE6950718CE600C8B /* LKUserDefaults.swift in Sources */, + E5F32F22CAA8BFE8FC86B23AE513C33F /* LokiAPI+SwarmAPI.swift in Sources */, + 9F5AA4547FE8E6F947258DC492F91D60 /* LokiAPI.swift in Sources */, + ED8213E17F27DBBD657EDC636158084C /* LokiAPITarget.swift in Sources */, + A255AF4A4AA81EB4CB3FA585589C0591 /* LokiChannelInfo.swift in Sources */, + 40510A5F06CE11713FC0FD9FACB05A15 /* LokiDatabaseUtilities.swift in Sources */, + BC04EBCB812D181688B8A765A0685DD6 /* LokiDotNetAPI.swift in Sources */, + 6174F8D64EA0D69C372521CD3D01FAE7 /* LokiFileServerAPI.swift in Sources */, + 8BC4CE4101F3EA90B6853813F9A58403 /* LokiFileServerProxy.swift in Sources */, + 650172D7EECE642E39CEEB00E1A4A8FF /* LokiHttpClient.swift in Sources */, + 461CB60BE502DE797E1F3D584307B3C9 /* LokiLongPoller.swift in Sources */, + B00F3989C94CA7442BEE907D5CD24BE3 /* LokiMessage.swift in Sources */, + 60EF18C4D9B3FBA11E0F086FC5DE2F72 /* LokiMessageWrapper.swift in Sources */, + D5D500A3E9F03D41EDF7CF4ABCB87D82 /* LokiP2PAPI.swift in Sources */, + DC09A1A989C19D6A9D70AF0280BDF065 /* LokiPublicChat.swift in Sources */, + CC20FCCF8568F302C95C43BAC5A54062 /* LokiPublicChatAPI.swift in Sources */, + 529859FA10854AE17AFA355A5BADCF41 /* LokiPublicChatInfo.swift in Sources */, + 2CF85098A9B2B56C057E4428F9D2E19D /* LokiPublicChatManager.swift in Sources */, + 033CFE4379647D99557E38E4FA4C7311 /* LokiPublicChatMessage.swift in Sources */, + 7F0401C3185A6263A4FA07839FC5D1F7 /* LokiPublicChatPoller.swift in Sources */, + D95006EBF68E94E8959525007D2F03D9 /* LokiRSSFeed.swift in Sources */, + 804A2286562539DA8F06C89CEB78CB52 /* LokiRSSFeedProxy.swift in Sources */, + 620A2740B7892240C21B52A77D0FAC30 /* LokiSessionResetImplementation.swift in Sources */, + 0CAC7E3D3AFE0A2262E4E5396BD4215B /* LokiSnodeProxy.swift in Sources */, + 984F235081F9A1C518C61217E7FB6E2F /* LRUCache.swift in Sources */, + E4B43492F01002480860EB6C464E9334 /* Mention.swift in Sources */, + C9DDD37F8BC290646A043B01A3C26754 /* MessageSender+Promise.swift in Sources */, + 44EA7DD1DBB778AAD6C3D4DCEBDD75BB /* MessageSenderJobQueue.swift in Sources */, + 0D9465D5C81F6785733CB9B1B4DC52D1 /* MIMETypeUtil.m in Sources */, + 9BAFFAD36400FC4EAEADA1FF1B99D3F1 /* Mnemonic.swift in Sources */, + E327A587167E7B64359D6A31EB397800 /* MockSSKEnvironment.m in Sources */, + 80659F158C578957AC5F217EF87BD54A /* NetworkManager.swift in Sources */, + BD9ACB4CE4EBF4111BA1172D485CD94F /* NoopNotificationsManager.swift in Sources */, + 87A76EAFA82F00356BE8076426A53091 /* Notification+Loki.swift in Sources */, + 8658712AB0A3C58483CEA8CA8D61725A /* NSArray+Functional.m in Sources */, + E0E614083CF7B7BC877DB98C9A4A0407 /* NSArray+OWS.m in Sources */, + D2143107753BB2B997ACDB3922EB514A /* NSData+Image.m in Sources */, + E6AEB1CAB3AFE5E6ED6AE20C3A162EB7 /* NSError+MessageSending.m in Sources */, + 4FB5A4BA9120988AC631C722679E6642 /* NSNotificationCenter+OWS.m in Sources */, + 45BCBB051A4A40371C75C4B8A9E59BF5 /* NSObject+Casting.m in Sources */, + ADB9BC35A2625CB06ABD6C7D1EE73B5D /* NSRegularExpression+SSK.swift in Sources */, + 53A1EAA2C4C92C10780AE926D81E4C38 /* NSSet+Functional.m in Sources */, + 85D8884EB6E418E2FAE0C2EB34142686 /* NSString+SSK.m in Sources */, + B5F4DE1285992EF6720E51009DFE29AA /* NSTimer+OWS.m in Sources */, + E037CE9641328E5BEB7C9F0444E2F107 /* NSURLSessionDataTask+StatusCode.m in Sources */, + 421385DD6182A6EC41A3E59FB9FA4710 /* NSUserDefaults+OWS.m in Sources */, + D3116042A3C2DD48DFCD551744CBCBD9 /* OutageDetection.swift in Sources */, + AD405AC11A68F6EDF1CE08354B2BC3D9 /* OWS2FAManager.m in Sources */, + 627100F645C555D3D28F425465D2AE4B /* OWSAddToContactsOfferMessage.m in Sources */, + BDE80B63365DE46AC30A9BD87F8CF110 /* OWSAddToProfileWhitelistOfferMessage.m in Sources */, + 738DC3272E7D6E4DB260C843DBFADE42 /* OWSAnalytics.m in Sources */, + 6C1F3322A09EFE821253135032B289FF /* OWSAnalyticsEvents.m in Sources */, + 2F3781B118918F4DC8181D0F0266D54B /* OWSAttachmentDownloads.m in Sources */, + FF8F6DE4FDBA03FBC9801F7BF4535CDF /* OWSBackgroundTask.m in Sources */, + C7004E2BC6AF13CC6D090EC0EB244AD8 /* OWSBackupFragment.m in Sources */, + 2D48B8C0D42F31145A9CAD133673F05D /* OWSBatchMessageProcessor.m in Sources */, + 83FBABF264C2D10C3F2226C14DB1534E /* OWSBlockedPhoneNumbersMessage.m in Sources */, + 1B214F752CA15891603F7A5898FCCA69 /* OWSBlockingManager.m in Sources */, + 289B2E164466C863E971115C36A56918 /* OWSCensorshipConfiguration.m in Sources */, + 1AFC60878D182AE5222FBB8E3A82CFD7 /* OWSChunkedOutputStream.m in Sources */, + 0BB3C68D47CF6120061F67868CE8C14D /* OWSContact.m in Sources */, + 0D9201C9D0B45A0D395340D0168941E5 /* OWSContactDiscoveryOperation.swift in Sources */, + 2A4E8F5DA065B6851A909864C0B07486 /* OWSContactsOutputStream.m in Sources */, + F3EF3ADBE2B2ED7A41BD9652BAB73B05 /* OWSCountryMetadata.m in Sources */, + 59CCCA50498FCA05ADFEC0551CCED5CD /* OWSDevice.m in Sources */, + C85F96156407D4B55E29F7AC42D790E9 /* OWSDeviceProvisioner.m in Sources */, + 29E8730466ACAA3FD79092AEFCEA99E9 /* OWSDeviceProvisioningCodeService.m in Sources */, + 89AC643B115F7295D01F1E4B83AC027A /* OWSDeviceProvisioningService.m in Sources */, + E832F41E33D30346B717EE25496387E8 /* OWSDevicesService.m in Sources */, + 5E0763368F4982DF2FAD574D3428EB9F /* OWSDisappearingConfigurationUpdateInfoMessage.m in Sources */, + 6AEFD67622710ED7DCE1E973ACB01E81 /* OWSDisappearingMessagesConfiguration.m in Sources */, + 28ABC3C3F572A1C3E0B5E099F0A2E8F2 /* OWSDisappearingMessagesConfigurationMessage.m in Sources */, + 6F96D1226CB11C2EB7FD2C8C5A19B0C5 /* OWSDisappearingMessagesFinder.m in Sources */, + D17B2C8F5B85BE1B9E6BCC497EFB1E19 /* OWSDisappearingMessagesJob.m in Sources */, + 710783087F5BBA10C0FD0A99A91A7E23 /* OWSDispatch.m in Sources */, + 84D23E589E588B2C52B3480881727AF2 /* OWSDynamicOutgoingMessage.m in Sources */, + 46F6B90AC43F1EB7C8EED94EEA70E1A5 /* OWSEndSessionMessage.m in Sources */, + 129AB898A9FACBD4A0DDF2ADBE28A94C /* OWSError.m in Sources */, + D86EBDD87BF2E0EBFD2F6EECBB1E3738 /* OWSFailedAttachmentDownloadsJob.m in Sources */, + 0B528B368345AFD13AA1ED3B05B6643B /* OWSFailedMessagesJob.m in Sources */, + A87968C5AB791C54F3CB00E4C4375B53 /* OWSFakeCallMessageHandler.m in Sources */, + 36484C19923502F36B3964C3624C3C86 /* OWSFakeContactsUpdater.m in Sources */, + 5C08C05ADEC69FD84BDE0346CDC84EFC /* OWSFakeMessageSender.m in Sources */, + D65922C85F26EA63C2748E58A4D7AD05 /* OWSFakeNetworkManager.m in Sources */, + D118C72A1AE7D264565C73972E489904 /* OWSFakeProfileManager.m in Sources */, + 04DB295DA862AA7B92168DEFF7D744FC /* OWSFileSystem.m in Sources */, + D6C5C94013A3818EE3922B63B63CA34A /* OWSFingerprint.m in Sources */, + 447B39444500E23AC7BAD218E5E76E7B /* OWSFingerprintBuilder.m in Sources */, + 05DDF71AFB36FE794DF95B0290568829 /* OWSGroupsOutputStream.m in Sources */, + C4EB488CBB369E03FD2E44983A3A3A89 /* OWSHTTPSecurityPolicy.m in Sources */, + 1DF33241FBAE51260C2C4434B20D1919 /* OWSIdentityManager.m in Sources */, + 9091E931CA82724900C6986D7567CA15 /* OWSIncomingMessageFinder.m in Sources */, + 1D4F0F2EEDB4C0213BDF9198A87DE31D /* OWSIncomingSentMessageTranscript.m in Sources */, + 913A2459AC4EBB4B69FE9B85F8934217 /* OWSIncompleteCallsJob.m in Sources */, + A54733D22E4F016978FACEDF496FBC8F /* OWSLinkedDeviceReadReceipt.m in Sources */, + DF0EE9E73FD9CEB8713652D608AEA3CD /* OWSLinkPreview.swift in Sources */, + 6EE4E9C2F0BAABAB87E7EF2B8273CDE0 /* OWSMediaGalleryFinder.m in Sources */, + 046C564BACF97B50D82856B01950413A /* OWSMediaUtils.swift in Sources */, + E407F402833885658E2A596994F32B5C /* OWSMessageDecrypter.m in Sources */, + 449B7EF03880C559E15F77071C8C21BB /* OWSMessageHandler.m in Sources */, + A4C17D325983120856C22BC997ADEEC3 /* OWSMessageManager.m in Sources */, + 4F40449CE9B44086AAEE5821CA7E4260 /* OWSMessageReceiver.m in Sources */, + 7454A1A54E5EF8D5BE5557464B86AA6F /* OWSMessageSend.swift in Sources */, + 6FB0B22FD90B7F5F80D6D452DF6DF022 /* OWSMessageSender.m in Sources */, + 3205078AABA8D6DC52CB417741AF1EEB /* OWSMessageServiceParams.m in Sources */, + 868C64204566F656898B1D468D98F57A /* OWSMessageUtils.m in Sources */, + 1AE80DE5DFAAA4BCF9119F6C0A411209 /* OWSMockSyncManager.swift in Sources */, + A4262AF7D6566403706A595328EC727B /* OWSOperation.m in Sources */, + 50F733D79C0F63C11A7AA2CFC9093F0F /* OWSOutgoingCallMessage.m in Sources */, + E473FA764ADD6806297D975190BE3967 /* OWSOutgoingNullMessage.m in Sources */, + AA0565BF452CE8ACC240E95554034380 /* OWSOutgoingReceiptManager.m in Sources */, + E85F844DF67CFD3C1E66AFC19ABD00D1 /* OWSOutgoingSentMessageTranscript.m in Sources */, + 2DC336832B1CF59AE28F26572AB8A9E3 /* OWSOutgoingSyncMessage.m in Sources */, + FF3FF46BC00A0FF8864ABE838C04446A /* OWSPrimaryStorage+Calling.m in Sources */, + 70562113B692E7ED24E1C74E33C9B483 /* OWSPrimaryStorage+keyFromIntLong.m in Sources */, + B1EA6411BE0E1F280D1762E7CB5A4C5F /* OWSPrimaryStorage+Loki.m in Sources */, + B6237F08EA80EF29EBF45C8844E6B191 /* OWSPrimaryStorage+Loki.swift in Sources */, + 6434FA5C350CEE991B13126B26920D7A /* OWSPrimaryStorage+PreKeyStore.m in Sources */, + AC5A8B7AB0CF9FC0C85E2D9F581CC4D8 /* OWSPrimaryStorage+SessionStore.m in Sources */, + 0728007C1267A6E4187654AE4072AC89 /* OWSPrimaryStorage+SignedPreKeyStore.m in Sources */, + F109CC99651685BDF6DA9A6A5FF8DA6E /* OWSPrimaryStorage.m in Sources */, + DD3C5847A2FF02F767E90F974C7A9D12 /* OWSProfileKeyMessage.m in Sources */, + D35FB79B7102DA7C4F7D76BB88793ED5 /* OWSProvisioningCipher.m in Sources */, + B5DD032693B521539648CAC3F3EE1AAB /* OWSProvisioningMessage.m in Sources */, + 9C80D7FEBD4BD2EB0FE08ED3D9699A2B /* OWSReadReceiptManager.m in Sources */, + 62E24AB362A3AA93E823893978009455 /* OWSReadReceiptsForLinkedDevicesMessage.m in Sources */, + 9B8DD988D541FA329F69C1C481C6C8A6 /* OWSReceiptsForSenderMessage.m in Sources */, + 1936E9091ED9CC1413E5CBE91B73E62B /* OWSRecipientIdentity.m in Sources */, + 79D82BCE4346C11A6679D295BFE5C623 /* OWSRecordTranscriptJob.m in Sources */, + AB787062B9E892B6D8ADC3E6184A1DB4 /* OWSRequestBuilder.m in Sources */, + 91C37C2F3A6B5040718E62D69D19D294 /* OWSRequestFactory.m in Sources */, + DA1527AA21E3993117034F1A9A7270F9 /* OWSRequestMaker.swift in Sources */, + 452C75C8DCD98442A5349CFDFA4F6163 /* OWSSignalAddress.swift in Sources */, + ACA1DEE004D900E05C917C07E5AAC39A /* OWSSignalService.m in Sources */, + 9609B02639E27E6EDD964001EF94342E /* OWSStorage.m in Sources */, + CFF144CB573C4A6C88054E824268F8A2 /* OWSSyncConfigurationMessage.m in Sources */, + EC9EB153712659975985C894F84E4B1D /* OWSSyncContactsMessage.m in Sources */, + 09C50371A796170BBB40EBDF605BD1D5 /* OWSSyncGroupsMessage.m in Sources */, + 93DE00D1C22CB29BFB457C4E30B9E3E5 /* OWSSyncGroupsRequestMessage.m in Sources */, + EB4DD1E6A1C0B69189981B732C8138EF /* OWSThumbnailService.swift in Sources */, + E9EA9342C5BA57C3B1281F27602375A3 /* OWSUDManager.swift in Sources */, + 3BBC94C30559706727C933233365547F /* OWSUnknownContactBlockOfferMessage.m in Sources */, + 55C6DC5DF1B6F9FFF250A70810D4410F /* OWSUploadOperation.m in Sources */, + 0C67AB38E519E6AD933B58C2CF520385 /* OWSVerificationStateChangeMessage.m in Sources */, + 71DF368F755D48BECF602A515B217C17 /* OWSVerificationStateSyncMessage.m in Sources */, + C53DD849F39B56FC4D29BDE0AFDD39CA /* OWSWebSocket.m in Sources */, + 071F4009A9A11E9D1BED65E6AC540AB4 /* ParamParser.swift in Sources */, + 0E576EBF6C55CD58BA191E580E07A49F /* PhoneNumber.m in Sources */, + 458A40838318B7079048D6A435DA2602 /* PhoneNumberUtil.m in Sources */, + 2997E073101DEE86063CE173736875F0 /* PreKeyBundle+jsonDict.m in Sources */, + 1B1CE64E0DC452C99C7869DA54614FA3 /* PreKeyRefreshOperation.swift in Sources */, + 62A783D55102BB78F523584363ADC475 /* Promise+Hashing.swift in Sources */, + 5203E0EB7D80DDF3E4A5D9F225130A71 /* Promise+retainUntilComplete.swift in Sources */, + 84DA01177532BD29D9446F3267C9259E /* Promise+Retrying.swift in Sources */, + D6683D8178F1D37AC1F4AAC8B61C1821 /* ProofOfWork.swift in Sources */, + 3FF58E4F9A3D6F5BE7172783DCF6C5B5 /* ProtoUtils.m in Sources */, + AA544AA8D7905189A1195358F62AC61F /* Provisioning.pb.swift in Sources */, + FA9DF62A0E426882440001214467D8DE /* ProvisioningProto.swift in Sources */, + A10D218B66641A7F31744CD11CB5D335 /* ProxiedContentDownloader.swift in Sources */, + CA9FABE4A0AA0756FDD2879F2B09E84E /* ReachabilityManager.swift in Sources */, + F8219AF9AAF5CAD77F39D2690702FFBC /* ReverseDispatchQueue.swift in Sources */, + 666E64B63AD640FE3F0A777EEF000531 /* RotateSignedKeyOperation.swift in Sources */, + 53BDEC90B0B226B452BAF730FDE46F8F /* SignalAccount.m in Sources */, + 9A3EF906C78E5FD66FF12F3BC78CA3CE /* SignalIOS.pb.swift in Sources */, + 3DCC411542D721F76604722D418F391F /* SignalIOSProto.swift in Sources */, + E6124AA7E15CF4E467B2B79C00DD5A3C /* SignalMessage.swift in Sources */, + E69E89D5206C9055F5521D40A88705A1 /* SignalRecipient.m in Sources */, + 5EF1842E1320DCD355F29041B065801B /* SignalService.pb.swift in Sources */, + 274E03C090E8B577CF8285F4EFCB37A6 /* SignalServiceClient.swift in Sources */, + 3E6D198A5AD899A4DAF16433BC746221 /* SignalServiceKit-dummy.m in Sources */, + 7A99049ACE03DC6ECD253655EC20C7D8 /* SignalServiceProfile.swift in Sources */, + 7A76FB9A308A4B7D77AB15AD92664D4A /* SSKEnvironment.m in Sources */, + 36542CDBF87A6E1A78CD4583001C315F /* SSKIncrementingIdFinder.swift in Sources */, + 814438F7CE1A86517ED186C424745414 /* SSKJobRecord.m in Sources */, + F7A2DAED5C95BA5C25211DE23B27331C /* SSKKeychainStorage.swift in Sources */, + 9FF312CAE249250269BA589150B1F9B4 /* SSKMessageSenderJobRecord.m in Sources */, + A8C755D74E3996B23577146EBAE67D5C /* SSKPreferences.swift in Sources */, + B95E896774A751404D050EC3FB338637 /* SSKProto.swift in Sources */, + 812D279E1AEB369A245CBB2AF0199C31 /* SSKProtoEnvelope+Loki.swift in Sources */, + 8B2B8DCA1AD13CC2C6CFD2C24FB36D47 /* SSKProtoPrekeyBundleMessage+Loki.swift in Sources */, + 08509A6E653AD3FD0551E28BA4A39A54 /* SSKWebSocket.swift in Sources */, + CA5141006EDF600DF0F57BAEE83D4918 /* String+SSK.swift in Sources */, + 2A9711101D886C00B9E90CD2D4BD8B32 /* String+Trimming.swift in Sources */, + F1CBE5B0F51334BA8496900EC93492DD /* SwiftSingletons.swift in Sources */, + 61B29A7970D34C923F3EE31D1290C11D /* TestAppContext.m in Sources */, + 457594184B1F149BF27496993B580F44 /* TestKeychainStorage.swift in Sources */, + 3B2E6661B2B3AC88EF8F567E117C77B3 /* TSAccountManager.m in Sources */, + 8200C424EE89F60DD92019AF40AC1A04 /* TSAttachment.m in Sources */, + BCD2197338108C4B69B5A8D7758EE4C1 /* TSAttachmentPointer.m in Sources */, + 222D9EDFC2C2CCC6C56DE5BC09FBEB02 /* TSAttachmentStream.m in Sources */, + C8E66C732D6269AF9CE5353EDA86890A /* TSCall.m in Sources */, + E45DF18AA3A1AC1D91FEC645B8AF5AFD /* TSConstants.m in Sources */, + 931D01BE698869AD15FE3A277A293567 /* TSContactThread.m in Sources */, + 124B6DA9989F7E62C56B0F5DD331747C /* TSDatabaseSecondaryIndexes.m in Sources */, + A86B1583F1B2C48F2C2213D22EE001A6 /* TSDatabaseView.m in Sources */, + 9C0A74A62018D11FFDBA89DB59BC8677 /* TSErrorMessage.m in Sources */, + BC7B52CB6222B348B59D968239A9DEF2 /* TSGroupModel.m in Sources */, + F6A5B849A23D3550B0C9EE4EAA391345 /* TSGroupThread.m in Sources */, + F73C3D647A864C11FF836A0AE89077C7 /* TSIncomingMessage.m in Sources */, + 8006FF0BEE97623001DC83EF26A50B96 /* TSInfoMessage.m in Sources */, + 78540C307DC9E661F6968F087B7C0A74 /* TSInteraction.m in Sources */, + B85FCF6322C75D33AA38A837C4CEEBF4 /* TSInvalidIdentityKeyErrorMessage.m in Sources */, + 921BDFF4E4FE86B9182A73E891564F29 /* TSInvalidIdentityKeyReceivingErrorMessage.m in Sources */, + F7A45266974071EF732EAE25D6AE611D /* TSInvalidIdentityKeySendingErrorMessage.m in Sources */, + 1D3FF12C7A6EBC03F631F6D899F038F9 /* TSMessage.m in Sources */, + 8C14861A6F44DFD76DAAFD37D34DD4A4 /* TSNetworkManager.m in Sources */, + 2FDAEBEA6C06044F7E6542726A7B3B73 /* TSOutgoingMessage.m in Sources */, + AA153D51C7047052C863D16ADE0DCD3E /* TSPreKeyManager.m in Sources */, + 29ACE68A02E255F4A105A099598DBA46 /* TSQuotedMessage.m in Sources */, + 7F6DEC80A945790AD7E58CF07A0C3C08 /* TSRequest.m in Sources */, + AB07A543300587629643B4B306C1C969 /* TSSocketManager.m in Sources */, + A462490411492DCAFD304E775AC5506E /* TSThread.m in Sources */, + 9AE285B728C9D21AD338C926C878C447 /* TSYapDatabaseObject.m in Sources */, + 027ACBF0A54F80D37994CFDF70B3F622 /* TypingIndicatorMessage.swift in Sources */, + 7475712D1937FC420693EED00B435A6C /* TypingIndicators.swift in Sources */, + 87C82F7229388691F0A5A0557003FA9B /* UIImage+OWS.m in Sources */, + 4A40E471CDAAE08ED065965791645DEE /* WeakTimer.swift in Sources */, + 9B32DFB7B44EDE5832F0BB259A7FC05F /* WebSocketProto.swift in Sources */, + 44A38E14DF8E3EBD08630CFDA9397929 /* WebSocketResources.pb.swift in Sources */, + 6830897D64C4A4EC01E8A1CB8A6223DF /* YapDatabase+Promise.swift in Sources */, + 99C563661BA583967C844F6F88BD95BB /* YapDatabaseConnection+OWS.m in Sources */, + FB166D4E7DE7FAED0EEC7624E28C76CA /* YapDatabaseTransaction+OWS.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 41E64A01C6E542FD69BE2F0FAF54FCB7 /* Sources */ = { + 401FADEA29A8422A7E49EE903D030C8B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 745CB231EE0992A462DAE01C784D4B96 /* AxolotlKitSwiftTests.swift in Sources */, - DDD770EB02BDE324A64D8655C41A8B23 /* ECCTests.m in Sources */, - B691D8686DC6ED68627EC190085E6693 /* ECKeyPair+ECKeyPairTesting.m in Sources */, - D997BCD16E3B86CA61DB69440D44DC71 /* HKDFTest.m in Sources */, - D85912D3F710A6252A234E692FE3EFEB /* PreKeyBundleTests.m in Sources */, - AE0D3B771ABD1E538C9DB17BCD58ED8B /* ProtobuffsTests.m in Sources */, - 66FA45F7F25F037D514CB3672F4F7EAA /* RatchetingSessionTest.m in Sources */, - 34554BE4D8F982DE048024982663DFE0 /* SessionBuilderTests.m in Sources */, - 2227B0EFC9188F928E3B973FF650BDB7 /* SessionCipherTest.m in Sources */, - 45F364334CD0C006598B4014528073CB /* WhisperMessageSerialization.m in Sources */, + 662A8E7DDFA48CF63FAC24335C5BACFC /* AES-CBC.m in Sources */, + 03556DEC0277CBEDCEC45B18478F3EA7 /* AliceAxolotlParameters.m in Sources */, + DE97BFE3D40B1ABB0D791F3A501511F6 /* AxolotlKit-dummy.m in Sources */, + BCA86C7826B72DD0343DF47CD336FE4A /* BobAxolotlParameters.m in Sources */, + 11C624E4E112FE6B6E54A992AFDA252E /* ChainAndIndex.m in Sources */, + 1A29FC98B87DA50FC78BCA1F1249D07B /* ChainKey.m in Sources */, + 9F8F96A1802465C339515699FE23DAC0 /* LokiFriendRequestMessage.m in Sources */, + 51AF52E2DEABB60F674A7394922018FB /* MessageKeys.m in Sources */, + EE2DD39816AE548BC4BD9487F53D54B1 /* NSData+keyVersionByte.m in Sources */, + 52FEE73F0B50323527BC3C9BC5843979 /* PreKeyBundle.m in Sources */, + D18E16A6495B10DC443F31954F50C445 /* PreKeyRecord.m in Sources */, + 5CC2229D17A1A56E2529A4C7651A98ED /* PreKeyWhisperMessage.m in Sources */, + F948C7C708E5994DCD5B9D43D682D132 /* RatchetingSession.m in Sources */, + E79947DF5A930D83EE0EB9FDB1C44C98 /* ReceivingChain.m in Sources */, + CAF65C0D7649479583D0D5A9F2E59C3A /* RKCK.m in Sources */, + 912357CD450E29416F8818578B4F7DC6 /* RootKey.m in Sources */, + A97ACC6D5CA8A52DADD2812FC79F540A /* SendingChain.m in Sources */, + 351FF387E118DA3891F120483A0DE696 /* SerializationUtilities.m in Sources */, + E58BFFBC0A51AC7CE448D6A8681F8CC6 /* SessionBuilder.m in Sources */, + 1E9CC8FEB3DA98EEF5945ADB7A3C8C79 /* SessionCipher.m in Sources */, + 7FBF385DBC7B42C068C9A3DCECBE59AD /* SessionRecord.m in Sources */, + 80EFCF8CD7653E58C733B1FD2CAD0F0A /* SessionState.m in Sources */, + 4D9CBB1E3D5FF9B3C2859E840F0DF20F /* SignedPrekeyRecord.m in Sources */, + CD52EFDE51CABC5CA9A4CEB08FAFEA8C /* SPKMockProtocolStore.m in Sources */, + F1F80C7F72C0C3B90DF246D00F30C131 /* SPKProto.swift in Sources */, + 4DE4FFB926755266B96E77B3B704D363 /* TSDerivedSecrets.m in Sources */, + A645803A03399332DBE11666A4FA372D /* WhisperMessage.m in Sources */, + BF95C8D12EC5CE248A7562525A112ED4 /* WhisperTextProtocol.pb.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 44B099BB3E8D47F13716E7271054FCD7 /* Sources */ = { + 4481384F6740F4D252465D8180F67B12 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9953C553E671231CBACC12AAF446B61D /* ALView+PureLayout.m in Sources */, - 7E132C80931946820CB1D4079D99DD49 /* NSArray+PureLayout.m in Sources */, - B32A0792F70E3EB111A7D4B30BA064D4 /* NSLayoutConstraint+PureLayout.m in Sources */, - 919EA9B4AB476E486619B488076B5072 /* PureLayout-dummy.m in Sources */, + 66BB9A4E18E3A951775FD85C0F53B408 /* libPhoneNumber-iOS-dummy.m in Sources */, + B1497BCDD4709741A8F4D0219EAD5CCB /* NBAsYouTypeFormatter.m in Sources */, + 551239AC48193DDDFB15E495B4056A9E /* NBMetadataHelper.m in Sources */, + D411F8562BDC3ECA5C2D38F08CB37EC8 /* NBNumberFormat.m in Sources */, + FAE41BC269BF220E1724D4D3FC392A63 /* NBPhoneMetaData.m in Sources */, + F1AD8A5B23E083FAA1B3F6B39FD836DF /* NBPhoneNumber.m in Sources */, + 17AEBB48212CB769122556D5CC20F208 /* NBPhoneNumberDefines.m in Sources */, + 42E6E310F838B8B7774CE356B303B20F /* NBPhoneNumberDesc.m in Sources */, + E4F940967F1EF8998BE71D887A922809 /* NBPhoneNumberUtil.m in Sources */, + AAAAE87A0CB8EF26A5004B3C26C2103C /* NSArray+NBAdditions.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4B7C11DD5835DAAB6EDC0125C7ABAB39 /* Sources */ = { + 471F9A86ECE4264BD08727EFC4B81FD1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3386376DB71DA2818E77A67C85E20F48 /* NSDate+YapDatabase.m in Sources */, - CC12781DF503E6BCEA1187B8F9C3ACB6 /* NSDictionary+YapDatabase.m in Sources */, - 53CAC9BD5615CFFCBD21BC7FF01BC492 /* yap_vfs_shim.m in Sources */, - 52BCF6197A3557A3D7BCD6D0B502D224 /* YapActionItem.m in Sources */, - C95091F013A9EDF44119A729667F04CA /* YapBidirectionalCache.m in Sources */, - 46F4F90E9F7FC9E8E43DA69CF1BDB2A0 /* YapCache.m in Sources */, - 394EC1E0DE1CFAA121EC6C68986FB74D /* YapCollectionKey.m in Sources */, - 4E6D4C6304754D6A7AE4EA73C879B00D /* YapDatabase-dummy.m in Sources */, - 5BB036BBEA2C47999F6AEE58AF6BC4FD /* YapDatabase.m in Sources */, - B43BE335DFF1A33EFF2A3052D2C50066 /* YapDatabaseActionManager.m in Sources */, - F6566D830D11BF6B44C058B435E5307B /* YapDatabaseActionManagerConnection.m in Sources */, - 560268DD6DD23B9641347DEF7AE352C7 /* YapDatabaseActionManagerTransaction.m in Sources */, - 00318662A4FE11BD4ABDE1CF6BC2DEC1 /* YapDatabaseAutoView.m in Sources */, - 0D3AB23F38B49BA72604DD3B31709D94 /* YapDatabaseAutoViewConnection.m in Sources */, - B8EA8341174AEF3A5DF52870AECACFB6 /* YapDatabaseAutoViewTransaction.m in Sources */, - B1423D57605438E07BB0AC4BA40E4FCE /* YapDatabaseCloudCore.m in Sources */, - 1F78BB40C07A0DE125D0A60B28E105C7 /* YapDatabaseCloudCoreConnection.m in Sources */, - 096AC907B7B9E38642F35E54E89FBC1D /* YapDatabaseCloudCoreGraph.m in Sources */, - 21CD2A494302B4A104D43E4DB52BE14B /* YapDatabaseCloudCoreOperation.m in Sources */, - DFD1E5B3AD7626F6CD40A6CC93684B84 /* YapDatabaseCloudCoreOptions.m in Sources */, - D429884FD556C5303BDB8B9F649E9A5A /* YapDatabaseCloudCorePipeline.m in Sources */, - D36F652A3AEA6CDA1AECB0F06B367E6A /* YapDatabaseCloudCoreTransaction.m in Sources */, - 2DF9EB55E82756B5F53313D2D5C083E1 /* YapDatabaseCloudKit.m in Sources */, - F98C7FE33B971A6A00E455371E8B3590 /* YapDatabaseCloudKitConnection.m in Sources */, - A9BE9E180D585673DD0254741EFD79FA /* YapDatabaseCloudKitOptions.m in Sources */, - A219037AE5F25AA7F6F0DEDE60BDF6A4 /* YapDatabaseCloudKitTransaction.m in Sources */, - 8223D08E079BD6D35FB4A9BA8A2E3839 /* YapDatabaseCloudKitTypes.m in Sources */, - EE1EFCB8B8CA10D13CA9A01D495A2F97 /* YapDatabaseConnection.m in Sources */, - E4A8B5050F3B6972F01B01DF5DDA7608 /* YapDatabaseConnectionConfig.m in Sources */, - 25B09B42E561A93164273EF77CACB2E4 /* YapDatabaseConnectionPool.m in Sources */, - 8E0836678F67258D510A360EFEE288E4 /* YapDatabaseConnectionProxy.m in Sources */, - CFF4703BA87898326E584163E9B0EF29 /* YapDatabaseConnectionState.m in Sources */, - 6B5BCF95F0542BBDA68664A8E10A16EE /* YapDatabaseCrossProcessNotification.m in Sources */, - 77E68C65C12E671C8E075EC427380229 /* YapDatabaseCrossProcessNotificationConnection.m in Sources */, - 8BB75C6F4E3CDD052DAD8782CC8DBFC8 /* YapDatabaseCrossProcessNotificationTransaction.m in Sources */, - DA4AAF49187F0AB384FD8A9B066FEE4C /* YapDatabaseCryptoUtils.m in Sources */, - 26FA9963A6148AAFB307C342DB540B72 /* YapDatabaseExtension.m in Sources */, - 77690E1ACB8A96729BC63FD214BB9191 /* YapDatabaseExtensionConnection.m in Sources */, - 19974C39FFBE3D13B74F4E7CDFB3FD56 /* YapDatabaseExtensionTransaction.m in Sources */, - 23B33F256339F733BC4E2946E9F6000D /* YapDatabaseFilteredView.m in Sources */, - 557B1424C9E580FE722BBD51C4205D3A /* YapDatabaseFilteredViewConnection.m in Sources */, - 153AEDCA7D847FA1DB399C770382B7A9 /* YapDatabaseFilteredViewTransaction.m in Sources */, - D62FE22593A53A4338BD5779469F36BB /* YapDatabaseFilteredViewTypes.m in Sources */, - CFC6F0276250DC81E3C5F42478E3FC19 /* YapDatabaseFullTextSearch.m in Sources */, - F69A800C7B7E44F97E9E138CD9F84BC7 /* YapDatabaseFullTextSearchConnection.m in Sources */, - 5A3BC9A2A3C83C72EA278A2017DBBFF7 /* YapDatabaseFullTextSearchHandler.m in Sources */, - C4F00C4326441A6A15776372BB9D81F4 /* YapDatabaseFullTextSearchSnippetOptions.m in Sources */, - B5B93581A972C3A0FD7244B105F5E8BF /* YapDatabaseFullTextSearchTransaction.m in Sources */, - 11043E98AA67B0F76A8055A6FBAFFA4C /* YapDatabaseHooks.m in Sources */, - DDD894D4F99E20C18468C1FABC91DAEE /* YapDatabaseHooksConnection.m in Sources */, - BBBFE919C19CF363EDA4845F348C9DDE /* YapDatabaseHooksTransaction.m in Sources */, - 9E4F362AE5780E5303A800C6E97BC7B0 /* YapDatabaseLogging.m in Sources */, - 3BF7CD939B3C691269E94BD45CC62F39 /* YapDatabaseManager.m in Sources */, - 596BA6CE9A6B9280335D38CBF7980CFC /* YapDatabaseManualView.m in Sources */, - 0838901C5260FDA641CD824A5E5716B5 /* YapDatabaseManualViewConnection.m in Sources */, - BCE1B1BBA778F3CB1D62EBF3106CCE7B /* YapDatabaseManualViewTransaction.m in Sources */, - 7E1D8638CA58B364EB2300AD55191C21 /* YapDatabaseOptions.m in Sources */, - CBD5896B6B8292FB8AF13AD4D5C033D9 /* YapDatabaseQuery.m in Sources */, - 1C6E68F774BB1141A739B928F660DB90 /* YapDatabaseRelationship.m in Sources */, - DD73D5FF71F6B7D3D91A923DFF5DF0C9 /* YapDatabaseRelationshipConnection.m in Sources */, - 06456E73C65C8DAE504BF2598C90A1C8 /* YapDatabaseRelationshipEdge.m in Sources */, - BEFB68F17F5EC3B8CE1D113A975B53EB /* YapDatabaseRelationshipOptions.m in Sources */, - 16F47C763C243FBA683EB98B887F5A2C /* YapDatabaseRelationshipTransaction.m in Sources */, - A82A8959B7682DB64EF701AFE16619DD /* YapDatabaseRTreeIndex.m in Sources */, - 0D1EF4664DC14C24928DD5DFDCC69DC9 /* YapDatabaseRTreeIndexConnection.m in Sources */, - D2E2182ABD0459810F75C897F7DB4EFA /* YapDatabaseRTreeIndexHandler.m in Sources */, - 3E434283155BA79B1878EE259B42F3C6 /* YapDatabaseRTreeIndexOptions.m in Sources */, - 9217BE1FA739EE56C3DB0808FD3F8700 /* YapDatabaseRTreeIndexSetup.m in Sources */, - EA493B54C188136A7089E2B91E23F69E /* YapDatabaseRTreeIndexTransaction.m in Sources */, - D00F0DB9FA1ABB9F94BCFAB6DF2A09B9 /* YapDatabaseSearchQueue.m in Sources */, - F841D229CD2C65A4CE54738EC45AD866 /* YapDatabaseSearchResultsView.m in Sources */, - 2A7FACF495E7BA57C21AB66BA5FC883C /* YapDatabaseSearchResultsViewConnection.m in Sources */, - 0146A26C9ECA5C13946820B2334D7262 /* YapDatabaseSearchResultsViewOptions.m in Sources */, - A6B3B8CFC71AD89ECA1EEB755CCBF317 /* YapDatabaseSearchResultsViewTransaction.m in Sources */, - 6910FEF3545214742D988E239708FFF0 /* YapDatabaseSecondaryIndex.m in Sources */, - 7BFA00E0925B9DD2825A6DD4B17B4054 /* YapDatabaseSecondaryIndexConnection.m in Sources */, - 61572A38CC399B4211F1F8222328E492 /* YapDatabaseSecondaryIndexHandler.m in Sources */, - 2BF3B10C09411473B719A0104289A24D /* YapDatabaseSecondaryIndexOptions.m in Sources */, - 2D15EE00536EB737A6D49A98B1F32AE3 /* YapDatabaseSecondaryIndexSetup.m in Sources */, - 07965BCDD405B59441A02BBE014E45DB /* YapDatabaseSecondaryIndexTransaction.m in Sources */, - B36CE252F5438D3461F62230B983A59E /* YapDatabaseStatement.m in Sources */, - B25C08D759B7A22617AA1EF9CA1FE234 /* YapDatabaseTransaction.m in Sources */, - 3CCC8E09E754BDB11C70EE0AD2965B83 /* YapDatabaseView.m in Sources */, - 61E78321CD7C256DBBE7D9D7F004DEE0 /* YapDatabaseViewChange.m in Sources */, - 840A10EE831F8AF46CC52AFFCE28138D /* YapDatabaseViewConnection.m in Sources */, - 1BFE32A6B1FD4EA4793C011836CAA545 /* YapDatabaseViewLocator.m in Sources */, - 9E5B8D3E23F779DEC4941DAB5D367C48 /* YapDatabaseViewMappings.m in Sources */, - 5ED95AE2797C7D100002904ECFDA93ED /* YapDatabaseViewOptions.m in Sources */, - A5B3B68F5B49BCB997FBA85AEC69F352 /* YapDatabaseViewPage.mm in Sources */, - F7E4ABF76B65584CC146CC26D0D15C74 /* YapDatabaseViewPageMetadata.m in Sources */, - 4BAA2D271023B68B9F1C7D30D923E3F3 /* YapDatabaseViewRangeOptions.m in Sources */, - C8E714C4E6B082186F6556C7D44D8ABD /* YapDatabaseViewState.m in Sources */, - 105DE8707B28246E481B4847404E051A /* YapDatabaseViewTransaction.m in Sources */, - 4DAF1C00EDF0D946F4915F4361C78F68 /* YapDatabaseViewTypes.m in Sources */, - E1EB163FC2F5CC22DBB828A5F8B1D3D2 /* YapDirtyDictionary.m in Sources */, - 70EECB94A50FE4C117B27BA92388DE95 /* YapManyToManyCache.m in Sources */, - 4FA04AD24FA6D910E6E5EE99D8F589A9 /* YapMemoryTable.m in Sources */, - 411431E18EBF3F3708926D93CED39952 /* YapMurmurHash.m in Sources */, - 55069FFA99FBB76D14228FEF14159B4F /* YapMutationStack.m in Sources */, - 7829485927360435E15C8E6854638D6D /* YapNull.m in Sources */, - D854BEC067F49FC596ED770CA1A78EB0 /* YapProxyObject.m in Sources */, - 8849660969D582DDFA6682A99238CF3D /* YapReachability.m in Sources */, - 1AC0E781B06FF6AACE0B1D8B32F90D5C /* YapRowidSet.mm in Sources */, - E344518CF0BB511B7B19CD33DD25F6B6 /* YapSet.m in Sources */, - E671896CF1E4F8CE61D6F8B17FDA6A12 /* YapTouch.m in Sources */, - 9F683F0F9CE18CE33DBDCCE150D97202 /* YapWhitelistBlacklist.m in Sources */, - F1B417B9DF294D9C2C7BBAC59FA155EE /* YDBCKAttachRequest.m in Sources */, - 70D584E167E57E5B7C39D71E09F77FD8 /* YDBCKChangeQueue.m in Sources */, - 8AAE0BCFD2345C49F9BF2634983D178E /* YDBCKChangeRecord.m in Sources */, - 5F576D26BE7D050D13090D3ABD88D301 /* YDBCKChangeSet.m in Sources */, - 99C2B815F2FAE972C0A3D3EB1BC57EA4 /* YDBCKMappingTableInfo.m in Sources */, - 78CA822656DB8AB20BBFF0DFC0710A97 /* YDBCKMergeInfo.m in Sources */, - 18C0B0AE93400A9D620EB9D1E3AB4E68 /* YDBCKRecord.m in Sources */, - 68C6A1E5416C1256DF9155E6AA071EE6 /* YDBCKRecordInfo.m in Sources */, - 46F86D564254CAF83450A3EEDA7B701A /* YDBCKRecordTableInfo.m in Sources */, + 823702C22D716A48FF8A3BBDDA081072 /* AxolotlKitSwiftTests.swift in Sources */, + DF7FDC1D53F67834ECCCBB20707D2950 /* ECCTests.m in Sources */, + 8EB2C54D7BB10D55B37264CA7D02FD09 /* ECKeyPair+ECKeyPairTesting.m in Sources */, + E39F7B46622736C6FEDF81EFDCC75E66 /* HKDFTest.m in Sources */, + 2BC4E1984F578A04EAFDA49331ABE527 /* PreKeyBundleTests.m in Sources */, + 2878B0A3C781859DBE2842200AA18EF4 /* ProtobuffsTests.m in Sources */, + F086DFBB40DBCC0768343912873E0884 /* RatchetingSessionTest.m in Sources */, + A8E6F5F01A3474CAAEC0983E70B1EFCF /* SessionBuilderTests.m in Sources */, + 545621F9E891BAA9800FD90F588C570D /* SessionCipherTest.m in Sources */, + 92C3BA568914D571EC9001E7F4EC59E7 /* WhisperMessageSerialization.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4BCBEB1858E0A75C21672ED39D2C8FDC /* Sources */ = { + 6ADF7662B92C1A1E26ED8A876827FE96 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 87CD52B48F301A4A020F7277003A6047 /* AEAD.swift in Sources */, - 00F526CCC9F64CAE00933FA9D52E79EB /* AEADChaCha20Poly1305.swift in Sources */, - C6A31430D1E4A73B13B6D0EAF67DA429 /* AES+Foundation.swift in Sources */, - F46B7F116FBE9FD1687EB69842FCF6DE /* AES.Cryptors.swift in Sources */, - D3F9651C69B78D3FAF86EF1F867532D3 /* AES.swift in Sources */, - 40D15FB36D56321A728C311BC9902310 /* Array+Extension.swift in Sources */, - A30706C048D7E62D2C176C1B1093316D /* Array+Foundation.swift in Sources */, - 2A965CBB1202AD6C438A97284F11CD7F /* Authenticator.swift in Sources */, - 5797DBBC310950F4D57B0191F554A5D6 /* BatchedCollection.swift in Sources */, - 967D15381C38EC4219FF683AFB44E765 /* Bit.swift in Sources */, - 556FE8C85389DA6213111A99356A4790 /* BlockCipher.swift in Sources */, - 54922AFA40250979FEB53109BA0E755D /* BlockDecryptor.swift in Sources */, - E82D61EA754B124CBDE55E0FE3477B08 /* BlockEncryptor.swift in Sources */, - 194034D7D146421326ABC2AD4FBF6E66 /* BlockMode.swift in Sources */, - 5D6558FE9E662F8E61C77248ADC4E7D9 /* BlockModeOptions.swift in Sources */, - D61BD06B9E1158BB9B257EFC5610A90E /* Blowfish+Foundation.swift in Sources */, - FDEB4F886B6022BD423820BB88D78A2C /* Blowfish.swift in Sources */, - 84727DE8EB6452EF93DAED21C5E82E45 /* CBC.swift in Sources */, - F784C6E2921EE5C48FDAA8714A1FEE46 /* CBCMAC.swift in Sources */, - A5D318EE81B9E95625591CDDE43E3824 /* CCM.swift in Sources */, - 6AA18CD780B3B9296CEFD1D03600E88A /* CFB.swift in Sources */, - E17A0EFFB246915A44A73CC704CA4F3E /* ChaCha20+Foundation.swift in Sources */, - 036C3F4567C8296C39AA09A9146EA89E /* ChaCha20.swift in Sources */, - 7FDB3D979B839D99F2751C05C977C421 /* Checksum.swift in Sources */, - FFCED2ABFA136574BF208A5D2F0360C1 /* Cipher.swift in Sources */, - 95B9E65847C3F916F70EE6750CDF9EC7 /* CipherModeWorker.swift in Sources */, - C6B1C5DC8AEBE10CD52BDF8CE0DE053E /* CMAC.swift in Sources */, - 6CE69E933C1049C66F26C3E74539671E /* Collection+Extension.swift in Sources */, - C28611B97A6862D5991E8D10375BD73E /* CompactMap.swift in Sources */, - EF71B298DE2FE4B16C80B6C7123B2975 /* Cryptor.swift in Sources */, - 3B3B79BFC59A1B3CC3B5FC611588F3C0 /* Cryptors.swift in Sources */, - AE881656E5C1A71A3DACC54FC071629F /* CryptoSwift-dummy.m in Sources */, - E6585061DF7F450211DBBCFC8DBDCDA3 /* CTR.swift in Sources */, - F88188BE3A72C27D2832D03A5A63200A /* Data+Extension.swift in Sources */, - B48C45F0747C64EF151B1BEEAC09095A /* Digest.swift in Sources */, - D65DF11CBC1378272C1EE195C0D9A08E /* DigestType.swift in Sources */, - FC1D942ED7A318931D70FE868D83BB5E /* ECB.swift in Sources */, - E1F9E9413242EECBCDEE1AEF4D52F434 /* GCM.swift in Sources */, - 210BF486D6A410AE580E0D82F5EADA1F /* Generics.swift in Sources */, - 5A031C093F9330678B7C7BC098081BC1 /* HKDF.swift in Sources */, - 7C3E7876206081AB7D4F6389309FFF35 /* HMAC+Foundation.swift in Sources */, - 9BB1ADAE907D07C08C43ADBAFDE57DC5 /* HMAC.swift in Sources */, - 4BF10BE553DC80CCE5F4C8A98BC5236E /* Int+Extension.swift in Sources */, - 98385D68E3B5BFB931BFE4D918871BD8 /* MD5.swift in Sources */, - E1B8B15BAA747152929BE48A3B7137A2 /* NoPadding.swift in Sources */, - 00B4598F28232F1F78FC11EB80D580B3 /* OFB.swift in Sources */, - C571892B313CE908D5EC956B3118F89C /* Operators.swift in Sources */, - 78140E5FA288F5E1BD2F34E8B340E8E5 /* Padding.swift in Sources */, - CFBE683F577782E72C36C974BF17739C /* PBKDF1.swift in Sources */, - 6B74F9C76824CE53BC236672F8CC0F3E /* PBKDF2.swift in Sources */, - B6328668E65CB5ED993E57B501D7ECE2 /* PCBC.swift in Sources */, - 3F290041D0C138DB7FE25C49CE9D855D /* PKCS5.swift in Sources */, - C9FC4D9FB78264FB3CD77C53F9D86C9A /* PKCS7.swift in Sources */, - 2D1EAB082C294CB16E94DC7BC9B0710C /* PKCS7Padding.swift in Sources */, - 976757A9620077E015A4908D7BCC98F2 /* Poly1305.swift in Sources */, - 2D8D2C59E9F8F19936C8D4C670B8A050 /* Rabbit+Foundation.swift in Sources */, - 794A805AEE69B2EE27575D30D7F04864 /* Rabbit.swift in Sources */, - 8DF609CB4AA3AF8D6CCFE6138CC73811 /* RandomBytesSequence.swift in Sources */, - 627BE9CE3879C0396F26BD539B0873D7 /* Scrypt.swift in Sources */, - AC6B5C303A9AFEA24DEBD3081BEB042F /* SecureBytes.swift in Sources */, - E1603EF05485D90C6809564144C772A9 /* SHA1.swift in Sources */, - AD84F64CF72FBF7A702D4F13B17E4845 /* SHA2.swift in Sources */, - CCFB18831F1E17907F9352474E316262 /* SHA3.swift in Sources */, - 52C00B76E612683710820C47EE49161F /* StreamDecryptor.swift in Sources */, - DFFAF8E013AB6D15B4809AA52421A7FB /* StreamEncryptor.swift in Sources */, - 3C1CCE95F648811473034AC9338C7094 /* String+Extension.swift in Sources */, - B7B23F3CBB7651D512CAB17BBFDF66B3 /* String+FoundationExtension.swift in Sources */, - E671A5D11D790E9AB40C641A363803EB /* UInt128.swift in Sources */, - DB9D3BA1F5DEFDD243BA9E5AE63F2F52 /* UInt16+Extension.swift in Sources */, - 94C065AE0DD5466E90CDDBE46CE6B755 /* UInt32+Extension.swift in Sources */, - 79A1A0744EBEF0686CDCCECC839580AB /* UInt64+Extension.swift in Sources */, - C1411EFB0E6871BD2BF26AD2405BCBEA /* UInt8+Extension.swift in Sources */, - 767773503D5A6C722FC6FE63C8C1E068 /* Updatable.swift in Sources */, - B37501E8ABFD594BAEF7E152C2F5151B /* Utils+Foundation.swift in Sources */, - 14FA7BBA2F08C6ED764EFFD838449CE5 /* Utils.swift in Sources */, - 40AF73271167C0B86D19923C5E53D084 /* ZeroPadding.swift in Sources */, + 3D7B335CC21A530A192B177A0794EF11 /* CLIColor.m in Sources */, + DE33F1856142D5A05F155A3AA674A9A8 /* CocoaLumberjack-dummy.m in Sources */, + 038FFCC66A2CF49C996BDFD086BB818C /* DDAbstractDatabaseLogger.m in Sources */, + CDAE1142F04F51B9C8338B316697BB76 /* DDASLLogCapture.m in Sources */, + E14151464588C6C3261A6F0EA0CF6C5E /* DDASLLogger.m in Sources */, + 41013163279B9E2AF47F3910EE442306 /* DDContextFilterLogFormatter.m in Sources */, + 48BD58CF3A6B6FE5B2FDA7D3600CDAA4 /* DDDispatchQueueLogFormatter.m in Sources */, + 8E5B2A1ADD7989CAF96B8DBB5F19CB2D /* DDFileLogger+Buffering.m in Sources */, + 68B08A75A979A0ABC74F2E19E79FA9AD /* DDFileLogger.m in Sources */, + CA3362E91E2B721D382CE1E68237BFCF /* DDLog.m in Sources */, + 6CDCAE21DCE453B095EAC499A6C8942B /* DDLoggerNames.m in Sources */, + 978E2F630908A8527BCFF6FCAE7EC008 /* DDMultiFormatter.m in Sources */, + D6A88DE22A6C58BD29E941F21A6EC3E5 /* DDOSLogger.m in Sources */, + D6E26A31DBBC5615C8E4296ABBA10EC3 /* DDTTYLogger.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4F15CF7C67939F656AAF5CD4343336CD /* Sources */ = { + 822900AFE88CF62559F3CC340E1B2560 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3DF2B9D4BBA81A91C3DDC60A67097893 /* GCDWebServer-dummy.m in Sources */, - BA2B74A7F99484DD6452B85936CC2BCB /* GCDWebServer.m in Sources */, - BF3F63CFA38E899DAF27959FCB990E4C /* GCDWebServerConnection.m in Sources */, - 580C2A128587665E2E8EDC85CB263448 /* GCDWebServerDataRequest.m in Sources */, - 170B5C1928B961304E3117176D577E68 /* GCDWebServerDataResponse.m in Sources */, - 12F50E5BE1F9B95446E3BF32E458493A /* GCDWebServerErrorResponse.m in Sources */, - 2619E45B31AA25BDCD8A0774E611F1B7 /* GCDWebServerFileRequest.m in Sources */, - 29A52F164B20EA7246070A8A5508FD23 /* GCDWebServerFileResponse.m in Sources */, - 5C806400E8105B6806A3E5387CF16974 /* GCDWebServerFunctions.m in Sources */, - F25F6255D471E00FFD39F079CB7615AC /* GCDWebServerMultiPartFormRequest.m in Sources */, - 5DE6139A27B5A4E8BC1DB10B99F658D8 /* GCDWebServerRequest.m in Sources */, - 55C5C1852D6C3F13BFB1C06A4DC1C810 /* GCDWebServerResponse.m in Sources */, - 10D49A2316E4BE01DDD160E9123F2138 /* GCDWebServerStreamedResponse.m in Sources */, - 3FC2BB5E493E93575A4BA19FB8B0BE4F /* GCDWebServerURLEncodedFormRequest.m in Sources */, + DF8344363EA84EAB79A9A71B0F1A27B4 /* EXTRuntimeExtensions.m in Sources */, + 326918ACE81DB74C813B51D2EDBF7689 /* EXTScope.m in Sources */, + 7FA192C5FEE07B4104E54B11F28D725A /* Mantle-dummy.m in Sources */, + AD7EA277D66D1E9BB6E549C5585921C6 /* MTLJSONAdapter.m in Sources */, + 250BC880C9F17A12A4B3AB9DC812BCAD /* MTLModel+NSCoding.m in Sources */, + BDA00E9D17C691F434328990D131BD84 /* MTLModel.m in Sources */, + 963807747B1FF936C3AF33EB46339A3C /* MTLReflection.m in Sources */, + D325E03AA6B5DDDEB9862887D6C611B3 /* MTLTransformerErrorHandling.m in Sources */, + 3CD85D2BF59D1F4E6D3A2AA678A27037 /* MTLValueTransformer.m in Sources */, + 6F0B9F9BE2D8614CF2235339823ED22F /* NSArray+MTLManipulationAdditions.m in Sources */, + 915CA688BF91A2219A7BE4A33E2FA0BA /* NSDictionary+MTLJSONKeyPath.m in Sources */, + 65EE88DB2F513CD0D91B79D7268F4CD5 /* NSDictionary+MTLManipulationAdditions.m in Sources */, + 43229AE0F385579F3BC645ADEC7F47CA /* NSDictionary+MTLMappingAdditions.m in Sources */, + E4BA76C7332ABD25C82BA76B1BABA63C /* NSError+MTLModelException.m in Sources */, + F64EE08AA7083A232F00E6692BD949B7 /* NSObject+MTLComparisonAdditions.m in Sources */, + 74C120494D21BBA102834C0CC8AC5C21 /* NSValueTransformer+MTLInversionAdditions.m in Sources */, + 5E100413515D2C38EAB55DC5141013B5 /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5236331CAEE8EA455009FE2E5B9E724E /* Sources */ = { + 851631A347CD5A98B86CD9184DDED680 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 433C5611B6F55ACAC2818B2EFBA94279 /* FIRAnalyticsConfiguration.m in Sources */, - 62945012DB7F0A1EA3B8B59D4585322A /* FIRApp.m in Sources */, - FC6B28BF324F6EB8FFD81139495C4EBA /* FIRAppAssociationRegistration.m in Sources */, - 9F9C9DBA93B16985FEDB080B34FDB7A8 /* FIRBundleUtil.m in Sources */, - D301CDEB50459B8278BC3427FC114234 /* FIRComponent.m in Sources */, - F1E881EC271D1E6C3DA53AFECA849248 /* FIRComponentContainer.m in Sources */, - D47104ABDD6D2C1BE5431FC29B38B2C2 /* FIRComponentType.m in Sources */, - 88EFB465C4CD213E1A4822C27F4EF6C9 /* FIRConfiguration.m in Sources */, - C1B6CA9D5A95962A1173E3C2EC501D4B /* FIRDependency.m in Sources */, - 7B3B5F471ED7EC47209CC279A28A10DF /* FirebaseCore-dummy.m in Sources */, - 74264C26400CDA8032C1C0F04C6D66EA /* FIRErrors.m in Sources */, - B82B984D8D7C2D357F5EC2FE0613C912 /* FIRLogger.m in Sources */, - 8646BB298088CF6EC8FDF06FB27B84C3 /* FIROptions.m in Sources */, - 1A2928D7CD8F36745DFF9DC65897FAA5 /* FIRVersion.m in Sources */, + 72F58299ED9B5A05F6F8A361F62A6113 /* AFAutoPurgingImageCache.m in Sources */, + 8AFC7A630CAB2A426772D835A9392EE0 /* AFHTTPSessionManager.m in Sources */, + 1FE3482415CB9E353F5BE9D8D414AA1A /* AFImageDownloader.m in Sources */, + 9249EEF96143995ABAA0B53D3D83CE51 /* AFNetworkActivityIndicatorManager.m in Sources */, + CCAEF2831BD13498E659052012849EA7 /* AFNetworking-dummy.m in Sources */, + 628B9E828C4669A679025DFFCB9E309E /* AFNetworkReachabilityManager.m in Sources */, + 3840A56FED60A6F5F793683AAC1C3861 /* AFSecurityPolicy.m in Sources */, + 845E77019730AC19DE58C92C038B032C /* AFURLRequestSerialization.m in Sources */, + 594EDA6E9E69BA3B3A57A41EC8906254 /* AFURLResponseSerialization.m in Sources */, + B478949E6CBEB24D09174A22A165B7B7 /* AFURLSessionManager.m in Sources */, + B8A1DBCAB4BDC7658C82E8C4C5B2AF79 /* UIActivityIndicatorView+AFNetworking.m in Sources */, + F4538F6EE63F7F97EDF852E28FC91038 /* UIButton+AFNetworking.m in Sources */, + 587F858DAA1FAAB3D14FEF1BBA18C58A /* UIImageView+AFNetworking.m in Sources */, + 863506E6F2C7015A6432CCDBCFD10040 /* UIProgressView+AFNetworking.m in Sources */, + 986B70D8C31511D2AB2AD32A3C312091 /* UIRefreshControl+AFNetworking.m in Sources */, + E25BD05756A102344FB2DCEC0675AB60 /* UIWebView+AFNetworking.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6825CCDFA295F2A3AFAFAC872E83C75C /* Sources */ = { + 8700B396E8F6FB028124D970593CEC3C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6E800183A7C3832F0CC6DA1596060A70 /* Pods-SignalShareExtension-dummy.m in Sources */, + 736A05A646285D5ABC59FFFC4CB6A816 /* Pods-SignalMessaging-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6B623AFEAEFDBDE9ECDB364DC5A8541E /* Sources */ = { + 8A3E54B2738D1D7A5CD09314CEEDFBE8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 55233EFAA6608470B7901CC787675085 /* EXTRuntimeExtensions.m in Sources */, - 84DB0E25948956AE9294728B035C7D0E /* EXTScope.m in Sources */, - 818F2DCDD58B646871F90460DC6A30B3 /* Mantle-dummy.m in Sources */, - 0AD2680B4473883E996023DAE36665BA /* MTLJSONAdapter.m in Sources */, - 0678E1CF857FCECB86F85284BAF6D650 /* MTLModel+NSCoding.m in Sources */, - A71C1E76A28D8FAED404258DDE6378E7 /* MTLModel.m in Sources */, - C7A6FEBDEFE554D70DAB063BCF2532F6 /* MTLReflection.m in Sources */, - D37E64333BC683AFD3353060214D7853 /* MTLTransformerErrorHandling.m in Sources */, - CD97928FF39591BF1B6F00C2A2EED7BE /* MTLValueTransformer.m in Sources */, - B8CA3B05021A714FDA74442F2841C7B1 /* NSArray+MTLManipulationAdditions.m in Sources */, - 74E27D4EB449D5EF6361AC339C221676 /* NSDictionary+MTLJSONKeyPath.m in Sources */, - 621280C3AB2670120396CC1D89BB85C1 /* NSDictionary+MTLManipulationAdditions.m in Sources */, - 7414722D52D8BD0B00AC679F74F5BDBE /* NSDictionary+MTLMappingAdditions.m in Sources */, - A11115E6138463923A77815485A3AED9 /* NSError+MTLModelException.m in Sources */, - 8C6D908304112B270AFF3D7AF8E5E9DC /* NSObject+MTLComparisonAdditions.m in Sources */, - 50CBC5693E970337BFDCEFE896F9B574 /* NSValueTransformer+MTLInversionAdditions.m in Sources */, - B97EA85449E0A35D252D3C72F0028F9E /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */, + 4A934743460F750DBB2497021DE9B7A9 /* Array + Equatable.swift in Sources */, + 32B4144B610DE469FC9C97C218908DA3 /* AtomFeed + mapAttributes.swift in Sources */, + 24E765DFC4E7A07757EBCF63179B23E3 /* AtomFeed + mapCharacters.swift in Sources */, + 4922023B0AC47F793DFEA9CAAF8C7292 /* AtomFeed.swift in Sources */, + 2D57DBF1121AF72A4435A63863396DE6 /* AtomFeedAuthor.swift in Sources */, + 520A835E875F54375E402B164E0243D7 /* AtomFeedCategory.swift in Sources */, + 51A47AF30D52FDBAE1BB7578BEFF57C8 /* AtomFeedContributor.swift in Sources */, + 0FD422000EE6C648DCF8C5A4E6D8E37C /* AtomFeedEntry.swift in Sources */, + D7DD612CB8B28C831D01D7AB5C39E774 /* AtomFeedEntryAuthor.swift in Sources */, + B6C4A1C01D7177D442E9BF0142EFF4FE /* AtomFeedEntryCategory.swift in Sources */, + 277428E0FFBE6939C0D3B9C0D9218BCC /* AtomFeedEntryContent.swift in Sources */, + 543095F96FF606A50B2ECA8B2763EB6E /* AtomFeedEntryContributor.swift in Sources */, + 589788A72D3BC93952BD8A2E51BD4974 /* AtomFeedEntryLink.swift in Sources */, + AC712E3AB6C0DE381EE10082F3D265AB /* AtomFeedEntrySource.swift in Sources */, + 665B3C5B1EE24BBDEDCF6DCC968D2F74 /* AtomFeedEntrySummary.swift in Sources */, + 8BABD80B21D80B735F3FEE23AB1AE473 /* AtomFeedGenerator.swift in Sources */, + 346B1476B54AABE914461EE3F403C1E9 /* AtomFeedLink.swift in Sources */, + 138A515B5E1F34075F924AD27ED88E89 /* AtomFeedSubtitle.swift in Sources */, + D018F98595A9947E0FF9BDEFFDF001E5 /* AtomPath.swift in Sources */, + 4A304F8BC5BACA943495438ED4B134FA /* ContentNamespace.swift in Sources */, + A0D2377309D351C3F244204F3244714D /* Date + codingStrategy.swift in Sources */, + F7D83FBC75BB7E7CA636F08FBA840ED9 /* DateSpec.swift in Sources */, + 2D8457F27DA0480F1699C1210D8CA7B8 /* DublinCoreNamespace.swift in Sources */, + B721F2786D2220EC4ABBC77A1C4AB32B /* FeedDataType.swift in Sources */, + D59F0DCBEFAAB41FC438B456F3DE6C6D /* FeedKit-dummy.m in Sources */, + 33FE95DFD2A9360EFE0E3FCDF0625C3D /* FeedParser.swift in Sources */, + C9E89721C6D4D35C909AE03F3DDCBB9B /* FeedParserProtocol.swift in Sources */, + EED10FACAEFFD8CB19F8CAD22371DB31 /* ISO8601DateFormatter.swift in Sources */, + B6BB8A4FE17243569FFBA9B03129EC72 /* iTunesCategory.swift in Sources */, + 3BB3EAEDA252CFF55D41ACC098F8CA6E /* iTunesImage.swift in Sources */, + 3B3BDB7F546D974F6D01839B2F355822 /* iTunesNamespace.swift in Sources */, + A264170EF6CA536DBCA0440ECC938812 /* iTunesOwner.swift in Sources */, + 4F0F9B3237A314E5FE79E07CBCDCFC12 /* iTunesSubCategory.swift in Sources */, + A08918838E445E6CFA17979CFF025819 /* JSONFeed.swift in Sources */, + DF24548A831A5AA50100FEFB7620FBA7 /* JSONFeedAttachment.swift in Sources */, + A91BF2F628AA1595092CF3FBC8EE4410 /* JSONFeedAuthor.swift in Sources */, + 6CBECAD6F679A450AE611ED80CCAA1E6 /* JSONFeedHub.swift in Sources */, + 4456C3918F20E53BF367A34296FE87B8 /* JSONFeedItem.swift in Sources */, + 30E5A7B38D0AE99BCCF82F91B3F652A6 /* JSONFeedParser.swift in Sources */, + 14D708AF0725B5DD2457B293FD4C61A1 /* MediaCategory.swift in Sources */, + 8FF92E52133A3D9472FF4C51DA5019A2 /* MediaCommunity.swift in Sources */, + 6310372744D554AF6A341E02BAF1C8C6 /* MediaContent.swift in Sources */, + 0E5A629E76DD3FAC55D362CC5E9103AB /* MediaCopyright.swift in Sources */, + AB349141DCF767F3DF3448CA4083CA77 /* MediaCredit.swift in Sources */, + 8ABFAAD9E432913ACF51CB90F3BB73DD /* MediaDescription.swift in Sources */, + 31B47BCBB1A9DCB24FA74E94267F3C03 /* MediaEmbed.swift in Sources */, + E723DC1637073DDF0E43D8A07ADDEBC2 /* MediaGroup.swift in Sources */, + F9FC71B1B1461C37ADF14A8C23973399 /* MediaHash.swift in Sources */, + 0FE31347B9176DBCE422E68B8D77F8D7 /* MediaLicence.swift in Sources */, + 906228901802957FE7270CA26B51B45F /* MediaLocation.swift in Sources */, + C83DE43FFAF9FEA9A3B5A70142B6E1CD /* MediaNamespace.swift in Sources */, + ED8E18C83DC019AF3AD5F3A22BB660CC /* MediaParam.swift in Sources */, + 42A9AA60F1AF070D8983D384D2D7B565 /* MediaPeerLink.swift in Sources */, + 0E77BD3258FA0C7AE32C9CE8A379703E /* MediaPlayer.swift in Sources */, + A10C9DF5D567582EBAE99AEB9CBF41B2 /* MediaPrice.swift in Sources */, + C141C8477E892EE5F849263E10D5B5D6 /* MediaRating.swift in Sources */, + 50C8FD448A65670BCE20E220551E295C /* MediaRestriction.swift in Sources */, + 1BEFEB76D53DE73C00EA865629AED7D1 /* MediaRights.swift in Sources */, + DACC648600633408F12D368010815EDA /* MediaScene.swift in Sources */, + 49A78C4C87BAC161EC781B44DA38B127 /* MediaStarRating.swift in Sources */, + 82BC687FA9713F0D36CE559A7C730230 /* MediaStatistics.swift in Sources */, + 5CCD4E4218C3D4730B96B67D158E5146 /* MediaStatus.swift in Sources */, + 7557FEB3C2C4E6C818959E7DC8D63ACA /* MediaSubTitle.swift in Sources */, + 7B292D2BCA4AD1C412D21BA6183C2483 /* MediaTag.swift in Sources */, + 5E6EC54EB1CBCC06CCB590BB5E56C69F /* MediaText.swift in Sources */, + 4CD659F1162D2A198245CEDE48E0F2EA /* MediaThumbnail.swift in Sources */, + F924704F948094EA7DB8AF59EEA54D11 /* MediaTitle.swift in Sources */, + 6D43B61C8E0B714195FECE033FCA0819 /* ParserError.swift in Sources */, + C04F217FDEC4987910CF40F868263D3E /* RDFPath.swift in Sources */, + 88BC378843B3B5871B42F3841EF55824 /* Result.swift in Sources */, + 94366DAC7F2D4FF38DE39014B2B59E72 /* RFC3339DateFormatter.swift in Sources */, + F5AA028467F22CE0530B32D40031C048 /* RFC822DateFormatter.swift in Sources */, + C6F496C76C7CEB9857B5239EE234FF2C /* RSSFeed + mapAttributes.swift in Sources */, + 421FD1D44F124F98A1DD922FB73D7EE2 /* RSSFeed + mapCharacters.swift in Sources */, + 5EDCFC727ED9AB78871ABE3530C9E4F1 /* RSSFeed.swift in Sources */, + 48F04F36D9E45F70DE9B23AC84CAF230 /* RSSFeedCategory.swift in Sources */, + CEFA0999DD7062B04F708D7A2E94276F /* RSSFeedCloud.swift in Sources */, + 5000BDDD6BE586BCC01905C4E54BA384 /* RSSFeedImage.swift in Sources */, + 204D90EF00724FD1343BAAD0912AC20F /* RSSFeedItem.swift in Sources */, + E4D0627F7C255686B16C79AAE3E73FA8 /* RSSFeedItemCategory.swift in Sources */, + F1B38D019AB91372A80E8BCB3DE9F07D /* RSSFeedItemEnclosure.swift in Sources */, + D99E9E85848A5F6A9F913447961C8E0E /* RSSFeedItemGUID.swift in Sources */, + 6E21BD66A0E674CC1F85DD27347DBFE4 /* RSSFeedItemSource.swift in Sources */, + FC937AADE7E74F97A3A7C52A8FD86645 /* RSSFeedSkipDay.swift in Sources */, + 6A9577F8350A6ED62BB633E20A878DD0 /* RSSFeedSkipHour.swift in Sources */, + 082677DB9A191EB14126B6F1F851780F /* RSSFeedTextInput.swift in Sources */, + 76F105230CAEC24F9D71B56EE198B979 /* RSSPath.swift in Sources */, + DD8020B17B41170BD8D49552AE43AAE8 /* String + toBool.swift in Sources */, + E8D0817E37BAD1019866CFEAB7BEB2B3 /* String + toDate.swift in Sources */, + 28982FB19EF29C39687D0C27B7F7E8EE /* String + toDuration.swift in Sources */, + 60242940A6AB30E4B697240E4F53CA2B /* SyndicationNamespace.swift in Sources */, + 2ADFF7BB37726463A2C3262B6DBD088D /* SyndicationUpdatePeriod.swift in Sources */, + BE2DD6E7139BC64B46B141C220264EBC /* URL + replacingScheme.swift in Sources */, + 00021EFC86402FF897A8DDD5566E2110 /* XMLFeedParser.swift in Sources */, + AD0FF18B7729509F77955DDDB5F74582 /* XMLFeedType.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 70D3CC574C783F642C992EAA7D6BC400 /* Sources */ = { + 8BAC6D7B2C2366B103A6F082FD7810C6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6E4FE230848DA6864979B6A9902A6766 /* blocks.c in Sources */, - 5C5381147ADE23DB854A802FDC25D7E5 /* compare.c in Sources */, - 5066F703C56D588D1E86ACF0DCC3911E /* curve25519-donna.c in Sources */, - 5CE84359DC13528D1CDA36EE33AC0F9B /* Curve25519.m in Sources */, - 676EDE641D014E7509C6B57C96BE3F33 /* Curve25519Kit-dummy.m in Sources */, - 383A47BC56FDCA7E2497CE09B3AE6035 /* curve_sigs.c in Sources */, - 61FAF1CE1D49EFE75FA9074255C00B63 /* Ed25519.m in Sources */, - F59593119B9CC0CFDC1DDABCF687439A /* Ed25519.swift in Sources */, - 340C05435DD4B934F965214F37A8ACE0 /* fe_0.c in Sources */, - 74BC7533F756699DD21CF14A4ADD77E2 /* fe_1.c in Sources */, - 16DC3E70F91BEB0548DA945FB050B3E6 /* fe_add.c in Sources */, - 24B1C75419F30ABAC3A0EC57745C704D /* fe_cmov.c in Sources */, - 579A3374FB6EE0B8645F154F909E7EF0 /* fe_copy.c in Sources */, - 7AEF4FE91E25600B0341141DB787013A /* fe_frombytes.c in Sources */, - 1A22A256FB8BA72A7B9ABAC0868C9D63 /* fe_invert.c in Sources */, - E7D4CE9DACC62BFFBC7AA1C29E69727A /* fe_isnegative.c in Sources */, - D6EBDB9EAA1796BF4637A812EEBCE785 /* fe_isnonzero.c in Sources */, - 687CC6F859E6F3025EB2C3652D730CA0 /* fe_mul.c in Sources */, - 400936A5EDEF97CEE2E0238DF83D394C /* fe_neg.c in Sources */, - FEA2011B8BC7665462B6DB31BF843D69 /* fe_pow22523.c in Sources */, - 865925BF9610F49A4CF8F6670B180A79 /* fe_sq.c in Sources */, - 9CD94151DE6DF7715FC44CD21EA33AE4 /* fe_sq2.c in Sources */, - 39A6E0A6809ACC8845A369DEF83DD7CA /* fe_sub.c in Sources */, - 357B3E1BF4541EC92BA93959F11C0C58 /* fe_tobytes.c in Sources */, - 8184DC7F85E44F4F4FFB007BE6429E1D /* ge_add.c in Sources */, - C24B014F6AAB385E4F85542D1F619CA1 /* ge_double_scalarmult.c in Sources */, - 2D230EAE1D26FEF30852CA51F0200F33 /* ge_frombytes.c in Sources */, - 002FE314E0E805DE95052D3CE2A89E61 /* ge_madd.c in Sources */, - 396C879E933B004287BB1EE0DF938198 /* ge_msub.c in Sources */, - 45CC311E7BE59590426EC9A18897C03F /* ge_p1p1_to_p2.c in Sources */, - E7291A1F405BC1333CAF54B66ACDD362 /* ge_p1p1_to_p3.c in Sources */, - 6AD7553F797DFE0FA083E2DBE8AB0347 /* ge_p2_0.c in Sources */, - DEE5F54B16F2341095AEB40A11FDA293 /* ge_p2_dbl.c in Sources */, - E8F1105CC86448FECFBCD070F34C0A14 /* ge_p3_0.c in Sources */, - 515EE3E502CDDC646796C8C5BEE026B3 /* ge_p3_dbl.c in Sources */, - 8C388F3A73C786C20048CBA7C26C8AC3 /* ge_p3_to_cached.c in Sources */, - 2BBB4A473275C3D29C52639F20BF333C /* ge_p3_to_p2.c in Sources */, - D43B4999B03A0F9B23FB62FABBCB6A21 /* ge_p3_tobytes.c in Sources */, - D9741AF6AFE75439FDCD7B3C886DE820 /* ge_precomp_0.c in Sources */, - 706FCFB43EF71B18987847618CBFDB23 /* ge_scalarmult_base.c in Sources */, - 91BBCF71C8BBE3487BE30F3F7335CC2B /* ge_sub.c in Sources */, - 84D65C279C77CF21946DD23239B65EAE /* ge_tobytes.c in Sources */, - B11195FCE6D7299E059021F8C0F047CA /* hash.c in Sources */, - 4120A5B120CFCEDD9C4C52AD08503722 /* open.c in Sources */, - E16D9381692BC09A193D2193C0B7EB6A /* sc_muladd.c in Sources */, - B775A5FF22407EA2283DA5BEA2D32A17 /* sc_reduce.c in Sources */, - 717960C6AA554C7A73362A138099AA28 /* sign.c in Sources */, - 45CBDE02627AF7102C5679C67EB3F863 /* sign_modified.c in Sources */, - 627741D7B228539B5D3B8BEF2687E3AE /* zeroize.c in Sources */, + D8E9CC68E5EF23D8E61701A2531D96FE /* blocks.c in Sources */, + 5D09FEE76C8174B5F8F81ADBE461D1D2 /* compare.c in Sources */, + 0F5893BC25D1E17C36231481EF82BCC6 /* curve25519-donna.c in Sources */, + C2D2AFD8B84B5C36BEEAAA566D985826 /* Curve25519.m in Sources */, + 8D4F723234333D855488079D9E807CD5 /* Curve25519Kit-dummy.m in Sources */, + E255704A7F4FC19AF1F6772CD3F6EE93 /* curve_sigs.c in Sources */, + 1000BC2167A34DC5449461C329F86873 /* Ed25519.m in Sources */, + FE7E6D18A934DDFDCEC7E9AE50E30171 /* Ed25519.swift in Sources */, + 3C6E80E04D5E417CA083CCFED1F13555 /* fe_0.c in Sources */, + D8BCE696C7ED1D46C2D3024605091FDC /* fe_1.c in Sources */, + 57A7460B16178D16A2E76D80CBC3735D /* fe_add.c in Sources */, + 2784CB60C2C38BEF9E327857E3C20FDB /* fe_cmov.c in Sources */, + 6C8391C1A40A90D8FDA09B59E77EF11C /* fe_copy.c in Sources */, + 847EA140D5EBFE033882B4AAF56BEBCE /* fe_frombytes.c in Sources */, + EB153C1F4E02D5865027BC7A4EF191D5 /* fe_invert.c in Sources */, + 4D783EB8F2AFDD7D427B8F0557FD6067 /* fe_isnegative.c in Sources */, + 40C6868D6D32594279E68876046090EA /* fe_isnonzero.c in Sources */, + 51BE3BD546522614EF6CF191402C1631 /* fe_mul.c in Sources */, + 833B65812F59E61CF3567EC669D82ACB /* fe_neg.c in Sources */, + B082194A2F744EF8D96FE248DB8362ED /* fe_pow22523.c in Sources */, + 7F2CB20733E26B95BB75D7E7E3399EC2 /* fe_sq.c in Sources */, + 75C23E2AD1F8503AF83725DB7623A53A /* fe_sq2.c in Sources */, + EDBF4BA5A305B2C8BB227BF8DBE75C81 /* fe_sub.c in Sources */, + ACC908137E4BB03BEDC4D046F87CAE07 /* fe_tobytes.c in Sources */, + 4B087E53EE8021AD58FD3F62EC441988 /* ge_add.c in Sources */, + 12D3FD99D8281F02F70F773DAF070F7A /* ge_double_scalarmult.c in Sources */, + 5265674C36A6B04108F73A82FC12B7C2 /* ge_frombytes.c in Sources */, + B5CEFC17DE762449155F556DBB4EF486 /* ge_madd.c in Sources */, + C8381FD3D8F0376FFE3E8906A60D8A1D /* ge_msub.c in Sources */, + FEDCA75B992827E5B6A13B96A224D662 /* ge_p1p1_to_p2.c in Sources */, + D7B209EB08042B6EC02A9876EF596B3A /* ge_p1p1_to_p3.c in Sources */, + A05E6DF9639A2D3A213EFEAA498AD918 /* ge_p2_0.c in Sources */, + 8EDBB8EC234578A968F4155D326C4122 /* ge_p2_dbl.c in Sources */, + B40257A036F9AC8FD0778309621F2B0B /* ge_p3_0.c in Sources */, + 8B51B3C09DBCBA61C117E8ADD8BF8007 /* ge_p3_dbl.c in Sources */, + 4B17668B33DBF85F7D40AB98DFAD6A43 /* ge_p3_to_cached.c in Sources */, + F99DD3F9F33C9CE1F2CF3CB2B6221820 /* ge_p3_to_p2.c in Sources */, + F16990F8214E6D2056715CC7EFBD7B19 /* ge_p3_tobytes.c in Sources */, + 0FC45F88058E2A8DB680941109F6B666 /* ge_precomp_0.c in Sources */, + D020A033ECA576C41C003CC68E072CF6 /* ge_scalarmult_base.c in Sources */, + EEE1A9C5BDABADC09D83DC1DAC30B07D /* ge_sub.c in Sources */, + 4EE02050B81CB1AB8FCADE8DF98DAFD5 /* ge_tobytes.c in Sources */, + CBE404578D05C2D8DA1BE841A18A7068 /* hash.c in Sources */, + 212C7EED2F67888B12A3081C09C572FB /* open.c in Sources */, + C01EE2A9FC00EAB23D92B5807915115B /* sc_muladd.c in Sources */, + 90AD9EA71C7E49C900EBEDFC1D142254 /* sc_reduce.c in Sources */, + BA4B053A8EFAEFB7C6C767CDE5C7F837 /* sign.c in Sources */, + 73B3407D8F2ACD1207A104ECD44811A5 /* sign_modified.c in Sources */, + 020E0201655666F7AAEAEB31D5D7F810 /* zeroize.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7A20734D64F3D73DE70DEC11168FF5B3 /* Sources */ = { + 9715775D8574D8FC673FE87A32E7CD93 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 890E9D3A890DE9B086223E2B18CC87F9 /* HKDFKit-dummy.m in Sources */, - BFC92805B06634F108DD5B0EAB3FEB84 /* HKDFKit.m in Sources */, + F395B5BA95CEE5808EE32B5FBADB4FD2 /* GCDWebServer-dummy.m in Sources */, + 324B2FDD8107F09955CBD9D39E0B91F8 /* GCDWebServer.m in Sources */, + 22DD1AB9ECAD08E60956BCED4990AB26 /* GCDWebServerConnection.m in Sources */, + 569B405F68EE15403BC7CC47C548CACD /* GCDWebServerDataRequest.m in Sources */, + 8C35F5DFB9D0A21D5EDA32C853D64CCD /* GCDWebServerDataResponse.m in Sources */, + 96B39CA0698D1D0E80EDFE82418A708A /* GCDWebServerErrorResponse.m in Sources */, + 8AC76CC00919AA4C0B925CFBE06476EA /* GCDWebServerFileRequest.m in Sources */, + B6223F825D0EF9B357E7833EEFEAA6BB /* GCDWebServerFileResponse.m in Sources */, + 4477C42648EB698927AB5A3C02995F99 /* GCDWebServerFunctions.m in Sources */, + A56602BA47A098A9F6780DFEC4AC7E51 /* GCDWebServerMultiPartFormRequest.m in Sources */, + 2AB672E480E473F97E71BCE9F6B599AC /* GCDWebServerRequest.m in Sources */, + ECF6F668E2CD94BC8FF1C3BB526477F9 /* GCDWebServerResponse.m in Sources */, + 7BDD998BAC91F7EC4F43FF4847575E25 /* GCDWebServerStreamedResponse.m in Sources */, + AB3EEB5ABF80D0D9DC5C4EB581E34EFA /* GCDWebServerURLEncodedFormRequest.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7C7D136BA2FB312F1403748D1B6FB100 /* Sources */ = { + 9A181A3B4E7E2210B96532B07A77C12A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5BCF12D243CBFED89C6490287E0D630D /* CryptographyTests.m in Sources */, - 157412E3D1A6730A85DA53A3CF4DD689 /* SCKSwiftTests.swift in Sources */, + 31952A1D900073FF0E7D2A34DA3AC1DD /* Pods-SignalShareExtension-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 80F6A8335E056CFD592EFE2920BF529A /* Sources */ = { + A03ECCC418B967D0AA32A8F31BFE0C56 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4BECFBA4262662700FF3A413F02A0801 /* YYAnimatedImageView.m in Sources */, - D7C3557DF763B1D440D73834B7EFF6BB /* YYFrameImage.m in Sources */, - 595ED74EADFCD49759546EF0EAA846C1 /* YYImage-dummy.m in Sources */, - D266D78D9195D47DB0A1330A0BF043B3 /* YYImage.m in Sources */, - 3F5855F33AB4FE4317FEDE384D3C6494 /* YYImageCoder.m in Sources */, - 288771D02BDED08EB8013BE45038FC51 /* YYSpriteSheetImage.m in Sources */, + C20EB448F904023619829C0B7CDA9553 /* ALView+PureLayout.m in Sources */, + 150BFD9310C571952202A7B0F3A845B3 /* NSArray+PureLayout.m in Sources */, + 02A313E9B3F84134F79EBD938D371630 /* NSLayoutConstraint+PureLayout.m in Sources */, + 8216DA2D20F06F2C0685441D14966B4B /* PureLayout-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8E2843192AF1ED53817825DEC9E092B4 /* Sources */ = { + A08152C8CAE23C9C6C47CF7E16F88F3E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4F688F15EEF02B16E2CF5ED83FF7CC42 /* Reachability-dummy.m in Sources */, - 520DABC0B7F84CAD4B1FFEE59FE6318E /* Reachability.m in Sources */, + 50E4238485532658D37BB3FF5296289F /* CryptographyTests.m in Sources */, + FDBC057CA7C7A02B6E8D91D47F7A964C /* SCKSwiftTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A8224A90EBD53E0CBBD9284C615187C0 /* Sources */ = { + A61274E09F63F4908B14692B1CB8257B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8FB51FA921AE191541772E4D6E8B1E6E /* after.m in Sources */, - 2AFD8C9B9CCD151640502AFB70B6CF68 /* after.swift in Sources */, - FDFF1963F0C1255C22342BB4564AA8D5 /* afterlife.swift in Sources */, - B905CAD652F5F8A1B30ED6E15E8A66E8 /* AnyPromise.m in Sources */, - 436EC013A4985F212F1DEDE0A151E6F6 /* AnyPromise.swift in Sources */, - 54CE36A30B5A59279A088E70BFA17D50 /* Box.swift in Sources */, - ECE1720257C6CC891B3E8DEE136B1E78 /* Catchable.swift in Sources */, - 77ACD6E79F8FDF5B99877EE82B2BF1F8 /* Configuration.swift in Sources */, - E675E5E66064A5810B6EDFB2EB2674C8 /* CustomStringConvertible.swift in Sources */, - 7C6693BB6ABDD54EC1258CC4AF9C79EA /* Deprecations.swift in Sources */, - B696519151F2AE96FF6125D223DB0595 /* dispatch_promise.m in Sources */, - 1BEE46EDB7DB778FF4EF74686BED4A17 /* Error.swift in Sources */, - BA0A306D1367E743CD94FEBF929D778F /* firstly.swift in Sources */, - 1AD023D2988C70BF0C17980D17C0469E /* Guarantee.swift in Sources */, - BD94DFC84A81D80BAE94645EB1605BA4 /* hang.m in Sources */, - 7DE81CB70DD48F90A9FB9B52FEC460D2 /* hang.swift in Sources */, - B79194483FBAE480A5FD4DAF32F967ED /* join.m in Sources */, - AE8272D5A4098A317BF663057F8CBF3A /* NSNotificationCenter+AnyPromise.m in Sources */, - DFD2CB54261B1A1B419FA10D6DADC396 /* NSNotificationCenter+Promise.swift in Sources */, - 9E56D2D9ACCFF8998E8AE8E8DD944F9C /* NSObject+Promise.swift in Sources */, - 8330B57F1657420AA35A143EA1234D96 /* NSTask+AnyPromise.m in Sources */, - 8B4D71085D3D53DD9F949AA78F69C797 /* NSURLSession+AnyPromise.m in Sources */, - 08F58E34C641B1AFFB0651C47F1C9FE9 /* NSURLSession+Promise.swift in Sources */, - F368C579D9F1917585088509FC78E67C /* Process+Promise.swift in Sources */, - 10DFAA48B7E210BEB4481AAE091E223D /* Promise.swift in Sources */, - 5B95315F714AF174D28274F49419380A /* PromiseKit-dummy.m in Sources */, - 2FBAE40A0AC92B9096DE97CB7D72AA50 /* race.m in Sources */, - 9332DC52DDADECBF502FE79B063011ED /* race.swift in Sources */, - 4146158B2A8DA11359A89380A2EFD4BA /* Resolver.swift in Sources */, - B638DCE4BE935FB465F05818F0741F31 /* Thenable.swift in Sources */, - A75DC2087B6EADDEA0EF6A319AD88FF2 /* UIView+AnyPromise.m in Sources */, - F6B8A0DEA82A213473A9286327C3D7F8 /* UIView+Promise.swift in Sources */, - A305C224800FF24B8285ACD7F85B9363 /* UIViewController+AnyPromise.m in Sources */, - E024D240446A2518E83988C7066DF78D /* UIViewPropertyAnimator+Promise.swift in Sources */, - 4CF6BA139A1569ECDA0A3D318527EC4E /* when.m in Sources */, - 14CB312CFF9EBEA6DA9548E0CBBF1420 /* when.swift in Sources */, + 88A85CB212A7816F4862F5E9AEC20D92 /* Data+SMKTests.swift in Sources */, + 8B224B6997BCB00CEF6A77BAB348B0FB /* MessagePaddingTests.m in Sources */, + 5CAB41BEBD8B8F20EEB123DAC93F57CA /* SMKMiscTest.swift in Sources */, + D3136C0AA6C85C6AEE9A78E7231171C0 /* SMKObjCTest.m in Sources */, + 03E63BFA2D3F370DEFCEAF29DDD1DC7C /* SMKSecretSessionCipherTest.swift in Sources */, + 325686B3E3B6C5973BDE94B671DF12A3 /* SMKSenderCertificateTest.swift in Sources */, + E0AAAE3FC945BC9D72A57AAAF5662226 /* SMKServerCertificateTest.swift in Sources */, + 34DBE778C4EF0693B973579AAFB7FCBB /* SMKSessionCipherTest.swift in Sources */, + 6343E9D66588DD88FE0E2C62E6A89802 /* SMKTestUtils.swift in Sources */, + 7754FD003683C5075ED6587C344BA572 /* SMKUDAccessKeyTest.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - B887B8B082BBDA21FD5EB9F9AA0E01E4 /* Sources */ = { + A9602CE9BCC2609F39724E20F1F063B1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5ED7ACAE1087EFFA77C0027AB4765B6D /* ECPrivateKey.swift in Sources */, - E4E7A4966FA888F9D395C60AA94BE809 /* ECPublicKey.swift in Sources */, - 101B95BBF83A387B0B8653B6BE749596 /* NSData+messagePadding.m in Sources */, - 3C724EB9831D344D200692A1A0D6B31A /* OWSUnidentifiedDelivery.pb.swift in Sources */, - E8708F4068797FA14513CCBBD857EFFC /* SignalMetadataKit-dummy.m in Sources */, - 2423FD3E23F65E5E00902D5B /* LokiServiceCipher.swift in Sources */, - 2423FD4223F9F88700902D5B /* SessionResetStatus.swift in Sources */, - 2423FD4023F9F36000902D5B /* SessionResetProtocol.swift in Sources */, - D734B425CEBC4268D46CDD1CBD2D67E7 /* SMKCertificateValidator.swift in Sources */, - 7BD4838923E2A1750007F1BA /* DiffieHellman.swift in Sources */, - 4BE9C5DFFFE07F1A186797AD6019F6C4 /* SMKError.swift in Sources */, - 7621DF5D709DCA48B978F08F8BB0DA2E /* SMKProto.swift in Sources */, - 7BD4838823E2A1750007F1BA /* FallbackSessionCipher.swift in Sources */, - D6CE16A36988B363AD240123219C85D6 /* SMKSecretSessionCipher.swift in Sources */, - 95ACEE6ACCA32EE93B7C69107932C36B /* SMKSenderCertificate.swift in Sources */, - C877FCF7EB6E64C375C6F914DE38F7F9 /* SMKServerCertificate.swift in Sources */, - 59B14EA99393C1A6C7FE01C98D7FC170 /* SMKUDAccessKey.swift in Sources */, - 1895153740D5F69F3AB7DA52B414CD4E /* SMKUnidentifiedSenderMessage.swift in Sources */, - 3B7F5D1FBD64CCACBE413BB1FB469B64 /* SMKUnidentifiedSenderMessageContent.swift in Sources */, + D3900DEEA569B15B0B817A4DBFAACA0F /* mz_compat.c in Sources */, + 1CAB71771122DC5864F216A077C270D5 /* mz_crypt.c in Sources */, + FE77E93A3582BA64761611C0FAE9E3EC /* mz_crypt_apple.c in Sources */, + 1B3FC86A2A52C1394EB11AC8F9EE4F36 /* mz_os.c in Sources */, + 35A06AB21A2730AAD38FEE566C37F3F4 /* mz_os_posix.c in Sources */, + C86CCCA4912EA98070AE7D53DF3F41E5 /* mz_strm.c in Sources */, + 886DFB2F5617546DD344496B36282DB1 /* mz_strm_buf.c in Sources */, + EEDE9491E38031568C8038CDF4AD608F /* mz_strm_mem.c in Sources */, + 70C53D8A8BF9B14141453F1D35E49156 /* mz_strm_os_posix.c in Sources */, + EB8F93E1D2FAA9320A8F36B7EF2E5161 /* mz_strm_pkcrypt.c in Sources */, + F29E4061C5ED011B7C5FD2AF6AA5EADC /* mz_strm_split.c in Sources */, + 3C5E25D75A1EAAA9C08F6DFEC5244817 /* mz_strm_wzaes.c in Sources */, + D9F658612D0E00ED6D62476A8849AE13 /* mz_strm_zlib.c in Sources */, + 194EBBF5ADB21AFDB141563F6D8D8423 /* mz_zip.c in Sources */, + 74E9006E22EA2A53DA78D4767E1B787E /* mz_zip_rw.c in Sources */, + C755D45999079374250EC7326F694E1E /* SSZipArchive-dummy.m in Sources */, + A27AB82CDFEB14D5CB4FFCD904E8C473 /* SSZipArchive.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C6F29480AC4D85973FDDCEE4FFC41D02 /* Sources */ = { + AB560FDE79854855EF51D95253019828 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 956AD4B74012F2E33393EBB94358FD5A /* SAMKeychain-dummy.m in Sources */, - 02BF1E09AAB43351FB61BE8C809287C8 /* SAMKeychain.m in Sources */, - C75544ED30BEA44686E65657BA825D10 /* SAMKeychainQuery.m in Sources */, + 29E595F72E7CFF74D01FF7FDD7D6529D /* GoogleUtilities-dummy.m in Sources */, + 2D13C536FCEECE85DD85AFF08210838A /* GULAppEnvironmentUtil.m in Sources */, + 16FC66D74FEF562EAD8C045EB68B63DE /* GULLogger.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - CD90D261F710AB67BE9B59B0279751C4 /* Sources */ = { + AD5C86EBFC5F530FF8E66B08AF831740 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 140B56343ED09016DE6F645929916E22 /* SQLCipher-dummy.m in Sources */, - 9A6E1FB3A80A4987852EE7CAA224813E /* sqlite3.c in Sources */, + 08CF7B723806327CE674A8B1C4FEBB25 /* SQLCipher-dummy.m in Sources */, + 95E87AAE5F1B179A8E4C361B6DCDB8E0 /* sqlite3.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - D1ABD5B961D808551BAB49E27A80E59B /* Sources */ = { + B9994B01FCF4EE07A6E3380528B47AD4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - FF921DA642448645FB97B6C16B12C92E /* Curve25519KitSwiftTests.swift in Sources */, - AC908EDBDF6C013544502E1E192B935E /* SigningTests.m in Sources */, + D9ED837C70DA5160BFE82CF1808E385A /* Compression.swift in Sources */, + 0E2A8A51E99077613965F62490E9BBA9 /* SSLClientCertificate.swift in Sources */, + D159114FC1D6A76851FB7C13D217873D /* SSLSecurity.swift in Sources */, + D17F01445CA7F2F3080AD3C9F2BD23CF /* Starscream-dummy.m in Sources */, + E877CE5BE0B49786EED88E22079B995B /* WebSocket.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - D4037C538F95223E5AB7B60B3A5E3FE0 /* Sources */ = { + C5606518219121D93541B80A649EDA36 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 057897CAAAB7B448DA647193BE756A9D /* ContactSortingTest.m in Sources */, - A5B1ED18E2EF30710AB511FC22C36B36 /* DeviceNamesTest.swift in Sources */, - FA4418B685E5F9BB3E31446A1E34B3D8 /* JobQueueTest.swift in Sources */, - FD3F0883A8B86D3C380DD17C20F3F7C7 /* MessageSenderJobRecordTest.swift in Sources */, - 9E4383AA4BB51AC0E04581D8FE1835C8 /* MessageSendJobQueueTest.swift in Sources */, - C0664FD6FA36D18472CD7930504B3E98 /* OWSAnalyticsTests.m in Sources */, - 2671E45E8ACF06271682B000E8C8B03A /* OWSDeviceProvisionerTest.m in Sources */, - AF226895BC778E599591D3208D57CC32 /* OWSDisappearingMessageFinderTest.m in Sources */, - AAEB8F5F4BEE10665C80EC6537811529 /* OWSDisappearingMessagesConfigurationTest.m in Sources */, - B708EF29282E27E90614CA4F8F4FB4D8 /* OWSDisappearingMessagesJobTest.m in Sources */, - FD3CFE36FC8D6008D3C8C9E36B86EE02 /* OWSFingerprintTest.m in Sources */, - 5BABC40F5BAEDF7D61D04984472089C6 /* OWSIncomingMessageFinderTest.m in Sources */, - 7A862A24C58FBB36D91610E08426C0C0 /* OWSLinkPreviewTest.swift in Sources */, - CC602582079485C52A9FFF3E58A9CAD5 /* OWSMessageManagerTest.m in Sources */, - 8B5B02F136CED2410C88F248EC8463CB /* OWSMessageSenderTest.m in Sources */, - D9C4656B3BE6A45B083CB41D87A81419 /* OWSProvisioningCipherTest.m in Sources */, - 31C2DFB35C5310E1B45167EAE25A4123 /* OWSSignalAddressTest.swift in Sources */, - 1460DDB858DC85B49DF470E5B607AC8C /* OWSUDManagerTest.swift in Sources */, - FE32120EDC75F455FBECC4AA4CCC2922 /* PhoneNumberTest.m in Sources */, - 1372770D46AC500BDED952BE3B98E64E /* PhoneNumberUtilTest.m in Sources */, - F6F057EEE665402663AB1787CA32E4FE /* SignalRecipientTest.m in Sources */, - 037C34019A1B36844E4E9813648987D7 /* SignedPreKeyDeletionTests.m in Sources */, - E64845EA6B98E03C0A3D203BF6764971 /* SSKBaseTestObjC.m in Sources */, - E645753D12F0B5C3986E1F21CFA89249 /* SSKBaseTestSwift.swift in Sources */, - 82E518311279E1B94E7C23D3A8D72BD1 /* SSKSwiftTests.swift in Sources */, - 4CCEAD3214F26353934F6CC1BA9446A2 /* TSContactThreadTest.m in Sources */, - CA6ECEB3D4EBDBD05A2AEC034A2A6AB8 /* TSGroupThreadTest.m in Sources */, - 7B1D7E4FD7455825B616B5816268AABE /* TSMessageStorageTests.m in Sources */, - 721953F6826826A4078652F4644BECCD /* TSMessageTest.m in Sources */, - 2E1520A6F21E4CE92850F3964A956506 /* TSOutgoingMessageTest.m in Sources */, - F8348727973684CB27618F5C12D3ED0B /* TSStorageIdentityKeyStoreTests.m in Sources */, - 94ACC4F9730FAB42D341767569A0243C /* TSStoragePreKeyStoreTests.m in Sources */, - 94B22E2E0EE84750C8AF3BD954BB4D2F /* TSThreadTest.m in Sources */, + CD870FBA91A74BEF9097DFD544B8C20C /* FIRAnalyticsConfiguration.m in Sources */, + CC5B55207E70857D45428A94FBCB030E /* FIRApp.m in Sources */, + 9855C5B02F1EA9C73DD5E3617623185C /* FIRAppAssociationRegistration.m in Sources */, + 6456F914A596114014C4DCA871F03FA6 /* FIRBundleUtil.m in Sources */, + 8A944B425D74AC32C4B9ABB998378EDA /* FIRComponent.m in Sources */, + 0CCAFF48183CB84141CDF6BFA7797DD1 /* FIRComponentContainer.m in Sources */, + 20A5D373CCC1CA72090D3BF9E204C61E /* FIRComponentType.m in Sources */, + 40CD205EBD5BE3B49D6DD528B1472559 /* FIRConfiguration.m in Sources */, + 46BF8A31CB8644F72AAB2F85AA8328A5 /* FIRDependency.m in Sources */, + 3C2B88C38D45FB0CF52BDCD7D38817F7 /* FirebaseCore-dummy.m in Sources */, + 9597AF4725817BDB89CCBC85DDC35846 /* FIRErrors.m in Sources */, + EEC00AA5BE7A1DE51CF521F578DEEC27 /* FIRLogger.m in Sources */, + 433CDB5809528CC550567E04EE825D90 /* FIROptions.m in Sources */, + A849124C15BBACCA34C0D90FEC917DC7 /* FIRVersion.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - D5BDB5D6AB8C5B9533196C4AF01A40D4 /* Sources */ = { + D48C7E4C14E893AD8BB49D1C5E554626 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6A1D46C201D56C9B71EFE694E9EECF66 /* Pods-SignalMessaging-dummy.m in Sources */, + 5170F0EB2707A8E8BB2CCB32E216FA70 /* Reachability-dummy.m in Sources */, + 093C1E2270C82C8EE8068A09F64EBBE6 /* Reachability.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - DC9200FA701C85DB06721E35D5831DCF /* Sources */ = { + DC63338943990547A1C95C94B94280BC /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 55059754EC14362558C301998C26C988 /* Pods-Signal-dummy.m in Sources */, + DE6B04751EC2C5D029D6B788143A5A89 /* after.m in Sources */, + B0EECAC2EB8081821F3E107BC00C932E /* after.swift in Sources */, + 1A3270C7B5C2C21CAF208D9E2373FB91 /* afterlife.swift in Sources */, + A990A9ED0D03F27B88980EA356D6A2C6 /* AnyPromise.m in Sources */, + 5E48F6398C1FB9D6E5F3B824693F00E3 /* AnyPromise.swift in Sources */, + 65108BCBF4A53CB6FDB3C45B0A6867EE /* Box.swift in Sources */, + E0457DB1AB05E2846BE349DF572A390F /* Catchable.swift in Sources */, + 1CA629C44F1918A767541BB2953EF236 /* Configuration.swift in Sources */, + 0A5F103281576850768CDB0209A1CB14 /* CustomStringConvertible.swift in Sources */, + 0640D13FDC0BB4260CB5D3197A09599F /* Deprecations.swift in Sources */, + EF41117D178DE1505B3DA6669C1ABA6A /* dispatch_promise.m in Sources */, + 4DE4F07AAEE7A7DA749D59550C0166D8 /* Error.swift in Sources */, + 80E244C42A85ABCCC1C7AE820A07B7CA /* firstly.swift in Sources */, + C014F80026E78A7CC97BA6897B7EE6EF /* Guarantee.swift in Sources */, + A2AD33F1C03E86902448374A04DC5F5A /* hang.m in Sources */, + 3E12FDA70DB59ED3FB1E181B8EAD52F3 /* hang.swift in Sources */, + FF52D80E16396909E6AD1933220A0034 /* join.m in Sources */, + F83949D747B517DC0EB0F249B3F80787 /* NSNotificationCenter+AnyPromise.m in Sources */, + F2738DDCEDE6EA9EF011C980585A8931 /* NSNotificationCenter+Promise.swift in Sources */, + E423DC2B1A24D66E2E76D6822C5EDB40 /* NSObject+Promise.swift in Sources */, + F13F30FAFD8975B5601F38F34E1CE20C /* NSTask+AnyPromise.m in Sources */, + 9C551B96FC8EBEDEA532582F5363456A /* NSURLSession+AnyPromise.m in Sources */, + 8ACFECFC87F1A5537F4AE76DC0BA3EF9 /* NSURLSession+Promise.swift in Sources */, + 5CEC87F21BCFFFAD4BEC4F7272561863 /* Process+Promise.swift in Sources */, + 533CADC70B3DDD72C075CAFE58C4ECBE /* Promise.swift in Sources */, + 2F04DE9F59602B44D52072C52B994EE7 /* PromiseKit-dummy.m in Sources */, + D1172780795D882AD7545634133D7A16 /* race.m in Sources */, + 2C0F9DFF9B5DA0895E6029CC89A75559 /* race.swift in Sources */, + 8FB87B03A4F83540F18774BB42D59DBC /* Resolver.swift in Sources */, + 9EA35BEEC2A5589D791638F16E458295 /* Thenable.swift in Sources */, + 684CBDF2524E67E48E198FBF9A976C14 /* UIView+AnyPromise.m in Sources */, + 784DDA4D2CF8948B086A6D47025D569E /* UIView+Promise.swift in Sources */, + A244B5F78A8EB8C7976AFA6C87E4513D /* UIViewController+AnyPromise.m in Sources */, + 8C001A91EABA08F4E0FFF0564F610B44 /* UIViewPropertyAnimator+Promise.swift in Sources */, + 9F7F630C7EFB1397DDAB62B0140CC186 /* when.m in Sources */, + 6DB2AD7F9EB8371782E4C4992CA8A11D /* when.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - DEF5B5350A12CCA04407D1C4692ED1E8 /* Sources */ = { + DC8B0C59FA6010A06D02D95BDCA04B2B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 91736E2AFB9DD66CCED5E9134AE7AB98 /* CLIColor.m in Sources */, - E0F75492D92BCD0E8A9343B47EC5AAE1 /* CocoaLumberjack-dummy.m in Sources */, - 9EA40525F3A984E78D6D5631D2D082F7 /* DDAbstractDatabaseLogger.m in Sources */, - D8DAF3F9D3B910F80F9D083B29F0DFE4 /* DDASLLogCapture.m in Sources */, - 3B4254C06843859EDF6D435F7B05E146 /* DDASLLogger.m in Sources */, - F113CBBA5B77FD3BB0E8C299F67CD8F9 /* DDContextFilterLogFormatter.m in Sources */, - 6340B9AF306609A7E5294646668DCA63 /* DDDispatchQueueLogFormatter.m in Sources */, - 4782EA00B7D8D0E2C5DADE747D3E981D /* DDFileLogger+Buffering.m in Sources */, - 4D37652D3E93B82EB9ECB7C134B8653D /* DDFileLogger.m in Sources */, - 933DCF0342FD866BA7C62608A8477CD6 /* DDLog.m in Sources */, - A52CF4D3CE8A6AC37BCDCB67EC4C96A9 /* DDLoggerNames.m in Sources */, - B75DF7B860D21CCF89012A1C36299C99 /* DDMultiFormatter.m in Sources */, - DB21442D449B91EC22EE8030058E33BC /* DDOSLogger.m in Sources */, - 322F9B724EAFBC2CB5CA152D23FBE475 /* DDTTYLogger.m in Sources */, + BA4DA6C0DC360DCC467CA91DF5E1D958 /* ContactSortingTest.m in Sources */, + 6797FA759E35237542003A448069E829 /* DeviceNamesTest.swift in Sources */, + 1C53F93C0214D26DCAA142C5E01F7C67 /* JobQueueTest.swift in Sources */, + D1FEE19B05396C4E6DFC8C24906BFB10 /* MessageSenderJobRecordTest.swift in Sources */, + C49B5D33DB925585CB140F67424B8BE8 /* MessageSendJobQueueTest.swift in Sources */, + 01DC3254A010BDFD285E2549837664A7 /* OWSAnalyticsTests.m in Sources */, + 80200D7F6027C254C9435EF33F20E735 /* OWSDeviceProvisionerTest.m in Sources */, + 9D40598D85BF544C8D5981B1AA1D63FF /* OWSDisappearingMessageFinderTest.m in Sources */, + 58C05060E55F5E059A89755AD15099F0 /* OWSDisappearingMessagesConfigurationTest.m in Sources */, + 681810A9F180B727E3067AA0CE801ACE /* OWSDisappearingMessagesJobTest.m in Sources */, + 81FA12A49B86372C727C6C6342E8DB2D /* OWSFingerprintTest.m in Sources */, + CDE26E21085B53BEB4CBCACC6E40975D /* OWSIncomingMessageFinderTest.m in Sources */, + A48C839AEC939CA05914954974A10504 /* OWSLinkPreviewTest.swift in Sources */, + 3C92E851365656CBA6D2DA0344C278B3 /* OWSMessageManagerTest.m in Sources */, + 4077894C81923BC0B6231AC95E544651 /* OWSMessageSenderTest.m in Sources */, + 307CAAF8EFF35222D559AECB8F77762A /* OWSProvisioningCipherTest.m in Sources */, + E6EE7CE89C889499E4C2588C868060ED /* OWSSignalAddressTest.swift in Sources */, + 1C9D76A64EEF2F0E0A7A675E753775A9 /* OWSUDManagerTest.swift in Sources */, + 1385E3C02517F0D8A0AF8AE1ED7B6E23 /* PhoneNumberTest.m in Sources */, + A9D1FA32FEEC8212B73CB12EA3F83DF6 /* PhoneNumberUtilTest.m in Sources */, + 711D666DA08CF1B93322A56BE1F23EB3 /* SignalRecipientTest.m in Sources */, + B9AE5ED068F76319C63DCFBEBCC8E9F7 /* SignedPreKeyDeletionTests.m in Sources */, + 60D814CBB25D41996B60B567804520F3 /* SSKBaseTestObjC.m in Sources */, + 51F8B8D77A6779BEC1139613CE06798A /* SSKBaseTestSwift.swift in Sources */, + 96C8928A98B682A9120FEC924103FF38 /* SSKSwiftTests.swift in Sources */, + 8A49BE50291C4DA5F9FEE4D0E2864016 /* TSContactThreadTest.m in Sources */, + 9560FDA731D090E4866E484005820278 /* TSGroupThreadTest.m in Sources */, + 7BE74B3AE1B8864105A2218E9ED948A3 /* TSMessageStorageTests.m in Sources */, + 5C9216ED6A994B70E7979E3972F011C0 /* TSMessageTest.m in Sources */, + 68F5B19FD34FF4BCFA3B931C2B67EA87 /* TSOutgoingMessageTest.m in Sources */, + 96920D73AE24EF0DC63F51704CD5CCCF /* TSStorageIdentityKeyStoreTests.m in Sources */, + 471425E169A9EAD21F46EF1D4A75396B /* TSStoragePreKeyStoreTests.m in Sources */, + CC26227B14E06F7C04C620ED9263FA89 /* TSThreadTest.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E2E07C68822394CF18B9D3E0B9855476 /* Sources */ = { + E08FC1B4C286281FF63A6BDD9ECBECCE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 19250E42AD9115D73B8F5CF10FCD7110 /* Cryptography.m in Sources */, - 5C61A2D92CC2A94D50686ACB31A78C9A /* Data+OWS.swift in Sources */, - 843CE6E474A5D221E295674410A6BA3A /* Logger.swift in Sources */, - AE79C488DC4151578F42254D264AAF72 /* NSData+OWS.m in Sources */, - 8BF157163197D51A27BB53DBF8FEBE80 /* NSDate+OWS.mm in Sources */, - 6F298201427373AF71B1E4F657FC1C94 /* NSObject+OWS.m in Sources */, - 5E2215A716813575FFEA9098BE6F59BB /* NSString+OWS.m in Sources */, - 9678BE08F64DD03591B54198AC5D8256 /* OWSAsserts.m in Sources */, - B142228CB1AA270B7618FA4C766195D8 /* OWSDataParser.swift in Sources */, - 47E518F944E42847AA9CEE3B07EAF58F /* OWSLogs.m in Sources */, - 91CBF7C10DB50AF2403CB809FEAFD21E /* OWSSwiftUtils.swift in Sources */, - D5642D8BD08C197951AFA42D2DE8897A /* Randomness.m in Sources */, - 329B71C98EDED2BD4BE581BE25F23377 /* SCKExceptionWrapper.m in Sources */, - 5CB0823A3C289E088BBED02A14C8086D /* SignalCoreKit-dummy.m in Sources */, - F85526EEFA0C03D16BC7C55A23C0F7AD /* String+OWS.swift in Sources */, - EE534D3C85FB79C1DE4FC62497738503 /* Threading.m in Sources */, + 9CD7DC9A97DE287370B37380D85DA764 /* any.pb.swift in Sources */, + 4FBDE5B2691E2EE84C0BF5E1F815D665 /* AnyMessageStorage.swift in Sources */, + 41203E4AC0E37A05CB01E9348CAF70BF /* AnyUnpackError.swift in Sources */, + D2CEC5F4703103B0C7E1C6DB8D034529 /* api.pb.swift in Sources */, + BEA92A600349F74C183700DA5C3C8259 /* BinaryDecoder.swift in Sources */, + 1157BE8EA457450A39E761203A4AB6DA /* BinaryDecodingError.swift in Sources */, + 90A368461CB28ED06688F21BAC694F7A /* BinaryDecodingOptions.swift in Sources */, + 4B49BEF87D0A8D58797B4B0A9CA856D3 /* BinaryDelimited.swift in Sources */, + 0B47D2D3804493E953E59A3BE0F5AB72 /* BinaryEncoder.swift in Sources */, + 7FA9415D3A55611DC34BCFD18D733A70 /* BinaryEncodingError.swift in Sources */, + 2BB7272F80A9534FBBABDD5CDBB16D6B /* BinaryEncodingSizeVisitor.swift in Sources */, + 23BD5794E68A739B3B86B2813755FC55 /* BinaryEncodingVisitor.swift in Sources */, + 6C8283E5AC932D821591AD7F31A77F82 /* CustomJSONCodable.swift in Sources */, + 685A566D9213EC4B80DA78CEBC14AE52 /* Data+Extensions.swift in Sources */, + 3083C7CA1E06BBF9FDF24635F4862883 /* Decoder.swift in Sources */, + 850DF344B2C60A71484E5318B4FC90BD /* DoubleFormatter.swift in Sources */, + C83944AFA962216F0121B2C7B456BAB4 /* duration.pb.swift in Sources */, + 6B57FB1F17F49BF92E0A63D271CB0E24 /* empty.pb.swift in Sources */, + 788D0A623C375354AF218057DB0CA8F6 /* Enum.swift in Sources */, + ACC8F8616D347AB6493D9A5DC7B50D34 /* ExtensibleMessage.swift in Sources */, + 4F110D4CF4022A090380ABE908E060A1 /* ExtensionFields.swift in Sources */, + EE28FFE7E070CF7D91847D8451E6493D /* ExtensionFieldValueSet.swift in Sources */, + 7C14F3C130F5116FF785EADD85E3F6FA /* ExtensionMap.swift in Sources */, + 3A8076C7582356FF64A0D43E9BF32605 /* field_mask.pb.swift in Sources */, + B710C7DFB8E8BA00496E41EDC90A0204 /* FieldTag.swift in Sources */, + 4D0D4B04F7A7AAFE675EF1EE2F42EA69 /* FieldTypes.swift in Sources */, + 61DD20842DEA7CCA6FABE4ED2BE19F08 /* Google_Protobuf_Any+Extensions.swift in Sources */, + A2F33D254F74A295DA9BB72A2CFE2ECA /* Google_Protobuf_Any+Registry.swift in Sources */, + B38A9B9432ED11A5CA8BADC39627ED28 /* Google_Protobuf_Duration+Extensions.swift in Sources */, + 627C12CD92F6F282DA1F204834392516 /* Google_Protobuf_FieldMask+Extensions.swift in Sources */, + 660E44B2451B93FEB6B4EE4E090C256B /* Google_Protobuf_ListValue+Extensions.swift in Sources */, + 5A1B126D808D5B1229EB9EDECAAEE33E /* Google_Protobuf_Struct+Extensions.swift in Sources */, + 20B11452EC560629961D12A9A0CC8D91 /* Google_Protobuf_Timestamp+Extensions.swift in Sources */, + DE91659E71FCA3DD559387EA25C2E497 /* Google_Protobuf_Value+Extensions.swift in Sources */, + CEF00E7EC5CFFA66CCF5E470C6496BB3 /* Google_Protobuf_Wrappers+Extensions.swift in Sources */, + 018EE8186E4D3AD5D5BF560725882272 /* HashVisitor.swift in Sources */, + A343334A11024AA0D10827D7C00B8F9A /* Internal.swift in Sources */, + EAAFEB2BF8EBDB2A6E664A3CE5CD6758 /* JSONDecoder.swift in Sources */, + 93EBF31167071A8E1D99E9C5D459C965 /* JSONDecodingError.swift in Sources */, + F7F4B9F83E5F4DCF07D25994D4EE4FF3 /* JSONDecodingOptions.swift in Sources */, + 287C696340E332057B40CAA13D2D204A /* JSONEncoder.swift in Sources */, + 475A96B1638936DF34D70F42ACF476B8 /* JSONEncodingError.swift in Sources */, + 8BD467510BBBA9C4A607F4359E066FCD /* JSONEncodingOptions.swift in Sources */, + 5A313C2FCC4902BF4F0A89F98A72DA66 /* JSONEncodingVisitor.swift in Sources */, + F548CE00E0E836B61E3D9DBFB40F8167 /* JSONMapEncodingVisitor.swift in Sources */, + CD740D99F140D3338B65ED5C8D7E40EA /* JSONScanner.swift in Sources */, + BB7185FF03E57513A62CB18A503F7D9C /* MathUtils.swift in Sources */, + 8F36D2113BD3BA9BACE22514EFC90080 /* Message+AnyAdditions.swift in Sources */, + 9BF73145B5FD44A926D84314A5F2A0C0 /* Message+BinaryAdditions.swift in Sources */, + A9BA056A225F69809AFA8D9852D8C26B /* Message+JSONAdditions.swift in Sources */, + 834307749F48E04574EFBFEFEBA1E933 /* Message+JSONArrayAdditions.swift in Sources */, + EE24C845ADE4551CAC2A9CAF4FB10D09 /* Message+TextFormatAdditions.swift in Sources */, + 5AB3920581888166B96701C872AA404D /* Message.swift in Sources */, + E589665DD38EFD89A23FAAD56F948CF5 /* MessageExtension.swift in Sources */, + D6EE616816ECE8A76942402059593C26 /* NameMap.swift in Sources */, + 001E740E3C819F8DDD2076C9F6228181 /* ProtobufAPIVersionCheck.swift in Sources */, + 9C7EE04912C0955799B5A1523ABDA5E3 /* ProtobufMap.swift in Sources */, + 0127A2744CCF7DF99421CEC63A5336C6 /* ProtoNameProviding.swift in Sources */, + 07DD706F69DC36FF757B2C784A94446F /* SelectiveVisitor.swift in Sources */, + 3B559E0F04EEF5967BE08B3C3523D3DC /* SimpleExtensionMap.swift in Sources */, + 09ABEE9B89BDAE74D5DCF898B3AC24BA /* source_context.pb.swift in Sources */, + 4525A4EF33025D245902107D64CAB2C3 /* StringUtils.swift in Sources */, + 83C3077E7A026DB16F536ECC4755AC20 /* struct.pb.swift in Sources */, + 45DBE6BA2144F1A84A9927313C36D79F /* SwiftProtobuf-dummy.m in Sources */, + 6563AB19375BEFCB6EE6F36C97BDFAB9 /* TextFormatDecoder.swift in Sources */, + D3EFA396DC2B68FC47C6A5A192DDE657 /* TextFormatDecodingError.swift in Sources */, + AFFBB7254B57E27C54649394DB61F0D2 /* TextFormatEncoder.swift in Sources */, + 28945DFE3346E44C30414D73E3F3D01E /* TextFormatEncodingOptions.swift in Sources */, + D1647FE0C02CB96C8A18B390A86575BC /* TextFormatEncodingVisitor.swift in Sources */, + DEA297C52236E6D9A9CC74A56867CC6F /* TextFormatScanner.swift in Sources */, + B388C0B7D0B9D5A462492513C4B2140A /* timestamp.pb.swift in Sources */, + F2D471F3EE5DDD0A7463976EA097084F /* TimeUtils.swift in Sources */, + D20984D4F0C3B64A245316D64EA481AC /* type.pb.swift in Sources */, + 2ABBDD6D220F163F327C19E9BFDB20D4 /* UnknownStorage.swift in Sources */, + 3D75140CEA81E043F1AD8036CE3E8CE8 /* Varint.swift in Sources */, + A8F6321D35D5EDDEFD30E25CC7D984FD /* Version.swift in Sources */, + CF63B4C3FF2460D52FD866F025EF1C10 /* Visitor.swift in Sources */, + D88B227663DBEE2951637CB5719104D7 /* WireFormat.swift in Sources */, + 87576E93050C0A1C29B1501A52DCD6C6 /* wrappers.pb.swift in Sources */, + C12CADB6D3BD1B17DDA90960D9616F46 /* ZigZag.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - F0C8ED209C7F02F884583A96BABD7AF5 /* Sources */ = { + E792FDF27E5E39F760D0C359876934C4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0C97DC9204A3AAAC086DABE759CE493F /* any.pb.swift in Sources */, - F47DB54208E012D415139FDD90CF4E40 /* AnyMessageStorage.swift in Sources */, - 99EDA89FB104E3BB5C75189E62EE6929 /* AnyUnpackError.swift in Sources */, - EFF31FDD0BF8EBC1386D6289F5B7E543 /* api.pb.swift in Sources */, - EC121B44F70038CEEA799AFCA69285D0 /* BinaryDecoder.swift in Sources */, - B1AA8B601FDB04E0DE7FDD875E1D1A17 /* BinaryDecodingError.swift in Sources */, - A0B72EC2511DE36ACF072BE26C1F089A /* BinaryDecodingOptions.swift in Sources */, - 65EB3E82A42D614E2363DC162F96A384 /* BinaryDelimited.swift in Sources */, - F909FDD79F7118A36F251D80F6FB018A /* BinaryEncoder.swift in Sources */, - 4B423AB34F46A0D8D249FB86FD045BB6 /* BinaryEncodingError.swift in Sources */, - 33CC298C74D9BF171892BBB5D898DCBF /* BinaryEncodingSizeVisitor.swift in Sources */, - 1A497961796C54481C39CB2434BD803C /* BinaryEncodingVisitor.swift in Sources */, - D2ED14DFD9DEAAF3786227629E906CC5 /* CustomJSONCodable.swift in Sources */, - 22C3AC67A23197336F451124DCBAF96A /* Data+Extensions.swift in Sources */, - 264EF44AE27768106FCD2BCDFB84EC03 /* Decoder.swift in Sources */, - 207C6D42641A2403EE4A78CC76F6AB1C /* DoubleFormatter.swift in Sources */, - 6F887A36A628ADC6BDAC339B747E9777 /* duration.pb.swift in Sources */, - A6F34229CA98A194442EF9C73E7F85CB /* empty.pb.swift in Sources */, - 56721F54D45B5F2E61F249893E9F9559 /* Enum.swift in Sources */, - B14A252B7094417ABCC40D23A642F1FD /* ExtensibleMessage.swift in Sources */, - 1A904BF9BC3D463A02C09905AC0A906C /* ExtensionFields.swift in Sources */, - A84CF48E929B89CB77535A408D1B9566 /* ExtensionFieldValueSet.swift in Sources */, - B0148D1CCA6660C2BA6C332A4C853EAB /* ExtensionMap.swift in Sources */, - C1F4EFF37C2345DFE67760FE998D3256 /* field_mask.pb.swift in Sources */, - E5E55D2D69197B95B20613B7ED44ADF5 /* FieldTag.swift in Sources */, - 84D4DE623C60BEC85DDE9F76DF93924B /* FieldTypes.swift in Sources */, - 00890C8F6CFDA939D53EC82BF5CA0D28 /* Google_Protobuf_Any+Extensions.swift in Sources */, - 88819EC5B1174B0051C054A6F5177328 /* Google_Protobuf_Any+Registry.swift in Sources */, - 1E21EC95965782FA1E81561C17BC2410 /* Google_Protobuf_Duration+Extensions.swift in Sources */, - 5E8D0C4A2C1820458964ABA776C1A364 /* Google_Protobuf_FieldMask+Extensions.swift in Sources */, - 9DD1A1338FFE0ACE223C300CE6B0291E /* Google_Protobuf_ListValue+Extensions.swift in Sources */, - D4DA41E6F03CC3B92CF8983BB30E8309 /* Google_Protobuf_Struct+Extensions.swift in Sources */, - 6CC50948E65436E7B2299B1348AE81BD /* Google_Protobuf_Timestamp+Extensions.swift in Sources */, - 3741BB8B2FCE60C1A4C2436E4998FBB7 /* Google_Protobuf_Value+Extensions.swift in Sources */, - 7B4BC195EA1F01AFAACFDA1E46462DF2 /* Google_Protobuf_Wrappers+Extensions.swift in Sources */, - E9F7957DB091F2A5A0C41C12DF2147E7 /* HashVisitor.swift in Sources */, - 9B2C508ADCF8A6256C3FCE8A3DFCCDC1 /* Internal.swift in Sources */, - 488A88EFB0611097C486023778AAD898 /* JSONDecoder.swift in Sources */, - FE7E426D73D60B89253014E81A9F9295 /* JSONDecodingError.swift in Sources */, - 3F84223A489E1FDE7B8FD4A85BD8C1A5 /* JSONDecodingOptions.swift in Sources */, - D818FC85F0855D910B2DE308C13866E3 /* JSONEncoder.swift in Sources */, - A7809021FAAFFA9606E6E382725E9CC5 /* JSONEncodingError.swift in Sources */, - 9183EF10CB689AA44FFD40EFCD56A44C /* JSONEncodingOptions.swift in Sources */, - F42170AB4A2A71405531CB1366864BE4 /* JSONEncodingVisitor.swift in Sources */, - 6DA7934F52B84314ABBCD6FE0485769B /* JSONMapEncodingVisitor.swift in Sources */, - 86230928D0ED81C968B73FAB37D4BF22 /* JSONScanner.swift in Sources */, - 673670398792241213C75211A1C44E6B /* MathUtils.swift in Sources */, - 188737D310F9C9AC7B2EC4E44B06D417 /* Message+AnyAdditions.swift in Sources */, - FB9F204734EDAC28C884AF010E55F109 /* Message+BinaryAdditions.swift in Sources */, - 2B0F6B539F45D2C5D6C72106E79EE0BD /* Message+JSONAdditions.swift in Sources */, - 03A9A0DD5CA7FD9E779182015F5D323E /* Message+JSONArrayAdditions.swift in Sources */, - A0DC25189B6068DE17D86A4ED0022A81 /* Message+TextFormatAdditions.swift in Sources */, - D99501FABDFE8225ED24D9B333336D3E /* Message.swift in Sources */, - 05AAB9C31FE127534372E17A42B2D5C1 /* MessageExtension.swift in Sources */, - 0B7328913BDD358D766F680E61E869FE /* NameMap.swift in Sources */, - 5303CF7F88D3C88C20401950ED55F4A0 /* ProtobufAPIVersionCheck.swift in Sources */, - 8A886C22108DFB14F2EE1C0AE4FEDAD4 /* ProtobufMap.swift in Sources */, - AE8ECAC67870F5F638ADAEAD69AB59DC /* ProtoNameProviding.swift in Sources */, - 49139E1CA45B7ADFF9A8BAAB1BEF36F8 /* SelectiveVisitor.swift in Sources */, - 9CB1F5373D7EB32D57DA25B1B8456E2C /* SimpleExtensionMap.swift in Sources */, - 4986916E2F767E359022AA9576E1CAA7 /* source_context.pb.swift in Sources */, - 18736EA95940738DA2A7B039E65DB414 /* StringUtils.swift in Sources */, - 45A98B1278F1FBA0A3AE6C03958930EF /* struct.pb.swift in Sources */, - C30DE6C01B9DDC1CA9C8EBA7F4EC1C52 /* SwiftProtobuf-dummy.m in Sources */, - 95B2E518F6E730C1837CBA62FA412FD5 /* TextFormatDecoder.swift in Sources */, - 276AB03438DF7867C408A3600B358906 /* TextFormatDecodingError.swift in Sources */, - E23759912ACA8E17CBFB2C712A28840D /* TextFormatEncoder.swift in Sources */, - F8805CB1040E3121D28244CCF68D8BB2 /* TextFormatEncodingOptions.swift in Sources */, - 950B0967F802E39AB339F898DA244F33 /* TextFormatEncodingVisitor.swift in Sources */, - CA6E07D14F6C5BCF36961DAC084D6837 /* TextFormatScanner.swift in Sources */, - 3BF804531DF84B57B1D8C17288DA4415 /* timestamp.pb.swift in Sources */, - 3D5C5D0A2DCCA7E1DA09D64D2E015D48 /* TimeUtils.swift in Sources */, - AC4D84FD6109FBC96A39AAA0DB4A5E5C /* type.pb.swift in Sources */, - 7994F522F0F1403B155E731F7BD010E5 /* UnknownStorage.swift in Sources */, - A79FED9A78BD863EC34585F244752005 /* Varint.swift in Sources */, - 67D44B455D0B2880A07DEB4D2673A82E /* Version.swift in Sources */, - 7E6B5C3B68E6FFE7A1E0A5D8F8817C89 /* Visitor.swift in Sources */, - 5C0970EFD1B99DB2D7EFA15C28AE034F /* WireFormat.swift in Sources */, - 1BDE11BF6CB38AE367F906E69E657A6F /* wrappers.pb.swift in Sources */, - EF0097C786C146AB48EA0828A21F9EA1 /* ZigZag.swift in Sources */, + 1673073AD6EFB6D0CDBC9C9D59E252FF /* Pods-Signal-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - FD49A8207A456747775B37CFDA0C36C3 /* Sources */ = { + F2D9343163E5DE14284325B13CEEE466 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 82604F83A5AF29532D3BFF85EC5B4F56 /* Array + Equatable.swift in Sources */, - 5B478161FC4F654D215583F9236ADDAF /* AtomFeed + mapAttributes.swift in Sources */, - BB7FA33AC6339416B7A5C735E82BD0C2 /* AtomFeed + mapCharacters.swift in Sources */, - 34E925734D7D75657CCE5CAF53F43CD4 /* AtomFeed.swift in Sources */, - 2567BE31AFE05DD403B6B2AE553986D3 /* AtomFeedAuthor.swift in Sources */, - D5AEB5B40CF47E3065F9163AA923EBFC /* AtomFeedCategory.swift in Sources */, - 719DAE00C479AFAA019E0D97EC47AC94 /* AtomFeedContributor.swift in Sources */, - 181CB1850846EDC867CB0F9BCA70BB0E /* AtomFeedEntry.swift in Sources */, - 3951DF559C577DF9F5ED5249B3F02AB9 /* AtomFeedEntryAuthor.swift in Sources */, - B9653B177039D6A6E08BD2A67245E3F6 /* AtomFeedEntryCategory.swift in Sources */, - FFC0978E1A05A9976A1AC469EE6E5D8F /* AtomFeedEntryContent.swift in Sources */, - 26448568EFF2916BFC49818D6D37CECC /* AtomFeedEntryContributor.swift in Sources */, - 06338E37E9E8F454661D49C857B5DBE1 /* AtomFeedEntryLink.swift in Sources */, - F87A5F053E8E5AF9716DF06546BE44FC /* AtomFeedEntrySource.swift in Sources */, - D8D335189A48A9228E9183FE8B2C772D /* AtomFeedEntrySummary.swift in Sources */, - 53026AF1FD91A62A3D0A8BD941C52AC0 /* AtomFeedGenerator.swift in Sources */, - 44EACC9F62A1DCDE168DBD0F63103D3D /* AtomFeedLink.swift in Sources */, - F9EC1E923FE657C54C2B1CA9085365EB /* AtomFeedSubtitle.swift in Sources */, - B46C53A57BC444DF0F92EBC7E35B53B1 /* AtomPath.swift in Sources */, - 58D2F8374D0106C4A881D469C98594FE /* ContentNamespace.swift in Sources */, - 69F36718C8993ADA24BD6E6EAA77ECCA /* Date + codingStrategy.swift in Sources */, - E534D3687A5A7F8BD1D2442336C36FCF /* DateSpec.swift in Sources */, - 383868E60257C963BBF4372E0D6FD03C /* DublinCoreNamespace.swift in Sources */, - 0302CF99CACEFCA096BCFC08BC338B27 /* FeedDataType.swift in Sources */, - 980FFC0375E2CAB4E41B1CF30793E051 /* FeedKit-dummy.m in Sources */, - D520E3D25CB3930F04FE63D8024CC88B /* FeedParser.swift in Sources */, - A0236666FFEA162113F41BE30BB7993C /* FeedParserProtocol.swift in Sources */, - 165A7D5FE833581378B64886139984BE /* ISO8601DateFormatter.swift in Sources */, - 1C76DD66F66723CE93C991F7FA3BD3D7 /* iTunesCategory.swift in Sources */, - 351FBFC14A09CB1D718E6D9F0C701D6C /* iTunesImage.swift in Sources */, - 820F0647A7CF74D111A85A0939DA0875 /* iTunesNamespace.swift in Sources */, - 9E3992ED1B3EF0490F46503A585A8A61 /* iTunesOwner.swift in Sources */, - B048C2B4BBDDA6684CFE57A4DB92013C /* iTunesSubCategory.swift in Sources */, - 7CDC813B1129E5711A801B135B122D28 /* JSONFeed.swift in Sources */, - 48970EF0BDE3F8DCCBC26A126D341D66 /* JSONFeedAttachment.swift in Sources */, - 4B59FA30C9662AF56C481B8251715CBC /* JSONFeedAuthor.swift in Sources */, - 1E85F75E55733473F1AD318440DFF7DE /* JSONFeedHub.swift in Sources */, - B398631458DAD7C88F35E6D888DFA7D9 /* JSONFeedItem.swift in Sources */, - 8FA5256BCBF0E8C90081D5604A6812B6 /* JSONFeedParser.swift in Sources */, - F8EF8B024BA65ADFC6D06AD4E775282E /* MediaCategory.swift in Sources */, - 72CD890EE6F76A5B283A5181D1CD6E78 /* MediaCommunity.swift in Sources */, - 9BEE1940236918098A74DFB1D09E43B1 /* MediaContent.swift in Sources */, - 73C58A6053E9423DCD2C60FEF51E0A65 /* MediaCopyright.swift in Sources */, - DA96101C40B9A4122344E0D6918B8FA5 /* MediaCredit.swift in Sources */, - 3791F1776C52034C31CF4E72674F223C /* MediaDescription.swift in Sources */, - 1AF3EA92AAC531D2D38F0F98BB7D6449 /* MediaEmbed.swift in Sources */, - 12691210702D589FBFF904625D400C9E /* MediaGroup.swift in Sources */, - 8681085D8D97D2C438A21DB38A5F67D4 /* MediaHash.swift in Sources */, - 016D7124F7069BFE59E2A039492BB164 /* MediaLicence.swift in Sources */, - F95F7D01CA93726D91B4F18993221D56 /* MediaLocation.swift in Sources */, - BDDAF73ABB19067646645C67ABAE4377 /* MediaNamespace.swift in Sources */, - 604910B3C6CAEDA1CD0265964DFCF75A /* MediaParam.swift in Sources */, - D9D7DD6BBF4770890A12465F52652318 /* MediaPeerLink.swift in Sources */, - A60CB4A53FBF253AD054A0ED15C0E866 /* MediaPlayer.swift in Sources */, - 6DF059C4AA4C0F55B99D884D9129446F /* MediaPrice.swift in Sources */, - D9949546688AB1400455302DD51DC384 /* MediaRating.swift in Sources */, - 70BBF9A82E7C720EF7431224A573C047 /* MediaRestriction.swift in Sources */, - 31C8946FBE5A61B00616CA761D25264C /* MediaRights.swift in Sources */, - AC05E31094319FFFCB6FB87B1FB59C2A /* MediaScene.swift in Sources */, - 5C219E013C9A9B8E8BE37ECCA452F416 /* MediaStarRating.swift in Sources */, - 4DE97D52389F967A89165BF30EC8CFF0 /* MediaStatistics.swift in Sources */, - E8DD324DB6EE5BD32B8FD84409281769 /* MediaStatus.swift in Sources */, - 1D2F78D99CA6579B6588419F95C83852 /* MediaSubTitle.swift in Sources */, - 5B7586C7F2F35D7CAEE877736A38698B /* MediaTag.swift in Sources */, - 5B2C18A4FF9B2A3457FE36F2BE76B864 /* MediaText.swift in Sources */, - 17ACA18F4654347467F329E555DCF9DC /* MediaThumbnail.swift in Sources */, - 289A6EA122E46639E44D833F6198E340 /* MediaTitle.swift in Sources */, - B042DB6D0924815F524A0804A26B6D47 /* ParserError.swift in Sources */, - A58F8187FE2E389212FE8141FC952085 /* RDFPath.swift in Sources */, - C716B1400E12E80FF2B7577F7E7BECD6 /* Result.swift in Sources */, - 1E52CBE1DFA301C735AB1265ECD34ECB /* RFC3339DateFormatter.swift in Sources */, - 3A885AEFA394C81AB70861493004ED21 /* RFC822DateFormatter.swift in Sources */, - 6202693BF2A7571711B93572A7F20D65 /* RSSFeed + mapAttributes.swift in Sources */, - 936EE6851AE9B32F3F05FDAD2CA34C5B /* RSSFeed + mapCharacters.swift in Sources */, - 6A727B3A06392FE6B38D8F235A5E4E0F /* RSSFeed.swift in Sources */, - A29ABAC8F52DD9A5F498D92D1F30C035 /* RSSFeedCategory.swift in Sources */, - BE933BC2A1D4822F8EE9B32C6493E1F8 /* RSSFeedCloud.swift in Sources */, - 955FCEBE425D7765E40541B3FF7E4BD9 /* RSSFeedImage.swift in Sources */, - CC581EF4C82343357E311A87D9C935F5 /* RSSFeedItem.swift in Sources */, - C72FE4420E88D7A3CE401C37246CE52B /* RSSFeedItemCategory.swift in Sources */, - 3854A6C98B14CE54676F3B7843627696 /* RSSFeedItemEnclosure.swift in Sources */, - 5C19E1DE6131D425456AB57672C21A7D /* RSSFeedItemGUID.swift in Sources */, - 3E0D9F916C09E4A55F13E053AA2F2AD6 /* RSSFeedItemSource.swift in Sources */, - D726E5C47E57FB7E50C13F259CB907DF /* RSSFeedSkipDay.swift in Sources */, - F4386D62AB769C637F8C5FFF2ABA0AE5 /* RSSFeedSkipHour.swift in Sources */, - EDF10488AB13C7C3E006C5D3616CDE62 /* RSSFeedTextInput.swift in Sources */, - DAF00D9E7C3F1F88156BB2D589462A29 /* RSSPath.swift in Sources */, - 1FECF196C2B9344978A46BE98E7259B6 /* String + toBool.swift in Sources */, - 9522F0C447C872D34EEE1ED6223C87BC /* String + toDate.swift in Sources */, - C9102BD9BDA0227507CF4E610469A022 /* String + toDuration.swift in Sources */, - 06CB71D943D6DD75B018EFE782F8D5ED /* SyndicationNamespace.swift in Sources */, - D024B1A76E0D0944A6AF527B2572F75A /* SyndicationUpdatePeriod.swift in Sources */, - D637FD7ABF4CAFA26637E2788CFEB614 /* URL + replacingScheme.swift in Sources */, - 7ED05970D0C07F98830EC3070E6FDFFF /* XMLFeedParser.swift in Sources */, - 69E02FBF6E41A07E0F5CB6791A28C425 /* XMLFeedType.swift in Sources */, + 08D9F9645B70CA43F84BE6BEE8293CFC /* Cryptography.m in Sources */, + 2C8D0D34A5339DF16716028328678F83 /* Data+OWS.swift in Sources */, + 2744B0B909BF0D34EEC4B2F01DDC8F78 /* Logger.swift in Sources */, + D9A6F02066EFF7447E52AC16258759F4 /* NSData+OWS.m in Sources */, + 485ABDAA027458B0CFD3C55E33C5A25E /* NSDate+OWS.mm in Sources */, + E07FD0BD613022D7C2330E935EECADC6 /* NSObject+OWS.m in Sources */, + 46C8C99C685DDA07977CA3D218B8756C /* NSString+OWS.m in Sources */, + AECB509C735AAF93FB96006958CCFFAD /* OWSAsserts.m in Sources */, + 939D6513483D43976EDD9CC6EA9C4E3A /* OWSDataParser.swift in Sources */, + 157559907143C4064845C7CCCC872BC3 /* OWSLogs.m in Sources */, + 66436E507A371CE4A41811BB3616CC21 /* OWSSwiftUtils.swift in Sources */, + 5B83D8515EAE1548FA5B37558EDDF248 /* Randomness.m in Sources */, + 7EB8A90057931AE23876608E593AB337 /* SCKExceptionWrapper.m in Sources */, + B0F941C369A78583694D0A99FFE6872C /* SignalCoreKit-dummy.m in Sources */, + 8D4AA2510F82FC2EC9F25B17D4D752EB /* String+OWS.swift in Sources */, + AA41385FEEB700F56E66958DE9D2C4E3 /* Threading.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - FDC143084AC1A4E162FEAA7470D837F4 /* Sources */ = { + FAF61EACB857AC67E1A7566B54A8ECDB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2B39667BA5B6ABDF4E6BF673A2DB1448 /* libPhoneNumber-iOS-dummy.m in Sources */, - A4E25BE3C406A95BF2B37608624D2FFA /* NBAsYouTypeFormatter.m in Sources */, - E49109AC001FC49C68D9CE0483C4FB13 /* NBMetadataHelper.m in Sources */, - D3049B0F0A5739A50E46F0D1DCD2FAEC /* NBNumberFormat.m in Sources */, - B224AB92D1F8FCC45ACC3540F46C78EC /* NBPhoneMetaData.m in Sources */, - C4701AD9798DAB082C0D0EE682DA2612 /* NBPhoneNumber.m in Sources */, - 513A89B98D5782FD1F3E0E5223CFC56A /* NBPhoneNumberDefines.m in Sources */, - F26CCEBAF577EF4A01B03612884AF311 /* NBPhoneNumberDesc.m in Sources */, - 485CD6A0B2F4503F11727E73E3F266F0 /* NBPhoneNumberUtil.m in Sources */, - 555206604932D809E42B5250544FE2C7 /* NSArray+NBAdditions.m in Sources */, + 7AE4ABD34A83BE2B16E4CA8396D032F9 /* NVActivityIndicatorAnimationAudioEqualizer.swift in Sources */, + 47CC807DBAA93D927002A8B14CDC79ED /* NVActivityIndicatorAnimationBallBeat.swift in Sources */, + D6D3F48F9A54666A073FEE466AB43861 /* NVActivityIndicatorAnimationBallClipRotate.swift in Sources */, + 4DAB5BD70EE316622AE494F730624ED5 /* NVActivityIndicatorAnimationBallClipRotateMultiple.swift in Sources */, + 95F8928596D5590820BCC0FD88AABC9F /* NVActivityIndicatorAnimationBallClipRotatePulse.swift in Sources */, + 78E4C51B3F47DC304CBFE300233E2B13 /* NVActivityIndicatorAnimationBallDoubleBounce.swift in Sources */, + CF9E66DCC75B509A8AA03EF5C9DA1C73 /* NVActivityIndicatorAnimationBallGridBeat.swift in Sources */, + AA2AAEC9BC023FDA750F8872F2672C31 /* NVActivityIndicatorAnimationBallGridPulse.swift in Sources */, + 4A9C47F0CD672869C6CAF4B0215E35F4 /* NVActivityIndicatorAnimationBallPulse.swift in Sources */, + 99E8408161C229C41283429CD754CD63 /* NVActivityIndicatorAnimationBallPulseRise.swift in Sources */, + 0FDB6E62909002078F03AF6B5DA83D26 /* NVActivityIndicatorAnimationBallPulseSync.swift in Sources */, + 0C708B48D275B008E68C4DF6318E9FC3 /* NVActivityIndicatorAnimationBallRotate.swift in Sources */, + 3D870506AD2AD8E2378570C899E0C4F2 /* NVActivityIndicatorAnimationBallRotateChase.swift in Sources */, + 74F9114B752F4E11283DC618A934070D /* NVActivityIndicatorAnimationBallScale.swift in Sources */, + F211C969483E4A4B5F8D825216F567E3 /* NVActivityIndicatorAnimationBallScaleMultiple.swift in Sources */, + 0C812778FCFD93FA6CAB01BCD0AEDADF /* NVActivityIndicatorAnimationBallScaleRipple.swift in Sources */, + 6E5AB14E568D7F242996B89370428FC7 /* NVActivityIndicatorAnimationBallScaleRippleMultiple.swift in Sources */, + BEE906FCA28B277A6F9EA54895022F91 /* NVActivityIndicatorAnimationBallSpinFadeLoader.swift in Sources */, + 4E98AB2C0DE314ABEA7DE1634E322F81 /* NVActivityIndicatorAnimationBallTrianglePath.swift in Sources */, + AB9458DDF7388C0FD6F99047B3384268 /* NVActivityIndicatorAnimationBallZigZag.swift in Sources */, + D036D7E5799AC507D663619DB8AF7D8A /* NVActivityIndicatorAnimationBallZigZagDeflect.swift in Sources */, + E702B0EAF639B4D6369E34A66F692A18 /* NVActivityIndicatorAnimationBlank.swift in Sources */, + DFC02478E89C334BB84FA6A23C5FA9F5 /* NVActivityIndicatorAnimationCircleStrokeSpin.swift in Sources */, + A1CB7C2D69E48C41EA10E5C79D4F8668 /* NVActivityIndicatorAnimationCubeTransition.swift in Sources */, + 8E949FD907FFED68DE9EEE8650292CAF /* NVActivityIndicatorAnimationDelegate.swift in Sources */, + F5ECF03C605AF7A5EDB7024CD3BFAA86 /* NVActivityIndicatorAnimationLineScale.swift in Sources */, + 213C55AC1577BF0AAF6685445603C06D /* NVActivityIndicatorAnimationLineScaleParty.swift in Sources */, + 9F0F977FCAC82102A0591CE13F8960C9 /* NVActivityIndicatorAnimationLineScalePulseOut.swift in Sources */, + F97C0DF34B65F826A28F71FB70023BA3 /* NVActivityIndicatorAnimationLineScalePulseOutRapid.swift in Sources */, + 5FEAF94A4F5880E1A1CF3AE819D360BA /* NVActivityIndicatorAnimationLineSpinFadeLoader.swift in Sources */, + 29490DFF1824C489D62285FA4EE4BF41 /* NVActivityIndicatorAnimationOrbit.swift in Sources */, + 76CC0559CF8DED5278C504ADB7F3A5D7 /* NVActivityIndicatorAnimationPacman.swift in Sources */, + 83A8ECE83C55219264BBB788F73F872D /* NVActivityIndicatorAnimationSemiCircleSpin.swift in Sources */, + E8AE126C1807B277F05B0B6D46F63A5D /* NVActivityIndicatorAnimationSquareSpin.swift in Sources */, + DD0F4C464ED72C815914E36FBE59B663 /* NVActivityIndicatorAnimationTriangleSkewSpin.swift in Sources */, + 142A1FBA0CCDBFB31255836D027E2471 /* NVActivityIndicatorPresenter.swift in Sources */, + 0BE9AF15E1D7E145D43DC5AED899C1D4 /* NVActivityIndicatorShape.swift in Sources */, + A3A1764F1626A387F859ABC76491D463 /* NVActivityIndicatorView-dummy.m in Sources */, + 812D1EC230AB0A9463BA854915DE0D7C /* NVActivityIndicatorView.swift in Sources */, + F773DE3D6CA428B2068453547A2FAF6C /* NVActivityIndicatorViewable.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 00994DD42AA1613D7DD0F9C476C89C89 /* PBXTargetDependency */ = { + 00554CCF52910234C6BCCF1533255CCE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = D71E111998BF987CF39632FDC4697C51 /* PBXContainerItemProxy */; + name = "Pods-Signal"; + target = 5E1CA8DF6C68BB9B63134EB9BA3CB8EF /* Pods-Signal */; + targetProxy = 1C83813CCDAD703CBDE36FAECE195BEB /* PBXContainerItemProxy */; }; - 0214D0FA3825C6E3556EEC7FACBC37FA /* PBXTargetDependency */ = { + 0216334744D1491A2C125A4D1689CD6D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalMetadataKit; - target = 9BD1D084788925526680BE28E517A85A /* SignalMetadataKit */; - targetProxy = 5C78133F9CD115CB20D1395F705E8F0E /* PBXContainerItemProxy */; + name = YYImage; + target = B2DB9200FF6BA441B3CCBBAC63D08884 /* YYImage */; + targetProxy = 033DC7B5E1E9B949570985F08DBA616F /* PBXContainerItemProxy */; }; - 024442ADE38BB0279C3A40AD7B522D13 /* PBXTargetDependency */ = { + 02C9E52AA8527199653CE370BE720360 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromiseKit; - target = 41534CD75578C922D789F429B9933B2A /* PromiseKit */; - targetProxy = 0DFE29CDA30FFD3C293114617D5DBA4D /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 94A0657092D69CD6359F167351E11C9E /* PBXContainerItemProxy */; }; - 036A09EBC84A09351C74D0416041384D /* PBXTargetDependency */ = { + 02E05DA06842368200AC65D3EBCC8322 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = C536E4747902DD8F646C4FFF923EF110 /* PBXContainerItemProxy */; + name = YapDatabase; + target = 9BD6ECD0418ADCD6F18C45FA8DA2E165 /* YapDatabase */; + targetProxy = DD2F7C18920600EB72C86550A93D2812 /* PBXContainerItemProxy */; }; - 03794F12EEE88A38C22E3BDE46C91787 /* PBXTargetDependency */ = { + 050D395286BB8C9C1CBF46A8473753EA /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SSZipArchive; - target = EF5739B62546C471AFE69E4DF4D2B9FC /* SSZipArchive */; - targetProxy = BE07E0A08A15B5F3F7311B69106AAC30 /* PBXContainerItemProxy */; + name = AxolotlKit; + target = A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */; + targetProxy = EE09F0D205826498C75B10811A4DAFD1 /* PBXContainerItemProxy */; }; - 04CC6153B1954599BEA23E1D0744CC95 /* PBXTargetDependency */ = { + 0587BF1C3805F8AABCA88E7EFFDB3BDE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = CCA2F4941BF109B1FFB5F63CDDE50D3E /* PBXContainerItemProxy */; + name = AxolotlKit; + target = A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */; + targetProxy = C9DB9ACDDF27E14B34A50221499A5D0F /* PBXContainerItemProxy */; }; - 075E67D4B53D3A8EF0D4FB9D041E95E8 /* PBXTargetDependency */ = { + 06BE226F36D41293F713B613B662DFC5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalServiceKit; - target = A16588799C7A0AB3A5ACEF8339CCB8BC /* SignalServiceKit */; - targetProxy = 72E91921602F2614502672656C9E72E8 /* PBXContainerItemProxy */; + name = Curve25519Kit; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = 8E724737856B675A9FD984E5EA78B166 /* PBXContainerItemProxy */; }; - 0883BC413A17C7489766FB93276C1714 /* PBXTargetDependency */ = { + 071241FE070D4A4DC882716A307D3560 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromiseKit; - target = 41534CD75578C922D789F429B9933B2A /* PromiseKit */; - targetProxy = E6C8DF5BB3A532874EF92CE3E7BD8FE0 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 6E5ACBDC08C97AC3A8D149993E3AD092 /* PBXContainerItemProxy */; }; - 090A8EDF2EEBEF146AEFD737C95D6D9F /* PBXTargetDependency */ = { + 07810E61BF835317E19116B924B6FEA5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AxolotlKit; - target = FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */; - targetProxy = AAF36713DAF5A7A701B6DB993FDA3F80 /* PBXContainerItemProxy */; + name = SwiftProtobuf; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = 086716F1634A9497689D726A7240259D /* PBXContainerItemProxy */; + }; + 0E38F288CF2EA362757A2B9A97EC29EB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = HKDFKit; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = 5C09E06015F2400F1A52A34F20FA9A23 /* PBXContainerItemProxy */; }; - 0D2C3DDDC23231FD322F6D70348AD0A8 /* PBXTargetDependency */ = { + 0F89926DEA8F4B0540ADF5796D2C6CD9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 2BE2DFB6676B0C0F46489FCF3A12C967 /* PBXContainerItemProxy */; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = 5E2948A2D04F9CDC65F432205B6FF841 /* PBXContainerItemProxy */; + }; + 10434D10BB0456F84EC9224849B02CBE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "libPhoneNumber-iOS"; + target = E9846A58E29BC524F26ACBD37F42AB9B /* libPhoneNumber-iOS */; + targetProxy = 2D95855A7DC7BB516EF20F153B2B36A5 /* PBXContainerItemProxy */; }; - 1030E3CB2029DB4DCCC36C1C15A9522A /* PBXTargetDependency */ = { + 1261B7CA97B3E8FBB5D1F3976F7E75F7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Mantle; + target = 02AD8789483D0C881D9CCA5ABB184877 /* Mantle */; + targetProxy = 59EA33AC54CF26470DACBCE6F107A764 /* PBXContainerItemProxy */; + }; + 13A454898011288B5CBFF1709137F3A8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = 5A2AF2FA9A2192F3A3B77A67628C34E0 /* PBXContainerItemProxy */; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = 89CB93B86F845D500D19CDC0694D168B /* PBXContainerItemProxy */; }; - 10A41C4F55F95864AC076231DD409E08 /* PBXTargetDependency */ = { + 141B4DD32E2B99C36D3F8C5E0D9BB617 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = 0B24070E25691BB8F3E88BB617B5871E /* PBXContainerItemProxy */; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = E1A44E7B62E75DEC9F2742A8715AC512 /* PBXContainerItemProxy */; }; - 128585F6D2010321A9E4E113AD1B46C3 /* PBXTargetDependency */ = { + 1575297A52605357BED28CC76330D0AB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 88F0B47DA2A85921DADB4D0E65AB61E8 /* PBXContainerItemProxy */; + name = "libPhoneNumber-iOS"; + target = E9846A58E29BC524F26ACBD37F42AB9B /* libPhoneNumber-iOS */; + targetProxy = 5B27F3F05DEE5346E79F11F15B1EF82F /* PBXContainerItemProxy */; }; - 132C9DFF8BAC94CB21552283AFA1C5A7 /* PBXTargetDependency */ = { + 15DAA106A65BB4663636C82419253003 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Mantle; - target = D6415F93B1D7822CD9481CA39BDFAF11 /* Mantle */; - targetProxy = F94829785DA7E82DF4F91BD54A25176B /* PBXContainerItemProxy */; + name = Starscream; + target = 27B11AA96B1C65EADA079565268D1E14 /* Starscream */; + targetProxy = 91727D807F6FBE206C82BAA4DF745EE1 /* PBXContainerItemProxy */; }; - 1399F33E7B6F1903C768725BBBD7C368 /* PBXTargetDependency */ = { + 161B847D19F907A473E1A53FADB3AC28 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "libPhoneNumber-iOS"; - target = 49FAFF275E9A07AA126D6878881F91E5 /* libPhoneNumber-iOS */; - targetProxy = 551A82AAFB9B414AF25578EC004A727E /* PBXContainerItemProxy */; + name = SQLCipher; + target = 393F81D254FDCBBA782ED7224542A956 /* SQLCipher */; + targetProxy = 5CC67F1B60F3A0E28A62F2C8BF632E59 /* PBXContainerItemProxy */; }; - 143CDF1E113563D48BAFD3145F19E7DB /* PBXTargetDependency */ = { + 167C37294BE9D3BB7DC66429E2C211DE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftProtobuf; - target = 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */; - targetProxy = 609F0005B9B783B90A115CA87E9EA1D0 /* PBXContainerItemProxy */; + name = AxolotlKit; + target = A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */; + targetProxy = FB8F286BA0941E76568B79003D32E32B /* PBXContainerItemProxy */; }; - 1556C850A17E7690625AE0D6C3E6ED12 /* PBXTargetDependency */ = { + 169A913A4890BFD9932A65C1BA9F2871 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Starscream; - target = D5B5BE38F50622E0DD7A08298EBC9BBA /* Starscream */; - targetProxy = D127729C9AE2CA9641A6466E4A8F52C5 /* PBXContainerItemProxy */; + name = SAMKeychain; + target = C2082525912BAB9EE6776B67914FAE3D /* SAMKeychain */; + targetProxy = D845932B4F594066C651797508C5DFD8 /* PBXContainerItemProxy */; }; - 183434ED5186E1AB51FD505288418B9C /* PBXTargetDependency */ = { + 1A3BF2616F266B631C6D9137460D14FB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "libPhoneNumber-iOS"; - target = 49FAFF275E9A07AA126D6878881F91E5 /* libPhoneNumber-iOS */; - targetProxy = 935834592BFF604CAF96DCCE81CC4061 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 3216F1FD0AEBF5D5907415047B7FA9F9 /* PBXContainerItemProxy */; }; - 186221F063DFBEF6E76BF33FDE527C49 /* PBXTargetDependency */ = { + 1BC08FAD15DF9CFA3FE2CDE3F71CEB81 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SignalServiceKit; - target = A16588799C7A0AB3A5ACEF8339CCB8BC /* SignalServiceKit */; - targetProxy = 9E261E98CB56668A8425B94F40EC712D /* PBXContainerItemProxy */; + target = 56FEAC3FCA8ADA9B6D3602FBA38B2527 /* SignalServiceKit */; + targetProxy = CBAFDDD29FB5785FAA264B1F92D6E08A /* PBXContainerItemProxy */; }; - 19FEB7C15630C7508FFC7F0F5E4DBDDC /* PBXTargetDependency */ = { + 1F8FCA75ABB63165D1C177DE4E72094C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalMetadataKit; - target = 9BD1D084788925526680BE28E517A85A /* SignalMetadataKit */; - targetProxy = EAA8AE47389B4CC30458FD68C99C7C36 /* PBXContainerItemProxy */; + name = SQLCipher; + target = 393F81D254FDCBBA782ED7224542A956 /* SQLCipher */; + targetProxy = E3175A2DF989470D6FFA90CBD628EA9D /* PBXContainerItemProxy */; }; - 1AA515A689A3326B403650D499D9CD51 /* PBXTargetDependency */ = { + 2769A1CC91D8DC3C832A1344E3DB22D9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = C0FE93AE50BEC033F25FA231851B0C90 /* CryptoSwift */; - targetProxy = D19DF3D7153117B1C3ABBA1F3E7360FC /* PBXContainerItemProxy */; + name = Starscream; + target = 27B11AA96B1C65EADA079565268D1E14 /* Starscream */; + targetProxy = 3C12C14991224615FB89DA8200EDCE79 /* PBXContainerItemProxy */; }; - 1AD00C0A43500495D5953ABE8FB2D194 /* PBXTargetDependency */ = { + 27D026945ACE4D0A86FB082F5A51318C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = 9511B870D4807B985C0758D1F09EC676 /* PBXContainerItemProxy */; + name = SignalMetadataKit; + target = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7 /* SignalMetadataKit */; + targetProxy = 7F470A4D1D7F1B3885F794808CE9F651 /* PBXContainerItemProxy */; }; - 1C579FFB8E77070F0514D5AD30A25882 /* PBXTargetDependency */ = { + 280E5159865B4102CF3B4F30D0F609EB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalMetadataKit; - target = 9BD1D084788925526680BE28E517A85A /* SignalMetadataKit */; - targetProxy = F6B49D84F58EB83494B6ED39E6160003 /* PBXContainerItemProxy */; + name = Curve25519Kit; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = 086B99303AE02C7E56A7F5E3CC90D4F1 /* PBXContainerItemProxy */; }; - 21451C1D34E0FDBFD6C7D1D122E2581B /* PBXTargetDependency */ = { + 297E07F7E78536250D87FE87932099E5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 6846489CE7BBD084B249BDD297BE5399 /* PBXContainerItemProxy */; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = 07EBA61027643E2211C63021245EEF4A /* PBXContainerItemProxy */; }; - 21DA551CDAC0080B51861FBFF021216D /* PBXTargetDependency */ = { + 2AFF5F06D48546E856E5EA5786F43BB4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AFNetworking; - target = CE33B6750794D443498A98ED3243676B /* AFNetworking */; - targetProxy = 8D1A1AD49EB83647701E5763A97773DE /* PBXContainerItemProxy */; + name = Curve25519Kit; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = 3AD173B06CDBEBDAB859D8A5DC031C64 /* PBXContainerItemProxy */; }; - 2442DFEB1F7F8189B4B795E1FCF96F45 /* PBXTargetDependency */ = { + 2B17D5653BCE2E4CC1240F92310E6C58 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = 32FE281D6BD0B942B623058FE1BE0B26 /* PBXContainerItemProxy */; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = C9FDCA27780B1BD5C0A8CBEB5484D3E0 /* PBXContainerItemProxy */; }; - 253A0B6880D009517B595A954BC56D12 /* PBXTargetDependency */ = { + 2B276FBC69F2B31AABA9AD5101E051BE /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = 44F875049BCC5E982E95D92276BE951B /* PBXContainerItemProxy */; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = F629C12FE704281F678287A3146DA2BD /* PBXContainerItemProxy */; }; - 26CBFC0F92B1FF63AD169428340A6175 /* PBXTargetDependency */ = { + 2C1BD4C569824089D4183C406AE1EE49 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FirebaseCore; - target = 395A10739A240BAC3C8F54353EFCED90 /* FirebaseCore */; - targetProxy = 4D264DBD233F5C8E4F1F81EEAD501834 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 8D899A7512B8E2CAD748A9EBE5DAB484 /* CryptoSwift */; + targetProxy = 869E1DE9CEBD0B18A685C85758667106 /* PBXContainerItemProxy */; }; - 2CDDAA8C6FB35871B898A127D898644A /* PBXTargetDependency */ = { + 2E6DA58949B52B805EA1FCE09B9F11EC /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SAMKeychain; - target = BEB8EF499C0BAE48764C4B2C4423D2F6 /* SAMKeychain */; - targetProxy = 29A7B92658F9FA744C9EE3BB9120A811 /* PBXContainerItemProxy */; + name = AxolotlKit; + target = A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */; + targetProxy = 68224192C5E44A8213FC7B3B2BA6820E /* PBXContainerItemProxy */; }; - 2CDE723B9568EE6DE255EB6BD3ADA4AE /* PBXTargetDependency */ = { + 2EE25836F8D360FF50FF8C25C28EC2D3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SAMKeychain; - target = BEB8EF499C0BAE48764C4B2C4423D2F6 /* SAMKeychain */; - targetProxy = 3F57CA27A4CA5181BEAAA02E3AEC9D86 /* PBXContainerItemProxy */; + name = SwiftProtobuf; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = B9A58EB2862BF7A4028A7F6B30FBFF8A /* PBXContainerItemProxy */; }; - 2CF58AF14B0995ABAB45EE3A49A28876 /* PBXTargetDependency */ = { + 316556CBE62BAE2FFDDB1B81F272BC86 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "libPhoneNumber-iOS"; - target = 49FAFF275E9A07AA126D6878881F91E5 /* libPhoneNumber-iOS */; - targetProxy = BCBC5F2C7B513ADE7D75F605361065A0 /* PBXContainerItemProxy */; + target = E9846A58E29BC524F26ACBD37F42AB9B /* libPhoneNumber-iOS */; + targetProxy = CF5B180C726AC0A997B323C59316EBD2 /* PBXContainerItemProxy */; }; - 2D18E07417DC897D744353044D7A1565 /* PBXTargetDependency */ = { + 325ABD92D12A5C3A4F7DB9A869BDCCCC /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = C0FE93AE50BEC033F25FA231851B0C90 /* CryptoSwift */; - targetProxy = CB79463D8150B82CEFADCCEF72CA4D57 /* PBXContainerItemProxy */; + name = YapDatabase; + target = 9BD6ECD0418ADCD6F18C45FA8DA2E165 /* YapDatabase */; + targetProxy = F9E047FE37B45A26419ADB692A00DEF0 /* PBXContainerItemProxy */; }; - 2F6DA8292B29431CC0B0FF5170125865 /* PBXTargetDependency */ = { + 326073F866C8AE8A5C8CC760E7682FB0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SAMKeychain; - target = BEB8EF499C0BAE48764C4B2C4423D2F6 /* SAMKeychain */; - targetProxy = 8DE5648E46B1FEB227E922638EAC521B /* PBXContainerItemProxy */; + name = SwiftProtobuf; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = C7D42D9B8AB0731A5895F6645D369F9D /* PBXContainerItemProxy */; }; - 314450030F70C3E23CBBE88E1EF93862 /* PBXTargetDependency */ = { + 329848BA3AC4FDED6A3C52029F730BC5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = 7D50C01A365D86365910425AE37ED220 /* PBXContainerItemProxy */; + name = SAMKeychain; + target = C2082525912BAB9EE6776B67914FAE3D /* SAMKeychain */; + targetProxy = 69B5C418EC3EE7FDA7EB87BB04C45B9A /* PBXContainerItemProxy */; }; - 31D9A8882F91E2A2ED23C170042901A8 /* PBXTargetDependency */ = { + 3940A04FAFC52A32BC6168E4327C2352 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Starscream; - target = D5B5BE38F50622E0DD7A08298EBC9BBA /* Starscream */; - targetProxy = 73061409475A14FC15DDAD9D4FB8E1EC /* PBXContainerItemProxy */; + name = Curve25519Kit; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = E8865518E61F9B0DB7993DA5D7DB5F27 /* PBXContainerItemProxy */; }; - 3285540E1B05A0C31E071AF9ACDA89FC /* PBXTargetDependency */ = { + 3A22ED071901F56FAE06552CAE448E81 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Mantle; - target = D6415F93B1D7822CD9481CA39BDFAF11 /* Mantle */; - targetProxy = 96DC876BE32B97FD514FFF05BCE95E1A /* PBXContainerItemProxy */; + name = PromiseKit; + target = 8362105D5E1254A82E4BA3875F887F0E /* PromiseKit */; + targetProxy = 0CF4DDE57050E98EF09A42E7DF4498DF /* PBXContainerItemProxy */; }; - 329B1CD491A9F49CAFB504811C00C04B /* PBXTargetDependency */ = { + 3D4877774F7CBD8F9E9467B280D0F7BB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-Signal"; - target = 4FFAF1D1A73CB5CC1EB0364739D6FE18 /* Pods-Signal */; - targetProxy = 3EC67ACAD8730306EB8B9BA02621362F /* PBXContainerItemProxy */; + name = HKDFKit; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = FD81DC50B5B25CBF90DF2E93A0885925 /* PBXContainerItemProxy */; }; - 32A3ECB1BC6F10EBA33E2BEDB3BCBF0A /* PBXTargetDependency */ = { + 3D95A8E41D61FFA09D2C891FDF0A6462 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AFNetworking; - target = CE33B6750794D443498A98ED3243676B /* AFNetworking */; - targetProxy = B74265BCA4403AF9AD8984B3C754510A /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 8D899A7512B8E2CAD748A9EBE5DAB484 /* CryptoSwift */; + targetProxy = 77A7016B7E7DBD55D21E75CBC71B43ED /* PBXContainerItemProxy */; }; - 338C4E0988CDD33138858E1308587BC0 /* PBXTargetDependency */ = { + 3EE8D8A5AB6965D646953D515D352E42 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "libPhoneNumber-iOS"; - target = 49FAFF275E9A07AA126D6878881F91E5 /* libPhoneNumber-iOS */; - targetProxy = 3C5222DBADF8EBAA9BBDA360772A571E /* PBXContainerItemProxy */; + name = PromiseKit; + target = 8362105D5E1254A82E4BA3875F887F0E /* PromiseKit */; + targetProxy = EF0E2E2C2DDBBECDC925F28737EE001B /* PBXContainerItemProxy */; }; - 33D7ED2F7768C3E17B3458E9B737D28D /* PBXTargetDependency */ = { + 3F5B3A18BED27608B2E7413D2707A2A2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 86315639ECA424292DCD12CDCF6C7E1D /* PBXContainerItemProxy */; + name = PromiseKit; + target = 8362105D5E1254A82E4BA3875F887F0E /* PromiseKit */; + targetProxy = FE8C503477DA60EDC49CF60711ECBA8C /* PBXContainerItemProxy */; }; - 389D789D07D2A338ED897F832D5FC635 /* PBXTargetDependency */ = { + 3FC7E1355464A0D621A1BC7EE9A69F7B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = 90A920ADE2EC174D5009D21DB0F79D97 /* PBXContainerItemProxy */; + name = PromiseKit; + target = 8362105D5E1254A82E4BA3875F887F0E /* PromiseKit */; + targetProxy = 370F78E43122C2344CC0DF8192F8EB36 /* PBXContainerItemProxy */; }; - 3A3D925A43849B55CA8EF90CE6020145 /* PBXTargetDependency */ = { + 4098764681349C4AD0D6BD1E5430B5D2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = DD3E1C2DA47DF9EC3D8B32FB5B66788F /* PBXContainerItemProxy */; + name = SignalMetadataKit; + target = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7 /* SignalMetadataKit */; + targetProxy = 60BE4E6B5DEA57AC70EBC151D0551F09 /* PBXContainerItemProxy */; }; - 3B52E3C3E02A981E67E2C00E8B4F03CA /* PBXTargetDependency */ = { + 42551ECD8CA6DA5F02582C9E2BEE7A80 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Reachability; - target = 1FAF6137A1568F1846807A8A28D8C3D9 /* Reachability */; - targetProxy = 2C2A58966E4D3F5C10221AECDBB0B49B /* PBXContainerItemProxy */; + name = SignalMetadataKit; + target = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7 /* SignalMetadataKit */; + targetProxy = 932F5C8AA2F54E5CEF75065017AAA783 /* PBXContainerItemProxy */; }; - 3D04190998D2D6C856F841E8626B69E6 /* PBXTargetDependency */ = { + 42EA2045942D3F83D5F97FB7F70AA350 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AxolotlKit; - target = FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */; - targetProxy = 033C50397BE5E9ED2F16B69137FA7C6E /* PBXContainerItemProxy */; + name = Reachability; + target = 3524814E42E299FFBA2F6FA82E436DD4 /* Reachability */; + targetProxy = 8CBCBB8491E45F788B9A81DBBC80873B /* PBXContainerItemProxy */; }; - 3E7F7C8A77BAAD64C7244772D71A8573 /* PBXTargetDependency */ = { + 4355DD647BAEC45597BB4ACC3B58859E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SQLCipher; - target = D877F182D6C04FC1D220EA2B9768A622 /* SQLCipher */; - targetProxy = 43E8D4A221911328B1EB1BFDE023885C /* PBXContainerItemProxy */; + name = Reachability; + target = 3524814E42E299FFBA2F6FA82E436DD4 /* Reachability */; + targetProxy = 9F5085A5708DFF55B8A350E2EF4DD63F /* PBXContainerItemProxy */; }; - 3EE3163A2FB57D4A5C6934A6ED9B397F /* PBXTargetDependency */ = { + 4696ADF1A5F313C1A05412782CA9D9D4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Reachability; - target = 1FAF6137A1568F1846807A8A28D8C3D9 /* Reachability */; - targetProxy = EB94BD9877E30D4CD045A4F685427DDE /* PBXContainerItemProxy */; + name = PureLayout; + target = 462AC13EC68E19388E93FBAD92C6E444 /* PureLayout */; + targetProxy = EF529B096A5D44AD615BFCAA0262E08F /* PBXContainerItemProxy */; }; - 40156DA0EE7F3DF492736CD370B77E50 /* PBXTargetDependency */ = { + 48D81F26486214D978A531E8740A73CB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Mantle; - target = D6415F93B1D7822CD9481CA39BDFAF11 /* Mantle */; - targetProxy = 42E92A33D44191E30BA5C5B498329318 /* PBXContainerItemProxy */; + name = YapDatabase; + target = 9BD6ECD0418ADCD6F18C45FA8DA2E165 /* YapDatabase */; + targetProxy = EBB1CEBF0DC87A338118F03CEACB77A2 /* PBXContainerItemProxy */; }; - 44833CCECB37B0F0D79A19768C6E5846 /* PBXTargetDependency */ = { + 4EFA4009726FC7677BF7DCC0CEE0C262 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = 7494F9E396F2A606571BE5491D07CDE6 /* PBXContainerItemProxy */; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = B37F2D3FEC979B987785722F86A046E3 /* PBXContainerItemProxy */; }; - 4492985812F44383C11FF34C4DE659CE /* PBXTargetDependency */ = { + 51A0AE693C83948580CF377F9CADBD70 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Starscream; - target = D5B5BE38F50622E0DD7A08298EBC9BBA /* Starscream */; - targetProxy = A9980C51A66BA65B8A95B46C35DD4501 /* PBXContainerItemProxy */; + name = NVActivityIndicatorView; + target = 506354962CD5853118387855A2A03D73 /* NVActivityIndicatorView */; + targetProxy = 4019DE7935A4C1B695ED9CB794AC0509 /* PBXContainerItemProxy */; }; - 44E4C6B3BC3763814D0F1D4064F2BD06 /* PBXTargetDependency */ = { + 54894F32C3A8E29139FFECFFAC5E9A2E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SignalServiceKit; - target = A16588799C7A0AB3A5ACEF8339CCB8BC /* SignalServiceKit */; - targetProxy = 7154EAEB951626A6CCA8CE4CA15464B7 /* PBXContainerItemProxy */; - }; - 45A60E60588B3EA271B989877CF999A3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = PromiseKit; - target = 41534CD75578C922D789F429B9933B2A /* PromiseKit */; - targetProxy = EB7D5200EF9F3C5B8121585E2694086C /* PBXContainerItemProxy */; - }; - 4660827E6FDAF50B12A24EDFFB057D52 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = A4941A86BD1B610E47CA5918F8ADE09A /* PBXContainerItemProxy */; + target = 56FEAC3FCA8ADA9B6D3602FBA38B2527 /* SignalServiceKit */; + targetProxy = B71DEA8C78D91C386B8D22992F46EDF3 /* PBXContainerItemProxy */; }; - 4AC13956679414046D29E7C7BEFAFB9C /* PBXTargetDependency */ = { + 54EF2AD1217CBB5C78367867D8F9D9CA /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = 136FDA2312840E6612D55557BE7C1564 /* PBXContainerItemProxy */; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = B2C66AEC6EB8BDAD9AAC06AD84127DDC /* PBXContainerItemProxy */; }; - 4B81B113348CEC51AB5377D2C2ACDFB0 /* PBXTargetDependency */ = { + 58B12A703D156F30CBF84A9E5874D305 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = YapDatabase; - target = 45912FCC22A1728F871BB6ED08546686 /* YapDatabase */; - targetProxy = DD1695353995C42856AAD6068A23D9CA /* PBXContainerItemProxy */; + name = HKDFKit; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = 6696C86D0C1DA866DEF2953B4B8A4767 /* PBXContainerItemProxy */; }; - 536AE193692542A611FE7F1E9C1C37AD /* PBXTargetDependency */ = { + 5B2BF8F0E877EBD740B49DE8339B5603 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SAMKeychain; - target = BEB8EF499C0BAE48764C4B2C4423D2F6 /* SAMKeychain */; - targetProxy = F49C0305638748D5594C9949DB3D4D38 /* PBXContainerItemProxy */; + name = AFNetworking; + target = 2C37A63BCEE15E2B9E8FB9A18C9671FF /* AFNetworking */; + targetProxy = 336239F8F237342CA206F38A41DBE841 /* PBXContainerItemProxy */; }; - 5542DCA6069254DA7B602697D9775312 /* PBXTargetDependency */ = { + 5B7F2723AFF41B3D1EA37F9BB181B45E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = ECC4E0967999D4B41630B09B81047701 /* PBXContainerItemProxy */; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 85DD73DCDFA2DC27C1C372831D9153B1 /* PBXContainerItemProxy */; + }; + 5FA6CBAD73B9500A14C2934AE6DE5403 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SQLCipher; + target = 393F81D254FDCBBA782ED7224542A956 /* SQLCipher */; + targetProxy = 1FE31BCBFBBA535F94E5641A444C73FF /* PBXContainerItemProxy */; }; - 55F88A4C2F14B853E7B32243448F2729 /* PBXTargetDependency */ = { + 5FD258404083FFA58A67F9A484A5B86E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = E2DC9C4C0B1D87C816DDAD570B2AB4EB /* PBXContainerItemProxy */; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = 02E5FFFF879E16C7A1CE39DDBDAFBECA /* PBXContainerItemProxy */; }; - 5955ED73D0FD2FA4FB19986A49F863F3 /* PBXTargetDependency */ = { + 6235E2757043E090FD8059B2849F01F7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = 647EE86B5C254F98D38FAD8C11C66DB6 /* PBXContainerItemProxy */; + name = PureLayout; + target = 462AC13EC68E19388E93FBAD92C6E444 /* PureLayout */; + targetProxy = 30A70579A1DE0D491BA33647C6D87D99 /* PBXContainerItemProxy */; }; - 5B626957369C8D42DD8432D514AA4FA5 /* PBXTargetDependency */ = { + 625546371850332D8F9ED1B335AE35C1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalMetadataKit; - target = 9BD1D084788925526680BE28E517A85A /* SignalMetadataKit */; - targetProxy = 5D13B2EBC18843F8F7B7BB8A063F011F /* PBXContainerItemProxy */; + name = AFNetworking; + target = 2C37A63BCEE15E2B9E8FB9A18C9671FF /* AFNetworking */; + targetProxy = 01F89D74FD6F8A111166F39EBC94FB96 /* PBXContainerItemProxy */; }; - 5C17D646C9B1A6632D1C4BE05B66A1F9 /* PBXTargetDependency */ = { + 63C7C7AC2FC747AD135D40012A445A59 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AxolotlKit; - target = FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */; - targetProxy = 8FB2EFEA521E9620525A67A5810C9518 /* PBXContainerItemProxy */; + name = Curve25519Kit; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = 991F436A16AD4A48177A161782A407B4 /* PBXContainerItemProxy */; }; - 5E508C5F5A0FFD97836740A4ABE5CCB5 /* PBXTargetDependency */ = { + 65CFE4690D0C3B035D110DEE867B8521 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SwiftProtobuf; - target = 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */; - targetProxy = C2A3B96E96FF8CC5743CCCD220F6817F /* PBXContainerItemProxy */; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = 688F639B74A7952E71C052911B87EF72 /* PBXContainerItemProxy */; }; - 648D22F6921BD3AE4368511966C555B9 /* PBXTargetDependency */ = { + 66B4A235663A7908DCFA6B7F9F5D9DFC /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalServiceKit; - target = A16588799C7A0AB3A5ACEF8339CCB8BC /* SignalServiceKit */; - targetProxy = E27D071A6A44020F81E849E98B587008 /* PBXContainerItemProxy */; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = 820103E5630A5BF71D4D2E00D832E3E4 /* PBXContainerItemProxy */; }; - 6707FC677A577BDBD78C093F867CD21A /* PBXTargetDependency */ = { + 6757B848641F143CE54BE7ACFC7190E0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Reachability; - target = 1FAF6137A1568F1846807A8A28D8C3D9 /* Reachability */; - targetProxy = 679769811246E4DD1611E5223BCE358C /* PBXContainerItemProxy */; + name = SignalMetadataKit; + target = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7 /* SignalMetadataKit */; + targetProxy = 79F3371A3F5E556E3CE59D81FA68CC8D /* PBXContainerItemProxy */; }; - 67D7E228F9766CE572772F02BE26FB98 /* PBXTargetDependency */ = { + 6960073F1689D89A231463809FC8487B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = D2FA8194001095A30CC49B9534F611E6 /* PBXContainerItemProxy */; + name = Mantle; + target = 02AD8789483D0C881D9CCA5ABB184877 /* Mantle */; + targetProxy = E9AF826B181FA44C8759B56C2B2E11DC /* PBXContainerItemProxy */; }; - 67E83681A01109854408E19B2258A761 /* PBXTargetDependency */ = { + 6A8E3E656C2C1C407CD1EAA08820EC59 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = 3BCFC101756185B804CD83AC0CFD726E /* PBXContainerItemProxy */; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = CC419FDC316CE16B625C2EECEAE4798A /* PBXContainerItemProxy */; }; - 697858999A099C41FB54A09F69E285BE /* PBXTargetDependency */ = { + 6D94CD771D33B03ED7FE9C1095253C6F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = D67DE7B2B4ED24A90ABDA1CBC2052D54 /* PBXContainerItemProxy */; + name = PromiseKit; + target = 8362105D5E1254A82E4BA3875F887F0E /* PromiseKit */; + targetProxy = 8FC298086A68EC17482ECAA206CC73FF /* PBXContainerItemProxy */; }; - 6A7CB112D8A0C1F92744500936EF8EEA /* PBXTargetDependency */ = { + 6E404D650A1B287955AC98C3DF21352B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AxolotlKit; - target = FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */; - targetProxy = 95FFB11A60485915E5FB63AC25D78648 /* PBXContainerItemProxy */; + name = Reachability; + target = 3524814E42E299FFBA2F6FA82E436DD4 /* Reachability */; + targetProxy = 158F778512EE303C5F270F366307D410 /* PBXContainerItemProxy */; }; - 6FCBEABA2C62C1A9D0ABE8AA932E0095 /* PBXTargetDependency */ = { + 70261692CC3173B056A080815C3728FE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FeedKit; - target = 9FD977E8321FA670C8C84B8F85CAAA83 /* FeedKit */; - targetProxy = 47951A64C01369875C3D06A2724F2D27 /* PBXContainerItemProxy */; + name = HKDFKit; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = 5EFE95FECEB131CA598CBE152B1D00C1 /* PBXContainerItemProxy */; }; - 6FD8510B9EED1BAA67FEC1D2B7DCD030 /* PBXTargetDependency */ = { + 728339716C1F0A1A1D1EF00D5A1D8EAB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = NVActivityIndicatorView; - target = 09DE5267826842012EA747537263B74A /* NVActivityIndicatorView */; - targetProxy = 41A475ABCB54C03DCEB38B4566B9882A /* PBXContainerItemProxy */; + name = GCDWebServer; + target = 5783A6B91DBF889771EAA03EC02E2842 /* GCDWebServer */; + targetProxy = 91A788D20661D2429AA738DAAE6FD9FE /* PBXContainerItemProxy */; }; - 7065B215FB31AC273FEAD8E74E5D1294 /* PBXTargetDependency */ = { + 7443A75A862748384258CDF851714CCE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = YYImage; - target = 7FA3555E24406A2581210A6508CA2F60 /* YYImage */; - targetProxy = 6F3F401D10AC5924F6A3BB16A3FC80E5 /* PBXContainerItemProxy */; + name = FirebaseCore; + target = 0273105E5C2FE9ECC03D5AD8ACC0CC21 /* FirebaseCore */; + targetProxy = 1F585D61B71E03C762CF66F65927EF38 /* PBXContainerItemProxy */; }; - 71576B0274A42F66F021416221ECCBA5 /* PBXTargetDependency */ = { + 748B033021FA614D2800582632FBCC29 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "libPhoneNumber-iOS"; - target = 49FAFF275E9A07AA126D6878881F91E5 /* libPhoneNumber-iOS */; - targetProxy = A52DEBC9E50B05CFFAD904181EE66865 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = AB03066E2B666633766B6515C1AF5F66 /* PBXContainerItemProxy */; }; - 726E36E83590D57629B842BEADA5D4E7 /* PBXTargetDependency */ = { + 76F858F9D4D6CDFB2B76EB8C3E6D0EDA /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftProtobuf; - target = 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */; - targetProxy = 4CA9E0AC038A637AC75E6D1393ABD7DC /* PBXContainerItemProxy */; + name = YapDatabase; + target = 9BD6ECD0418ADCD6F18C45FA8DA2E165 /* YapDatabase */; + targetProxy = 2A0EB108FCEA66A2C5CD28C3A18CAF80 /* PBXContainerItemProxy */; }; - 75A07BBDCF684EA049150FB94A1F5BC0 /* PBXTargetDependency */ = { + 7A1A893908516E4E0971328873CFA047 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Mantle; - target = D6415F93B1D7822CD9481CA39BDFAF11 /* Mantle */; - targetProxy = 199F570D0E6C792D6E00379CBA3F099F /* PBXContainerItemProxy */; + name = Starscream; + target = 27B11AA96B1C65EADA079565268D1E14 /* Starscream */; + targetProxy = B5B81303B4C80AC1E0CF5B2458AF83AB /* PBXContainerItemProxy */; }; - 76AB11FAFE0696C6AB2323664026736F /* PBXTargetDependency */ = { + 7AC0DC37F9A13FE30AEDCFA10E869AEE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Reachability; - target = 1FAF6137A1568F1846807A8A28D8C3D9 /* Reachability */; - targetProxy = C9377FAEA1AE362C3F4218944528A242 /* PBXContainerItemProxy */; + name = "libPhoneNumber-iOS"; + target = E9846A58E29BC524F26ACBD37F42AB9B /* libPhoneNumber-iOS */; + targetProxy = A8E85A9D363D05CC82C1D8378C6BE068 /* PBXContainerItemProxy */; }; - 787A53E729F9F3431D010C2F6493730D /* PBXTargetDependency */ = { + 7ACF4E7279C7F17E03BBBEB091F511E1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = YapDatabase; - target = 45912FCC22A1728F871BB6ED08546686 /* YapDatabase */; - targetProxy = 6CC5D5DAF85FBBB018093EDAE6514005 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = E3C67A7B0E19F06011B173822294A632 /* PBXContainerItemProxy */; }; - 78FF4158C12E852769ACD8A75521DD33 /* PBXTargetDependency */ = { + 7AD0DFC53D06B4FB8B2EA14B902E465A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = YapDatabase; - target = 45912FCC22A1728F871BB6ED08546686 /* YapDatabase */; - targetProxy = 2DD8B22E2F12B4EA1D04C8743AF27FFA /* PBXContainerItemProxy */; + name = GoogleUtilities; + target = 7BE161B1BFC0D58A73E980CE09E30805 /* GoogleUtilities */; + targetProxy = 450D9994D4C544A7D904BF0334109A97 /* PBXContainerItemProxy */; }; - 7A140D87F6FF707B8C4FF60D16EB3B36 /* PBXTargetDependency */ = { + 7AFC4FE4312BBEEDD2B5CF50C168DE35 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SQLCipher; - target = D877F182D6C04FC1D220EA2B9768A622 /* SQLCipher */; - targetProxy = DD5B8CB45A4A46DBDD04E224297B3CC7 /* PBXContainerItemProxy */; + name = AxolotlKit; + target = A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */; + targetProxy = F58B7692912464493147373FF98E672A /* PBXContainerItemProxy */; }; - 7A5884DC9EF60C53132CFC6E75CE63FB /* PBXTargetDependency */ = { + 7B8AA6C27D08ADF6A24C544FF60E19F4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = C0FE93AE50BEC033F25FA231851B0C90 /* CryptoSwift */; - targetProxy = DCDF26969DB07D9142965B90D0272318 /* PBXContainerItemProxy */; + name = SignalMetadataKit; + target = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7 /* SignalMetadataKit */; + targetProxy = F2563B64A2CF630689A162BF631C4BD7 /* PBXContainerItemProxy */; }; - 7A9EE513C20ACDC0F36A1BA8CC6B61EE /* PBXTargetDependency */ = { + 7D72FD6B2ED616F51658FAA2509D6488 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = YYImage; - target = 7FA3555E24406A2581210A6508CA2F60 /* YYImage */; - targetProxy = D737549A0B79C44E0AA9C96F73A77945 /* PBXContainerItemProxy */; + target = B2DB9200FF6BA441B3CCBBAC63D08884 /* YYImage */; + targetProxy = 985AC78EE87847118E57CC77AAD2059F /* PBXContainerItemProxy */; }; - 7ACA827F1862B683D42797866811F2CB /* PBXTargetDependency */ = { + 807E34FAE3A1989CA613E42F625E7E9E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Starscream; - target = D5B5BE38F50622E0DD7A08298EBC9BBA /* Starscream */; - targetProxy = C3EF66C74D3F91A1B3AA189BB7DEE1E5 /* PBXContainerItemProxy */; + name = AFNetworking; + target = 2C37A63BCEE15E2B9E8FB9A18C9671FF /* AFNetworking */; + targetProxy = 8B06BC9F7DEEDB58A70A3D6DF5071EB3 /* PBXContainerItemProxy */; }; - 7B8774A725ACD8D5DA3BF4E18A639968 /* PBXTargetDependency */ = { + 80B8CFDCB15D00F2A4752CF731B06E61 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = B915CC190874B69E00DD5EE0C79029CE /* PBXContainerItemProxy */; + name = SAMKeychain; + target = C2082525912BAB9EE6776B67914FAE3D /* SAMKeychain */; + targetProxy = 2A047E8ABE37803D3293EDD633B5684D /* PBXContainerItemProxy */; }; - 7D32F49B3BE5FC5CB3CA6EE0A20A51D7 /* PBXTargetDependency */ = { + 8111A3FA3A8CABDD8067BE40256665A5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SwiftProtobuf; - target = 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */; - targetProxy = 90084671DFB35AAD2B0F3879208D8629 /* PBXContainerItemProxy */; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = E7E9A66C0CE8235CA19B9A5294CEF60D /* PBXContainerItemProxy */; }; - 7FD4A85FD8FE66231B7C9B632D33CF04 /* PBXTargetDependency */ = { + 814EF733D05CD52F9BECCF5FCA83E9DA /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = E1AFF2D3C7DCD68D758A679612867CC0 /* PBXContainerItemProxy */; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = 5D432DA2CDCB682661F44ACC4663FA19 /* PBXContainerItemProxy */; }; - 7FEF486219FFCFB16346DBD7B1FD55B2 /* PBXTargetDependency */ = { + 8516A861B86533810067E6E1F31FDE27 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SQLCipher; - target = D877F182D6C04FC1D220EA2B9768A622 /* SQLCipher */; - targetProxy = 8430E92C8CD03500A6506090FF1378FF /* PBXContainerItemProxy */; + name = SAMKeychain; + target = C2082525912BAB9EE6776B67914FAE3D /* SAMKeychain */; + targetProxy = D79574D5751ECFD0F96C84B39FCC64EF /* PBXContainerItemProxy */; }; - 842D39AC5C38A08C12C08AAF34DF2CF6 /* PBXTargetDependency */ = { + 8520833E7C423940B490E4829F782F27 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 5B5C3797976379E5142BF277B4C61DE2 /* PBXContainerItemProxy */; + name = AxolotlKit; + target = A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */; + targetProxy = DF21F0E78F85B61D98BAD9324CFBB4A4 /* PBXContainerItemProxy */; }; - 8685FE64406D5D021C4289B7308599FB /* PBXTargetDependency */ = { + 86EDDA31A095579AD8A14471D60A69FA /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = PureLayout; - target = D45B4BF290020065251511F935D72F2C /* PureLayout */; - targetProxy = CAF49A4C086105718AFF394406458E44 /* PBXContainerItemProxy */; + target = 462AC13EC68E19388E93FBAD92C6E444 /* PureLayout */; + targetProxy = C426D08CB696C28C2FBC2B33E22B284C /* PBXContainerItemProxy */; }; - 874004333E37AA9154ED0436595430AC /* PBXTargetDependency */ = { + 87FD9DCE30D0A8FCA29FC37A8CD46FA0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = 636ED3F12A64F8F1EFD9D53815FB5969 /* PBXContainerItemProxy */; + name = PureLayout; + target = 462AC13EC68E19388E93FBAD92C6E444 /* PureLayout */; + targetProxy = 3E08E96DBBCD3234215C6C1C1C9551EA /* PBXContainerItemProxy */; + }; + 89F20540825B2761342E0C678D130871 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = DA714A957E5506ACE56831B641058593 /* PBXContainerItemProxy */; + }; + 8A0491565CF52E2A4849040152F25DF0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Mantle; + target = 02AD8789483D0C881D9CCA5ABB184877 /* Mantle */; + targetProxy = 91BD89C01CB683E182DA485727A775FD /* PBXContainerItemProxy */; }; - 87F6631C37997C9EC9819F0852E7147A /* PBXTargetDependency */ = { + 8A291968CF083F978FDDC73DEAA74D8B /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = 0129263969343A547EE6E7BF2C4681E0 /* PBXContainerItemProxy */; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 2C6B0A5264F53B13ED7358769B772C70 /* PBXContainerItemProxy */; }; - 88899AE8F43C0C49EB981ADAA4BD1128 /* PBXTargetDependency */ = { + 8ADCC8B53D8647FF022CF9E321424E24 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 87C8F9C7278BDB56E7EF04A0426086FC /* PBXContainerItemProxy */; + name = AxolotlKit; + target = A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */; + targetProxy = C3E0F70F8639DDAC5151EE9288FFDAEF /* PBXContainerItemProxy */; }; - 88CC2E711C4B2429BCB306972F4610A6 /* PBXTargetDependency */ = { + 8E243C10E9E2479ACFEEBBAD932FF4D2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 7FE7A455513486CC41468E5DC3ED34A4 /* PBXContainerItemProxy */; + name = AxolotlKit; + target = A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */; + targetProxy = DA1F068B1C87302951D3A2B58710C0C1 /* PBXContainerItemProxy */; }; - 89454B45ECCDECBFCFEA9842A49B2706 /* PBXTargetDependency */ = { + 8E83A59F0287DA97F6C312FE1F7EA068 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 4E605ED645108D2541CBCC6EAACD6EC5 /* PBXContainerItemProxy */; + name = SignalMetadataKit; + target = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7 /* SignalMetadataKit */; + targetProxy = 96B57EF1877884464390DA9198AD43CD /* PBXContainerItemProxy */; }; - 8991F23E60A231DFECDCBD48D7380695 /* PBXTargetDependency */ = { + 912854CEDA1EC4E12F91939B29D52345 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = 7890121DB5CBB1CDE0AD07B33495B06A /* PBXContainerItemProxy */; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 0734184140C6BEB85ECC60977FF342D1 /* PBXContainerItemProxy */; }; - 8C95198C9626BEF99EA9CBB08FDF86CF /* PBXTargetDependency */ = { + 9179220F5E9F2B1418530056737201B7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftProtobuf; - target = 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */; - targetProxy = 1E62FD0EFED2AD5C10902F350D6F94E6 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 39CF48DB500B3DA5BEFC038911723B7E /* PBXContainerItemProxy */; }; - 8D014E3E519457E8EC6C27081D3941F1 /* PBXTargetDependency */ = { + 924F9AA037F2457D0CAD79C808B424B1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 13F3E93D262D236F3D668FEBC6EADA65 /* PBXContainerItemProxy */; + name = SwiftProtobuf; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = 3DF1725458AABD3B52567BADE99CFBF5 /* PBXContainerItemProxy */; }; - 8EC099AE0BEA84579005806FB20FA8A7 /* PBXTargetDependency */ = { + 9257BFF7486D574EA097B4F389261C01 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Mantle; - target = D6415F93B1D7822CD9481CA39BDFAF11 /* Mantle */; - targetProxy = 30E6194B865A5EC0FD873E78A9398392 /* PBXContainerItemProxy */; + name = Curve25519Kit; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = 136C6EFE9914444289ADAD765BD0C23A /* PBXContainerItemProxy */; }; - 934E796A3E912102E596C0009C342406 /* PBXTargetDependency */ = { + 92EA4218113A3677B6E632E3E886CC13 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PureLayout; - target = D45B4BF290020065251511F935D72F2C /* PureLayout */; - targetProxy = 15E339E299A9D743BBB357A57DB4EBBC /* PBXContainerItemProxy */; + name = Curve25519Kit; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = 3E5AD5E7EF15C19E17217B2D25A9B65D /* PBXContainerItemProxy */; }; - 951985CE8EE6C0B9FA9F890C605FB162 /* PBXTargetDependency */ = { + 94A7AD25E642314F34C2D8EE85BF2585 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Mixpanel; - target = 96E0FF0842268DE2B90280E135C82C02 /* Mixpanel */; - targetProxy = 5FF54C78E2D4FF729D5F20F996F266BE /* PBXContainerItemProxy */; + name = SQLCipher; + target = 393F81D254FDCBBA782ED7224542A956 /* SQLCipher */; + targetProxy = 40805E6F569D2DB9EC440795CA17C234 /* PBXContainerItemProxy */; }; - 97EF0ABB3ED7C36BF3808E7D0A254EC3 /* PBXTargetDependency */ = { + 94DA85B9D17147AAF7621CECDAFB04C7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = 2BF60CF79D4D04FA69C12D9D3AD4BD32 /* PBXContainerItemProxy */; + name = SAMKeychain; + target = C2082525912BAB9EE6776B67914FAE3D /* SAMKeychain */; + targetProxy = B79AC1E34ADB35A33B5F86531970334F /* PBXContainerItemProxy */; }; - 9E54F10FAC78BF30850753E41409BCDF /* PBXTargetDependency */ = { + 950ED1A444775F301301DD5343C5AD7B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PureLayout; - target = D45B4BF290020065251511F935D72F2C /* PureLayout */; - targetProxy = E8BB36EC2107DD7E9CA41FF494F89D33 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 42DA7BA9B0A4CED98CB66636DE870B71 /* PBXContainerItemProxy */; }; - 9F84B1802C52C4012AAF1B93FF4B40F8 /* PBXTargetDependency */ = { + 9808B48481E14FB0E23F5D307D36D416 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AxolotlKit; - target = FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */; - targetProxy = 36C741F99CB484527955592368E1F741 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 8D899A7512B8E2CAD748A9EBE5DAB484 /* CryptoSwift */; + targetProxy = 14582C7DEC2842E74320566EF3A78712 /* PBXContainerItemProxy */; }; - A231493FC8F9D8CF9F1348FA61844405 /* PBXTargetDependency */ = { + 98862461A16F9DD93EE582BC8AD6B6F7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = YapDatabase; - target = 45912FCC22A1728F871BB6ED08546686 /* YapDatabase */; - targetProxy = FA210B94627754B1C49BE4535E43E502 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 8D899A7512B8E2CAD748A9EBE5DAB484 /* CryptoSwift */; + targetProxy = F365A71CFB2FF72B41AE9761AE5658FE /* PBXContainerItemProxy */; }; - A71D5DB9777AC3A520CE06D7E41A22D7 /* PBXTargetDependency */ = { + 9A1E28F9185196830A1139D7EB355634 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = 2554843D13539A767436425ED0FC8F13 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = F2B91BE3B00CCCE631FAD7887F63397D /* PBXContainerItemProxy */; }; - A8E456112118ACE379FAA0C9511452AD /* PBXTargetDependency */ = { + 9A254D154F8388957584404C9BBAE4A8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = ED24CEE5F5B595CC7A7C75B4737DF848 /* PBXContainerItemProxy */; + name = SignalServiceKit; + target = 56FEAC3FCA8ADA9B6D3602FBA38B2527 /* SignalServiceKit */; + targetProxy = 26BE19BE8DD00052C2AB62765866A753 /* PBXContainerItemProxy */; }; - A965D57BB5A9B66DB5FB1C80525BF52C /* PBXTargetDependency */ = { + 9C1D56FEA599058248C86F314375014D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AFNetworking; - target = CE33B6750794D443498A98ED3243676B /* AFNetworking */; - targetProxy = 74EE5F66EFA32D1174F4F50443A95FA7 /* PBXContainerItemProxy */; + target = 2C37A63BCEE15E2B9E8FB9A18C9671FF /* AFNetworking */; + targetProxy = 3EF525055E0E4DC099B5AB5E2AA6B04D /* PBXContainerItemProxy */; }; - A9CF806EA0189E22F7DE9A9FFF1561FA /* PBXTargetDependency */ = { + 9D53C59CD8C5D0711BD78ACFBFEBD5F8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = GCDWebServer; - target = ECF39F39AC4DF15F4033529C8A8190E5 /* GCDWebServer */; - targetProxy = 23D8A4AD61AC8809EB4D2757BD9063DD /* PBXContainerItemProxy */; + name = FeedKit; + target = 72CE0781BEB6863039B2996AC3C4B250 /* FeedKit */; + targetProxy = 140910159E98A05D38ED9C190B6743B7 /* PBXContainerItemProxy */; }; - A9E6A09A805212C7516A1DA8A833DAD4 /* PBXTargetDependency */ = { + A5F33AE5A0180CF3274ABEEF5C458DB0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = EAFC1ABEBB8D5B67910F9FA6EB2626FD /* PBXContainerItemProxy */; + name = Reachability; + target = 3524814E42E299FFBA2F6FA82E436DD4 /* Reachability */; + targetProxy = 3DCD7456F74B2C814565ECC4468EA323 /* PBXContainerItemProxy */; }; - AB590ABDFB735498B6BCBD4A9399D047 /* PBXTargetDependency */ = { + A735370604345FE1149EECBFABADD010 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AxolotlKit; - target = FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */; - targetProxy = EADE43DDC657306894DD668EF343C2BB /* PBXContainerItemProxy */; + name = HKDFKit; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = C7A0955C04DCFA24D9E0054CCDB1B527 /* PBXContainerItemProxy */; }; - ACD97508727376FBB2401F9D8B9061CC /* PBXTargetDependency */ = { + AB4BC5DAB95D0E396E961DC3DB51ADD4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = 07AC4CBE9D60D74B6AFF338B93FA72B3 /* PBXContainerItemProxy */; + name = Reachability; + target = 3524814E42E299FFBA2F6FA82E436DD4 /* Reachability */; + targetProxy = 73BFB9E96B5CC3B487A9060199D3A4E1 /* PBXContainerItemProxy */; }; - B1E1B6E481C6B511855E944622E28176 /* PBXTargetDependency */ = { + AEC5B52C837F6B0AC61099D4EC0287CD /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SQLCipher; - target = D877F182D6C04FC1D220EA2B9768A622 /* SQLCipher */; - targetProxy = 511C5C007B9B8E4942CB7BD256FEE112 /* PBXContainerItemProxy */; + target = 393F81D254FDCBBA782ED7224542A956 /* SQLCipher */; + targetProxy = 9E4145EE14DC7CF27CE2C6EEDADAC0A2 /* PBXContainerItemProxy */; }; - B2329C431137CEE9B9127CE93A3D14DD /* PBXTargetDependency */ = { + AFF6A03BCD71C0ACCC081DD6D1D18080 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SignalMetadataKit; - target = 9BD1D084788925526680BE28E517A85A /* SignalMetadataKit */; - targetProxy = 2C487853D02871F779B171E21B1DCAEB /* PBXContainerItemProxy */; + target = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7 /* SignalMetadataKit */; + targetProxy = 6FF7F2805B1A766F0E1A0F42482BB029 /* PBXContainerItemProxy */; }; - B2CE10802C5FEA212FEBC70121C65FB4 /* PBXTargetDependency */ = { + B09C435306C3349B0E12A6853FF8C2D5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = 087BFA01F4FEF5F577ED17AD1F49623A /* PBXContainerItemProxy */; + name = AxolotlKit; + target = A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */; + targetProxy = 64F89B66CB1C918104A052801E4D0985 /* PBXContainerItemProxy */; }; - B83791890AE64B1B0A242EA1FB21D6B5 /* PBXTargetDependency */ = { + B169D43FE83ABBC00486AC77EBFEE22E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = 48D033D0624BD7CEE175E2D15892AF3B /* PBXContainerItemProxy */; + name = SignalServiceKit; + target = 56FEAC3FCA8ADA9B6D3602FBA38B2527 /* SignalServiceKit */; + targetProxy = 327819E11B7C076A7384C0DADBC78D32 /* PBXContainerItemProxy */; }; - BC7AE58E29434F821E1D10B23BACFFAF /* PBXTargetDependency */ = { + B5237F15C80A1B8E127E979CB866DA4E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = YapDatabase; - target = 45912FCC22A1728F871BB6ED08546686 /* YapDatabase */; - targetProxy = FA3E000E8FB022933859FAD5CB3CF5BC /* PBXContainerItemProxy */; + target = 9BD6ECD0418ADCD6F18C45FA8DA2E165 /* YapDatabase */; + targetProxy = 5A60798C51DB84D5468594B4EB8CA4DD /* PBXContainerItemProxy */; }; - BD8A4B9304F344E6E96344F695895CDF /* PBXTargetDependency */ = { + B5F5D59494588905FE9E97576B049BD0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SQLCipher; - target = D877F182D6C04FC1D220EA2B9768A622 /* SQLCipher */; - targetProxy = 7CB42A4B6FB35A8A115EF155D6401C0B /* PBXContainerItemProxy */; + name = YapDatabase; + target = 9BD6ECD0418ADCD6F18C45FA8DA2E165 /* YapDatabase */; + targetProxy = 97660F44DADC8A50C3DB02E395E2A9EC /* PBXContainerItemProxy */; }; - C0A8539687B110C84486BEE1C9AFA0C9 /* PBXTargetDependency */ = { + B655DAAD1BFEEC2D88F0031661BB36D7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = 85133E66CEC5CB0A9794202647D9A40C /* PBXContainerItemProxy */; + name = PromiseKit; + target = 8362105D5E1254A82E4BA3875F887F0E /* PromiseKit */; + targetProxy = A9144FF2B11E786C39F737F6CF6701AE /* PBXContainerItemProxy */; }; - C1FFB63C7CBE3DEE281599BA4F7F1026 /* PBXTargetDependency */ = { + B704300A577A7D0A515137B9DE5ED118 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = C0FE93AE50BEC033F25FA231851B0C90 /* CryptoSwift */; - targetProxy = F9DE98900A98E9ED02303DA970D1EEC0 /* PBXContainerItemProxy */; + name = GoogleUtilities; + target = 7BE161B1BFC0D58A73E980CE09E30805 /* GoogleUtilities */; + targetProxy = 45CF1B43335339CB186A7C652FF23A2C /* PBXContainerItemProxy */; }; - C203F4506C0CCC6D1A712CD0877483E8 /* PBXTargetDependency */ = { + B82382EA333A71DE8E6823F4E42C610C /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = 588EDA29FAFDC5D8BB96D3025DF30F48 /* PBXContainerItemProxy */; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = 433FA1373D5AA9DCD925F731B93EC3D1 /* PBXContainerItemProxy */; }; - C26A77D3369AC67035AC0EB9405BAC8A /* PBXTargetDependency */ = { + B869655592BB3708348B9A2C0F102AD1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = GoogleUtilities; - target = 92CA30D42B7F2C151CBCF42BE7146BEC /* GoogleUtilities */; - targetProxy = A98CF7E0A964FC0D041169EB3E23BB17 /* PBXContainerItemProxy */; + name = SAMKeychain; + target = C2082525912BAB9EE6776B67914FAE3D /* SAMKeychain */; + targetProxy = 458C308FABE3762F718D29B558704936 /* PBXContainerItemProxy */; + }; + B869F37B003E5B29966744E8BC1503EB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Mantle; + target = 02AD8789483D0C881D9CCA5ABB184877 /* Mantle */; + targetProxy = 2610419EAE7AEC467142379137F691CB /* PBXContainerItemProxy */; + }; + B99172711F421241E68914F2BF2F147F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AFNetworking; + target = 2C37A63BCEE15E2B9E8FB9A18C9671FF /* AFNetworking */; + targetProxy = 8EACABD5C8735E975778F51EC5541A7C /* PBXContainerItemProxy */; + }; + BA8E898428A5040BC20FA84F6DE25482 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = HKDFKit; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = CC3D118A8B600C1FBFC64A5B9DAC03D3 /* PBXContainerItemProxy */; }; - C3796D7F12ACDA5E8118B753EC43A864 /* PBXTargetDependency */ = { + BACC78BCB3CEA9E29B11C3E0F2A3AF91 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "libPhoneNumber-iOS"; + target = E9846A58E29BC524F26ACBD37F42AB9B /* libPhoneNumber-iOS */; + targetProxy = C9829CDC4A28A3C627C35FDBD46471AF /* PBXContainerItemProxy */; + }; + BB991E6853C2237E30E45471FFEC86F4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = YYImage; - target = 7FA3555E24406A2581210A6508CA2F60 /* YYImage */; - targetProxy = 2DDD15C9891C694C7B3F163A8641DD41 /* PBXContainerItemProxy */; + target = B2DB9200FF6BA441B3CCBBAC63D08884 /* YYImage */; + targetProxy = 04684716E0C6F66170CF291E5E8F3D14 /* PBXContainerItemProxy */; + }; + BBB7884C90828758ABB30A5D6020E7D6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Starscream; + target = 27B11AA96B1C65EADA079565268D1E14 /* Starscream */; + targetProxy = 550CC5EB8EC0517642DF4A7521859429 /* PBXContainerItemProxy */; }; - C4640AE149CC18B6A23ADC0CE11C5AED /* PBXTargetDependency */ = { + BD8A69CD5598581A0444336987039AE9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 9A02B89FC941247710907A108F296BD4 /* PBXContainerItemProxy */; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = 98EDDFDC6874283AEB7C5E26CBF9B98F /* PBXContainerItemProxy */; }; - C74C9A14F888771B2552917B22C7E5C1 /* PBXTargetDependency */ = { + C02899AEE980B3A87CE2F457D9D8DCAF /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 143D55F507BD27D11CD79D079ABC9A2B /* PBXContainerItemProxy */; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = E443294C52FF07E1572FAAC5D292075C /* PBXContainerItemProxy */; }; - C813997B08F22DB1D69B0614ACFC33FE /* PBXTargetDependency */ = { + C0D2607C06315F5657AC66E14EC9780D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftProtobuf; - target = 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */; - targetProxy = 14F669772AE7A2B49D078FA301A54862 /* PBXContainerItemProxy */; + name = AFNetworking; + target = 2C37A63BCEE15E2B9E8FB9A18C9671FF /* AFNetworking */; + targetProxy = 7C684355E959E7D81D868820763474E8 /* PBXContainerItemProxy */; }; - C9B7708A43C3DC7BDBD6F03EB4840803 /* PBXTargetDependency */ = { + C58B50346C18FA3CDD5B510A26A3D7F2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = GoogleUtilities; - target = 92CA30D42B7F2C151CBCF42BE7146BEC /* GoogleUtilities */; - targetProxy = DD9780238083753954403B4887095DA0 /* PBXContainerItemProxy */; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = 5B68380323029FDC576531CC64AD69CF /* PBXContainerItemProxy */; }; - CAB3FF3E5841223CD098BF904CE8E9C8 /* PBXTargetDependency */ = { + C6544606D50BAB2121E83B98A224819B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = C0FE93AE50BEC033F25FA231851B0C90 /* CryptoSwift */; - targetProxy = F71A4FC540542DC8D28109A49B195940 /* PBXContainerItemProxy */; + name = Mantle; + target = 02AD8789483D0C881D9CCA5ABB184877 /* Mantle */; + targetProxy = 815187DEA8D7EB9ADAD9ACD82DB6461E /* PBXContainerItemProxy */; }; - CAEF370419B8296E95F2245C75FDF43C /* PBXTargetDependency */ = { + C8E7E85FE6C2CFFE3F310369A287B7E5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Reachability; + target = 3524814E42E299FFBA2F6FA82E436DD4 /* Reachability */; + targetProxy = 4A8A90F59AD42C26901C2D80DF71FDE4 /* PBXContainerItemProxy */; + }; + C9A66E279C893A9024B99A53AF1D9B73 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SwiftProtobuf; - target = 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */; - targetProxy = 663ADA1F31E32562A2D79CA204871A5C /* PBXContainerItemProxy */; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = B4C08A59A2160E824BDA67941F002E25 /* PBXContainerItemProxy */; }; - CB50E9A4F437E81C52024493CD2F51BF /* PBXTargetDependency */ = { + CA0546F5AC4C880951EF68B2C83A4F45 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromiseKit; - target = 41534CD75578C922D789F429B9933B2A /* PromiseKit */; - targetProxy = 3A359374325D3EC16EF1702882B6B7C4 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 41573C53A114F44CDA2391FFD45D3693 /* PBXContainerItemProxy */; }; - CC8E0FAB81D714C979A7F37AE4847D6F /* PBXTargetDependency */ = { + CCFED0594DCB386441CD59413FB55B1E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AFNetworking; - target = CE33B6750794D443498A98ED3243676B /* AFNetworking */; - targetProxy = D98CEEC41804A9AFB4F916DC888FA6FD /* PBXContainerItemProxy */; + name = HKDFKit; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = 171A0FC3E2D3631D39C8725D1F62201B /* PBXContainerItemProxy */; }; - CE0367F1294969AD854A0A558A444F53 /* PBXTargetDependency */ = { + CD3CC9C725460C0C1AA64B7725034359 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CryptoSwift; - target = C0FE93AE50BEC033F25FA231851B0C90 /* CryptoSwift */; - targetProxy = 4CB0257AFBC5FB1577D867B906C4E37A /* PBXContainerItemProxy */; + target = 8D899A7512B8E2CAD748A9EBE5DAB484 /* CryptoSwift */; + targetProxy = 8ADBD61FB839633A9CC38471864E1E8A /* PBXContainerItemProxy */; }; - CF7531E5565BDFB319170393604B3E2A /* PBXTargetDependency */ = { + CD59EC2DDD76C316B7975E25D1B118AD /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SAMKeychain; - target = BEB8EF499C0BAE48764C4B2C4423D2F6 /* SAMKeychain */; - targetProxy = 0862D53F1AC0F12040C02F30125857AB /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 7B26A3C1354AF79A6E4138489C92B42C /* PBXContainerItemProxy */; }; - D0A1C6423BF3E5DCA0A9A1F025DCEF64 /* PBXTargetDependency */ = { + CE896B3CDD560709852F3009B489737F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = DAC680956E299F0BF88BD50EBE403245 /* PBXContainerItemProxy */; + name = SQLCipher; + target = 393F81D254FDCBBA782ED7224542A956 /* SQLCipher */; + targetProxy = D4CB41B3C3F79215104D55FBE401C97A /* PBXContainerItemProxy */; }; - D2EAA7D554A3FB0851BD04C08EE8FEEE /* PBXTargetDependency */ = { + CEB3DC58C001AEB9E0EF13E885CDC81E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromiseKit; - target = 41534CD75578C922D789F429B9933B2A /* PromiseKit */; - targetProxy = 1E8448655E300D6AA799B1D10BAC8495 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 8D899A7512B8E2CAD748A9EBE5DAB484 /* CryptoSwift */; + targetProxy = A8AFCE1C2499201F31CD355A28E46795 /* PBXContainerItemProxy */; + }; + D0B9CF4E6455F6ED1B6396254B0AEFE6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SQLCipher; + target = 393F81D254FDCBBA782ED7224542A956 /* SQLCipher */; + targetProxy = D1DC82A42A258B5EA5EE5DC5D1BECCBD /* PBXContainerItemProxy */; }; - D34395B0B26E402E4182467D199B447B /* PBXTargetDependency */ = { + D0D0F6A656EF7EC8B1A0703D36C4878D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AFNetworking; + target = 2C37A63BCEE15E2B9E8FB9A18C9671FF /* AFNetworking */; + targetProxy = 894CA0B973BA28BC5EC3B7B1BC52F393 /* PBXContainerItemProxy */; + }; + D257DD62C0B16E88981CAB8F11A2A743 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = D5AD640336B6ABD86FA9BB1310BA3805 /* PBXContainerItemProxy */; + }; + D5156FB2AD064F63D6F292149A0D28D9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = 8863AF217A2AFD933D82FE26771D6AAC /* PBXContainerItemProxy */; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = 62E07839695137FF35E0CBEE4E0C3AE1 /* PBXContainerItemProxy */; }; - D79DE3A6AFCD4ED5A8F680BE34EB766E /* PBXTargetDependency */ = { + D6C766AAEA80E1F8551F725ED9296F0D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PureLayout; - target = D45B4BF290020065251511F935D72F2C /* PureLayout */; - targetProxy = 6871BF67C02B1335A950B911C296E98D /* PBXContainerItemProxy */; + name = "libPhoneNumber-iOS"; + target = E9846A58E29BC524F26ACBD37F42AB9B /* libPhoneNumber-iOS */; + targetProxy = 4B2C74AD9E21D473747039DB8FF65B63 /* PBXContainerItemProxy */; }; - D85A6AAA5BC7FF573132C5FAA67B8FF1 /* PBXTargetDependency */ = { + D75EF935D8352E4A628EFAD2F2BE3F0C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SAMKeychain; - target = BEB8EF499C0BAE48764C4B2C4423D2F6 /* SAMKeychain */; - targetProxy = 30EBA7F335F8E37A8EA237CB549B5D11 /* PBXContainerItemProxy */; + name = HKDFKit; + target = F0A92181547188BFA00E27847C615050 /* HKDFKit */; + targetProxy = 5B9A7CB4A771EF612C511C409FFF70EE /* PBXContainerItemProxy */; }; - D900F3A0E9F9774BA65872030569BC33 /* PBXTargetDependency */ = { + D8F8096D6FCCC1989425C707363BDFE7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = 8749A5A7AF9F8425E4B856DD0572CEAF /* PBXContainerItemProxy */; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = C3236550A3290DE388E24D2D2D49A398 /* PBXContainerItemProxy */; }; - DEED4538D6BFE7FE75D0574CD7732B69 /* PBXTargetDependency */ = { + DB1802B0063930AEC91B43C6B9F51150 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = B55A6E4EB6CD6741D3FC9BBBDC520CD1 /* PBXContainerItemProxy */; + name = SwiftProtobuf; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = 151170C008DCACCECCC3CE22CACAD1FB /* PBXContainerItemProxy */; }; - DFC42A17C79636E811212C342E38FB5A /* PBXTargetDependency */ = { + DBF7EB18C132A682EEA479FAEAA60FC4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Reachability; - target = 1FAF6137A1568F1846807A8A28D8C3D9 /* Reachability */; - targetProxy = 4589154681E88D3EF8EC18F50B685E22 /* PBXContainerItemProxy */; + name = SwiftProtobuf; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = 9D709E34685E5161430A455A2D9613A8 /* PBXContainerItemProxy */; }; - DFF3A460159D4F8025BC90866B31017C /* PBXTargetDependency */ = { + DC182ECAF27104233595701767F998F0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SwiftProtobuf; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = DDBE43803D80E087DD19788E7B18714F /* PBXContainerItemProxy */; + }; + DD057BAAD79B466551CAD8390D91EB0A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Curve25519Kit; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = 8C6325D51492047C0979BCAF526D26D7 /* PBXContainerItemProxy */; + }; + DD7EBDAEDB1B852115B623E6B93690F5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = YYImage; - target = 7FA3555E24406A2581210A6508CA2F60 /* YYImage */; - targetProxy = DD735AB4184EC760408173B9413D83C5 /* PBXContainerItemProxy */; + target = B2DB9200FF6BA441B3CCBBAC63D08884 /* YYImage */; + targetProxy = 0462F98299E573A06727BF7D36A84F8B /* PBXContainerItemProxy */; }; - E315ECB9B4764C4D8875045F5A445322 /* PBXTargetDependency */ = { + E06842AA18C550C75053D1F982C48A6A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SignalMetadataKit; - target = 9BD1D084788925526680BE28E517A85A /* SignalMetadataKit */; - targetProxy = ED56F9385907B7A30BB12C45875D1B2C /* PBXContainerItemProxy */; + target = 132A0C8FF2B6CBC9C118A3FA9FE3B5A7 /* SignalMetadataKit */; + targetProxy = CB945E466B25D991DDC0047A3BF73A8E /* PBXContainerItemProxy */; }; - E3EBD8B6A90BB5AAAB7C4F0B9BAA14F2 /* PBXTargetDependency */ = { + E18E8217AE0FA846138AECDE621BEA2F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Starscream; - target = D5B5BE38F50622E0DD7A08298EBC9BBA /* Starscream */; - targetProxy = 8FF2F7C2E63510A84692B7E5B36433BE /* PBXContainerItemProxy */; + name = Curve25519Kit; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = 1A2BAFFF46EA9A230DE2B4358330D886 /* PBXContainerItemProxy */; }; - E40BB81401B7C2A6A261BBAB16032442 /* PBXTargetDependency */ = { + E221D35CC40556540F6DB4FC56E267D9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Mantle; - target = D6415F93B1D7822CD9481CA39BDFAF11 /* Mantle */; - targetProxy = D9E69700FE4F1A4B3F64EFE0B59D2E1E /* PBXContainerItemProxy */; + name = PureLayout; + target = 462AC13EC68E19388E93FBAD92C6E444 /* PureLayout */; + targetProxy = 88D9A359D7268614B7413D69E654CBF7 /* PBXContainerItemProxy */; }; - E414F361B7500F3BDEF597F90F6A5AB4 /* PBXTargetDependency */ = { + E3670856BF62183374E235ED86BEA5E8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = 2DD1005AAF22ABFB9705C3DAEC81F01A /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 8D899A7512B8E2CAD748A9EBE5DAB484 /* CryptoSwift */; + targetProxy = E6BD72C0CE18DB8669C90BB30EFBCB9F /* PBXContainerItemProxy */; }; - E420F4B2BAF06CF9B6568EB8A9EEEFBB /* PBXTargetDependency */ = { + E55F23A24CEC51381D6EFEE1BFD7CE6B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AFNetworking; - target = CE33B6750794D443498A98ED3243676B /* AFNetworking */; - targetProxy = 75D12B6EF40B991B70E95A5C09394957 /* PBXContainerItemProxy */; + name = Starscream; + target = 27B11AA96B1C65EADA079565268D1E14 /* Starscream */; + targetProxy = 9D946489CE50965CE121EFBD47876020 /* PBXContainerItemProxy */; }; - E4D9C3AC239A121C5C3C249DE8CC1A23 /* PBXTargetDependency */ = { + E70196EFDD2E33B4B47F8CF340A87796 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftProtobuf; - target = 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */; - targetProxy = 9CD6DD51CFB182026BC60FAE062451FE /* PBXContainerItemProxy */; + name = SSZipArchive; + target = EB3BB3DB5FB7894F89A14F20154E690B /* SSZipArchive */; + targetProxy = A6A0A740AB8D54404C1807E10D3CEDE2 /* PBXContainerItemProxy */; }; - E5B0F0EA7E0858D82B1A9457D21D5179 /* PBXTargetDependency */ = { + E789602EDF5E6792F72B32E55052E889 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftProtobuf; - target = 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */; - targetProxy = 37A116F882BF5703A744225C0D29D976 /* PBXContainerItemProxy */; + name = "libPhoneNumber-iOS"; + target = E9846A58E29BC524F26ACBD37F42AB9B /* libPhoneNumber-iOS */; + targetProxy = EB4CBED19B6BD4D1C1D0812E876C172B /* PBXContainerItemProxy */; }; - E857135E2EFE74C2EAD77BB20CF75669 /* PBXTargetDependency */ = { + E7E715D339F5117D1008812E02F7A86E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "libPhoneNumber-iOS"; - target = 49FAFF275E9A07AA126D6878881F91E5 /* libPhoneNumber-iOS */; - targetProxy = D83646D1F8728B77BDDE942C52B2AE8D /* PBXContainerItemProxy */; + name = Starscream; + target = 27B11AA96B1C65EADA079565268D1E14 /* Starscream */; + targetProxy = E2B3BA6BA750CA8E9039A828B3FE2B19 /* PBXContainerItemProxy */; }; - E8D19F2D60347FA19F7764565D8424FD /* PBXTargetDependency */ = { + E7F29346D49984A226D0B51067F5E973 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = PromiseKit; - target = 41534CD75578C922D789F429B9933B2A /* PromiseKit */; - targetProxy = F89AFD36436D17D635EDFD88384A1E1A /* PBXContainerItemProxy */; + target = 8362105D5E1254A82E4BA3875F887F0E /* PromiseKit */; + targetProxy = 5BD4CEC3D6CF54768DE886B009907036 /* PBXContainerItemProxy */; }; - E982023D79AE0D33A13B4E9A711BD6D8 /* PBXTargetDependency */ = { + E8B9DCF74C4D2F2FB3B34C6C881732D5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E40276058FD3D7935B9DCE56C1BAC2C7 /* CocoaLumberjack */; - targetProxy = B10CA05BFE8FF06E6093D2143C218C54 /* PBXContainerItemProxy */; + name = Reachability; + target = 3524814E42E299FFBA2F6FA82E436DD4 /* Reachability */; + targetProxy = 62EA2AE5694B34CA181A4393AB817218 /* PBXContainerItemProxy */; }; - EBFA1D4089B45B74DEE28972CD532A9B /* PBXTargetDependency */ = { + E8EE9364C20C1A15ECA173C7747902F6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = YapDatabase; - target = 45912FCC22A1728F871BB6ED08546686 /* YapDatabase */; - targetProxy = BE4DBD66B5B60660E95679A90C0F1816 /* PBXContainerItemProxy */; + name = Curve25519Kit; + target = E2AADC55B62C0397C2885ABFD545CAA6 /* Curve25519Kit */; + targetProxy = 9A12621A34E268B505E68F9253324E1A /* PBXContainerItemProxy */; }; - ED725464CA2B3F286C6FBFE9C04D95F1 /* PBXTargetDependency */ = { + EBA5618986E5FF78D54A5069FCFA3410 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AxolotlKit; - target = FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */; - targetProxy = F0EB7576209F316547909488E9E05FA8 /* PBXContainerItemProxy */; + name = Starscream; + target = 27B11AA96B1C65EADA079565268D1E14 /* Starscream */; + targetProxy = 6F57524007598182940B1683337A4B20 /* PBXContainerItemProxy */; }; - EEF85AD93EB5C227065BC1215D6C4D11 /* PBXTargetDependency */ = { + ED3579E4ACA273309CBC909F147CFDFB /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SwiftProtobuf; - target = 2A52F930E1C3719EB6B4BB97D04119F0 /* SwiftProtobuf */; - targetProxy = F3FEF89FD472A90B10361D8DAA9633C2 /* PBXContainerItemProxy */; + target = 1C510D2743AA315015E85BD17823EB3C /* SwiftProtobuf */; + targetProxy = 89258340B4358A123C2192D4F496F391 /* PBXContainerItemProxy */; }; - EFC8D2439376662E7FF487DFACA094A1 /* PBXTargetDependency */ = { + EE20F342458D7E4370995AD1296B8803 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Reachability; - target = 1FAF6137A1568F1846807A8A28D8C3D9 /* Reachability */; - targetProxy = 58CB8003F11AF4A4768A7132E8089353 /* PBXContainerItemProxy */; + name = SignalServiceKit; + target = 56FEAC3FCA8ADA9B6D3602FBA38B2527 /* SignalServiceKit */; + targetProxy = 2AFD5AF8C58A9857C1C0D345A1395836 /* PBXContainerItemProxy */; }; - F24777263BB7F901DBB4C7119F11ED22 /* PBXTargetDependency */ = { + EE625EEA7627BC6FE9C33466C7B6FE79 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Curve25519Kit; - target = 14B9B654F42402AD0BFAD11B86AEB1D1 /* Curve25519Kit */; - targetProxy = 560DC0B4F3E4E171CE1E1E92C5EEFE1A /* PBXContainerItemProxy */; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = 74E736CEE25F811E8DAD365AF1F4A54E /* PBXContainerItemProxy */; }; - F26DC1BC5DB328CBD8B04BC56B0D5B22 /* PBXTargetDependency */ = { + EF2E3A49071F8C29052DAFF832BA256E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AxolotlKit; - target = FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */; - targetProxy = A4D7C68FB0FF7691E492D518F7883C5F /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = F3C5A22D3883839FD3882095D9DCBF4B /* PBXContainerItemProxy */; }; - F302E42FC276EBA793F0A2915C0419D4 /* PBXTargetDependency */ = { + F05F638EE74B081D92E8E9D115022E56 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AFNetworking; - target = CE33B6750794D443498A98ED3243676B /* AFNetworking */; - targetProxy = 338562FF6E996EFF6172CCB98EE09D31 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E1BC5D5166A50136B6CB9B01E8486AC8 /* CocoaLumberjack */; + targetProxy = 3ADDB9F901EB749FDB523B8598B912BF /* PBXContainerItemProxy */; }; - F4AC554E07B1EB01FE1D057122EB0D5D /* PBXTargetDependency */ = { + F26247AB7EA2F0E056F3113B94DBCF20 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Starscream; - target = D5B5BE38F50622E0DD7A08298EBC9BBA /* Starscream */; - targetProxy = DC5D19C14CB0EFD1F6AA750285D00386 /* PBXContainerItemProxy */; + name = SignalServiceKit; + target = 56FEAC3FCA8ADA9B6D3602FBA38B2527 /* SignalServiceKit */; + targetProxy = 12275D4A4A233CA09FE229D614950BF3 /* PBXContainerItemProxy */; }; - F50BCB0235B179C3E46ED07287384070 /* PBXTargetDependency */ = { + F4BC295884268A54AC1C8CBE1DDF751B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SQLCipher; - target = D877F182D6C04FC1D220EA2B9768A622 /* SQLCipher */; - targetProxy = 29F84941355B37071900E0FE5D8D7968 /* PBXContainerItemProxy */; + name = YYImage; + target = B2DB9200FF6BA441B3CCBBAC63D08884 /* YYImage */; + targetProxy = E3BC407D76BD715EE4785658D9F77867 /* PBXContainerItemProxy */; }; - F6623D16E8F93B0D1045CD502152AE88 /* PBXTargetDependency */ = { + F5A575DAD2BC7610C10D4191AFDF6143 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalServiceKit; - target = A16588799C7A0AB3A5ACEF8339CCB8BC /* SignalServiceKit */; - targetProxy = 2E03C7356CC176CF482201469A6929B2 /* PBXContainerItemProxy */; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = E96FE21877B7B3462DA3043987F8DD14 /* PBXContainerItemProxy */; }; - F88F7681E72567EA2688E2B863F5B45E /* PBXTargetDependency */ = { + F5B700F301CB4D332E4CC96C2AEA36B8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AxolotlKit; - target = FD3E2BCC4A30BA3FE5BE9076863CB3C7 /* AxolotlKit */; - targetProxy = A4135C545228B7D8FCE05872377B8ED1 /* PBXContainerItemProxy */; + name = Mantle; + target = 02AD8789483D0C881D9CCA5ABB184877 /* Mantle */; + targetProxy = 6B324703ACD31B19C7E1E11EDB90C01B /* PBXContainerItemProxy */; }; - FD13E17FDA16B14AF7E338F5153EFEC2 /* PBXTargetDependency */ = { + F6886A48094290B8157F1AE3E485C426 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SignalMetadataKit; - target = 9BD1D084788925526680BE28E517A85A /* SignalMetadataKit */; - targetProxy = F59038F1C5D3EDC9060261C65C646185 /* PBXContainerItemProxy */; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = AEB82BBFD29A8FD357F7EAD0D431EA06 /* PBXContainerItemProxy */; }; - FD9F642083271885460916F87981A5FB /* PBXTargetDependency */ = { + F71C55B1378AE9D5D97BAD1C7488585B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = HKDFKit; - target = C0928EF3EF853074F71014F6F7601CBF /* HKDFKit */; - targetProxy = F92A582F173BC4DAB4565B4F888F89CD /* PBXContainerItemProxy */; + name = SignalCoreKit; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = 124A07DC91DAC4E2768A9DE7331EE698 /* PBXContainerItemProxy */; }; - FFC7BD513D32C3987C5B4BEC99A1D002 /* PBXTargetDependency */ = { + F71EBB948DA58F2F5E570CADAABE42AD /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SignalCoreKit; - target = A61F72B3CE9BE866910A2604238DD64F /* SignalCoreKit */; - targetProxy = 70609134817239144CDC65309BC88331 /* PBXContainerItemProxy */; + target = B7707DCC847CD718D2A3F703433C0D6F /* SignalCoreKit */; + targetProxy = DBD375CDD48B1FE71290C9B254586FD9 /* PBXContainerItemProxy */; + }; + F7985EED3D7A9F7CED0594A8E8A5C3AE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AxolotlKit; + target = A58193026B0062EA57758DBB1A791CD3 /* AxolotlKit */; + targetProxy = B2BB04C4B50264AF51CDF67C45A96A39 /* PBXContainerItemProxy */; + }; + F7AE4D78CC0DD267D2B38C8F39D207E5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YapDatabase; + target = 9BD6ECD0418ADCD6F18C45FA8DA2E165 /* YapDatabase */; + targetProxy = 37235EA409402F65BF3DBF1C5F17A0A4 /* PBXContainerItemProxy */; + }; + FD26EEE5DA7A1078ACED7BA34584B97B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SAMKeychain; + target = C2082525912BAB9EE6776B67914FAE3D /* SAMKeychain */; + targetProxy = 73FC23C4297E659476E58D1C22FC6D56 /* PBXContainerItemProxy */; + }; + FFCEFCDB4AFAE7D134229E1681EC343D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Mantle; + target = 02AD8789483D0C881D9CCA5ABB184877 /* Mantle */; + targetProxy = 2A8096C19029B3AFA12E18822D080999 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 0214FA603E42811666AE1ACD72C82DB4 /* Release */ = { + 02E373DBA8A69086803C46C93D543B01 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F8ED8164FFB8D62C1AEBD5CB68090E5 /* AFNetworking.xcconfig */; + baseConfigurationReference = 10B07EF4DEB4FE50DD2FE5BC9AAFBC8E /* SignalServiceKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -13742,14 +13293,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AFNetworking/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SignalServiceKit/SignalServiceKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalServiceKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AFNetworking/AFNetworking.modulemap"; - PRODUCT_MODULE_NAME = AFNetworking; - PRODUCT_NAME = AFNetworking; + MODULEMAP_FILE = "Target Support Files/SignalServiceKit/SignalServiceKit.modulemap"; + PRODUCT_MODULE_NAME = SignalServiceKit; + PRODUCT_NAME = SignalServiceKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -13761,13 +13312,11 @@ }; name = Release; }; - 0651249B3358D9D0399228E378203D1C /* App Store Release */ = { + 06527D5E793A8ADC3CACC4A479EEF750 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F9E1AFB03B8984A1C10FAE727981BFE3 /* Pods-SignalMessaging.app store release.xcconfig */; + baseConfigurationReference = E713497EFC2616CDEA3727DE24E0C17B /* SignalMetadataKit.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -13777,29 +13326,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SignalMessaging/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SignalMetadataKit/SignalMetadataKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalMetadataKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SignalMessaging/Pods-SignalMessaging.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/SignalMetadataKit/SignalMetadataKit.modulemap"; + PRODUCT_MODULE_NAME = SignalMetadataKit; + PRODUCT_NAME = SignalMetadataKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Release; }; - 067D4871AA5D5ECA191EACEC901D0C0C /* Debug */ = { + 090D6CABAD3930611BE163DC059D11C3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B6867750FE939219C58B02E869E33C74 /* Starscream.xcconfig */; + baseConfigurationReference = ECC7CCD50D9F888C9C921619C2A27EF0 /* PureLayout.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -13811,27 +13359,32 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "PURELAYOUT_APP_EXTENSIONS=1", + ); + INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - PRODUCT_MODULE_NAME = Starscream; - PRODUCT_NAME = Starscream; + MODULEMAP_FILE = "Target Support Files/PureLayout/PureLayout.modulemap"; + PRODUCT_MODULE_NAME = PureLayout; + PRODUCT_NAME = PureLayout; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 0B5B03D0299839FF976BD4BF6FD6EFC2 /* App Store Release */ = { + 0A6BC023B342260DE3E968AC30A2AD54 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2FA2FC7794692BCA3A9F80584AEB5E59 /* FirebaseCore.xcconfig */; + baseConfigurationReference = 0928A8796D80ACA06E9B47E8C962B61C /* GoogleUtilities.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -13842,13 +13395,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/GoogleUtilities/GoogleUtilities-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/GoogleUtilities/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/FirebaseCore/FirebaseCore.modulemap"; - PRODUCT_MODULE_NAME = FirebaseCore; - PRODUCT_NAME = FirebaseCore; + MODULEMAP_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities.modulemap"; + PRODUCT_MODULE_NAME = GoogleUtilities; + PRODUCT_NAME = GoogleUtilities; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -13858,12 +13412,13 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Release; }; - 0F8D5CA2D47FDE0ED2BE2557198A5948 /* Debug */ = { + 0E3C25693D6591235BD7053A4849451B /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2FA2FC7794692BCA3A9F80584AEB5E59 /* FirebaseCore.xcconfig */; + baseConfigurationReference = 821E91DAE5C425140C8AB1EE16572C82 /* CryptoSwift.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -13873,27 +13428,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CryptoSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/FirebaseCore/FirebaseCore.modulemap"; - PRODUCT_MODULE_NAME = FirebaseCore; - PRODUCT_NAME = FirebaseCore; + MODULEMAP_FILE = "Target Support Files/CryptoSwift/CryptoSwift.modulemap"; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = "App Store Release"; }; - 13B6C0A6826EDC018F06E9CEB4DADF8C /* Debug */ = { + 107401873F2CD12430E2A963363B3980 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0B6276423E8E5BFFBB9A9EC38C4BC41B /* SSZipArchive.xcconfig */; + baseConfigurationReference = AAD2E132E6B53D84CBC177E8102E4979 /* PromiseKit.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -13903,49 +13461,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SSZipArchive/SSZipArchive-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SSZipArchive/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/PromiseKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SSZipArchive/SSZipArchive.modulemap"; - PRODUCT_MODULE_NAME = SSZipArchive; - PRODUCT_NAME = SSZipArchive; + MODULEMAP_FILE = "Target Support Files/PromiseKit/PromiseKit.modulemap"; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; - }; - 18DD4ACAB446159A73513ECD0F83A5DC /* App Store Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C91E7E55D696BAF2E6453B43BE2C3CA6 /* SignalServiceKit.unit.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - PRODUCT_NAME = "SignalServiceKit-Unit-Tests"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; - }; - name = "App Store Release"; + name = Release; }; - 1BF9B745A37DCB54B773E491B4791EBD /* Release */ = { + 11D571911EC2B5F03903589F2C8E791C /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 71797739CD18C077C3032970B0E12418 /* PureLayout.xcconfig */; + baseConfigurationReference = C2CBD2301C6ACFA0A5BD9D1A6C91A687 /* libPhoneNumber-iOS.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -13957,18 +13494,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "PURELAYOUT_APP_EXTENSIONS=1", - ); - INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/libPhoneNumber-iOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/PureLayout/PureLayout.modulemap"; - PRODUCT_MODULE_NAME = PureLayout; - PRODUCT_NAME = PureLayout; + MODULEMAP_FILE = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS.modulemap"; + PRODUCT_MODULE_NAME = libPhoneNumber_iOS; + PRODUCT_NAME = libPhoneNumber_iOS; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -13978,12 +13511,13 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = "App Store Release"; }; - 1C95D07D98F6AD22688584AF17E74A45 /* App Store Release */ = { + 12CB750E69B4F110DF876D807721DAD0 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 700B7CA1E35802178B7139E4A4377B39 /* FeedKit.xcconfig */; + baseConfigurationReference = 7650324ADEB72AD96A87B50975C83CD9 /* CocoaLumberjack.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -13993,14 +13527,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/FeedKit/FeedKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FeedKit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CocoaLumberjack/CocoaLumberjack-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CocoaLumberjack/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FeedKit/FeedKit.modulemap"; - PRODUCT_MODULE_NAME = FeedKit; - PRODUCT_NAME = FeedKit; + MODULEMAP_FILE = "Target Support Files/CocoaLumberjack/CocoaLumberjack.modulemap"; + PRODUCT_MODULE_NAME = CocoaLumberjack; + PRODUCT_NAME = CocoaLumberjack; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -14010,11 +13544,11 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Release; }; - 1DF0DDD4B92C35DECA925FF0A143FE48 /* App Store Release */ = { + 1952FB3F1AA8CDB84C7B5CA7A7F8940F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EE0E3939F89AC26E5096BDD7443CF1AA /* SignalCoreKit.unit.xcconfig */; + baseConfigurationReference = 7E809EFE5F5EDD63DE066E28A38B267D /* HKDFKit.unit.xcconfig */; buildSettings = { CODE_SIGNING_ALLOWED = YES; CODE_SIGNING_REQUIRED = YES; @@ -14022,22 +13556,22 @@ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - PRODUCT_NAME = "SignalCoreKit-Unit-Tests"; + PRODUCT_NAME = "HKDFKit-Unit-Tests"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; }; - name = "App Store Release"; + name = Release; }; - 20B38545DD8B0FB0B951189DDDED439D /* App Store Release */ = { + 1B03C9B404E82C49D673F561EAA86C71 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A80A4B1FAE3573E0BA830DD7FA68C751 /* SignalServiceKit.xcconfig */; + baseConfigurationReference = FDFD5A7CD55B27B0FA458EC6776755C7 /* Pods-SignalTests.app store release.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -14048,18 +13582,19 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SignalServiceKit/SignalServiceKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalServiceKit/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SignalTests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SignalServiceKit/SignalServiceKit.modulemap"; - PRODUCT_MODULE_NAME = SignalServiceKit; - PRODUCT_NAME = SignalServiceKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-SignalTests/Pods-SignalTests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -14067,10 +13602,11 @@ }; name = "App Store Release"; }; - 222A212FA369EF0DBD8576C5E3A902B3 /* Release */ = { + 1BE24385670F096AAF4C11BADAEBEFE1 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31EF34DE0D3F982275897C13751E8B97 /* GoogleUtilities.xcconfig */; + baseConfigurationReference = C2CBD2301C6ACFA0A5BD9D1A6C91A687 /* libPhoneNumber-iOS.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14080,30 +13616,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/GoogleUtilities/GoogleUtilities-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/GoogleUtilities/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/libPhoneNumber-iOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities.modulemap"; - PRODUCT_MODULE_NAME = GoogleUtilities; - PRODUCT_NAME = GoogleUtilities; + MODULEMAP_FILE = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS.modulemap"; + PRODUCT_MODULE_NAME = libPhoneNumber_iOS; + PRODUCT_NAME = libPhoneNumber_iOS; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 22D5781F39DB72741B775B78023961E1 /* Debug */ = { + 1D1EAE8DD17E0F9263963880598168BB /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F35E0788F133C263B7709165E1DA4B40 /* SAMKeychain.xcconfig */; + baseConfigurationReference = AC9FA3DC4FD8142BA1CCBB808B6D066B /* SSZipArchive.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14113,28 +13647,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SAMKeychain/SAMKeychain-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SAMKeychain/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SSZipArchive/SSZipArchive-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SSZipArchive/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SAMKeychain/SAMKeychain.modulemap"; - PRODUCT_MODULE_NAME = SAMKeychain; - PRODUCT_NAME = SAMKeychain; + MODULEMAP_FILE = "Target Support Files/SSZipArchive/SSZipArchive.modulemap"; + PRODUCT_MODULE_NAME = SSZipArchive; + PRODUCT_NAME = SSZipArchive; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = "App Store Release"; }; - 25A22ABC670DBB12729611E57E3274CA /* Release */ = { + 1F9AD478E1B573FE7F4823CB29A677FA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0B6276423E8E5BFFBB9A9EC38C4BC41B /* SSZipArchive.xcconfig */; + baseConfigurationReference = 3BF891B38C1D1C0738ECF31E50DA5F00 /* SAMKeychain.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14144,14 +13680,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SSZipArchive/SSZipArchive-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SSZipArchive/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SAMKeychain/SAMKeychain-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SAMKeychain/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SSZipArchive/SSZipArchive.modulemap"; - PRODUCT_MODULE_NAME = SSZipArchive; - PRODUCT_NAME = SSZipArchive; + MODULEMAP_FILE = "Target Support Files/SAMKeychain/SAMKeychain.modulemap"; + PRODUCT_MODULE_NAME = SAMKeychain; + PRODUCT_NAME = SAMKeychain; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -14163,71 +13699,53 @@ }; name = Release; }; - 269EE4706A10323A3582E7231F9BFFC9 /* App Store Release */ = { + 1FD50BDA21AE2F0C962B64F0BB1FCED9 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = CD32E50FD0F490DED11F1BB5630B1479 /* Curve25519Kit.unit.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_APP_STORE_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; - SYMROOT = "${SRCROOT}/../build"; + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + PRODUCT_NAME = "Curve25519Kit-Unit-Tests"; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + VALIDATE_PRODUCT = YES; }; - name = "App Store Release"; + name = Release; + }; + 238548E979CEA0EECA589858D936C7C6 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 29E279E5874831504FAF52A4C638D4BE /* SignalMetadataKit.unit.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + PRODUCT_NAME = "SignalMetadataKit-Unit-Tests"; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + VALIDATE_PRODUCT = YES; + }; + name = Release; }; - 29A60528E32E05B7C453B18FEA5A65AD /* Release */ = { + 244805F3420BE3A5CF836E58B3D72659 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FE5B29B58459AEACC94D9488B0886232 /* GCDWebServer.xcconfig */; + baseConfigurationReference = E713497EFC2616CDEA3727DE24E0C17B /* SignalMetadataKit.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14237,28 +13755,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/GCDWebServer/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SignalMetadataKit/SignalMetadataKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalMetadataKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; - PRODUCT_MODULE_NAME = GCDWebServer; - PRODUCT_NAME = GCDWebServer; + MODULEMAP_FILE = "Target Support Files/SignalMetadataKit/SignalMetadataKit.modulemap"; + PRODUCT_MODULE_NAME = SignalMetadataKit; + PRODUCT_NAME = SignalMetadataKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 2A0C462EF15022DE77AB60CBF33B4ABB /* App Store Release */ = { + 2A3B4CD1DFFF69C6A17ABB8BD8D14E45 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7A49B2C6D1554C1A58CEFEBB7841A6F8 /* YYImage.xcconfig */; + baseConfigurationReference = C885495F25A202343D01C2C2CD473B85 /* Mantle.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -14270,28 +13787,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/YYImage/YYImage-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/YYImage/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Mantle/Mantle-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Mantle/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/YYImage/YYImage.modulemap"; - PRODUCT_MODULE_NAME = YYImage; - PRODUCT_NAME = YYImage; + MODULEMAP_FILE = "Target Support Files/Mantle/Mantle.modulemap"; + PRODUCT_MODULE_NAME = Mantle; + PRODUCT_NAME = Mantle; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Debug; }; - 2B3C911C62127817250FFAB7E920DEF1 /* Release */ = { + 2DE831CC417BE116B919C33EB9990FBF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B4613EB6B91E6D103234B55EB64C21D0 /* Curve25519Kit.xcconfig */; + baseConfigurationReference = D640CF29A534821FF53479EE2ED5A5B9 /* Starscream.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -14303,29 +13819,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Starscream/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit.modulemap"; - PRODUCT_MODULE_NAME = Curve25519Kit; - PRODUCT_NAME = Curve25519Kit; + MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; + PRODUCT_MODULE_NAME = Starscream; + PRODUCT_NAME = Starscream; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 2C9CDC84D32DBEE6CBD7E4D6F3F2082E /* App Store Release */ = { + 2E847CB47D877C30B461BF42FB7B4345 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0B6276423E8E5BFFBB9A9EC38C4BC41B /* SSZipArchive.xcconfig */; + baseConfigurationReference = D9A2DB42F8F5C243B264B452F514E46B /* AxolotlKit.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14335,28 +13851,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SSZipArchive/SSZipArchive-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SSZipArchive/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AxolotlKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SSZipArchive/SSZipArchive.modulemap"; - PRODUCT_MODULE_NAME = SSZipArchive; - PRODUCT_NAME = SSZipArchive; + MODULEMAP_FILE = "Target Support Files/AxolotlKit/AxolotlKit.modulemap"; + PRODUCT_MODULE_NAME = AxolotlKit; + PRODUCT_NAME = AxolotlKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Debug; }; - 2DBD31EF7347166549356785AD3C2B08 /* Debug */ = { + 30B3D06F7478104376667E79BCED60EF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 71DE18FB42C8065C176662C44FBB74E2 /* SwiftProtobuf.xcconfig */; + baseConfigurationReference = 6E2F7C68DFA9827EB8D5C6C34708372D /* SignalCoreKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -14368,29 +13883,31 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SwiftProtobuf/SwiftProtobuf-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftProtobuf/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalCoreKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftProtobuf/SwiftProtobuf.modulemap"; - PRODUCT_MODULE_NAME = SwiftProtobuf; - PRODUCT_NAME = SwiftProtobuf; + MODULEMAP_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit.modulemap"; + PRODUCT_MODULE_NAME = SignalCoreKit; + PRODUCT_NAME = SignalCoreKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 326ABC16F9F42E7CF2A90A618BA633FD /* Debug */ = { + 315F810E5F964E47A49BC402E4002F43 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5EAC49787FD657DC4231479C9B77F19A /* PromiseKit.xcconfig */; + baseConfigurationReference = 4258DF64E662E87748BFEFB477F538E0 /* Pods-Signal.release.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14400,29 +13917,55 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/PromiseKit/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-Signal/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/PromiseKit/PromiseKit.modulemap"; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-Signal/Pods-Signal.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; + }; + 33CAD11A07A3E6F74994651B2DB6B8E5 /* App Store Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4C564182DCDEBBEE43CB2460143CEC96 /* SignalServiceKit.unit.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + PRODUCT_NAME = "SignalServiceKit-Unit-Tests"; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + VALIDATE_PRODUCT = YES; + }; + name = "App Store Release"; }; - 362DEDA91743D64FAFD6FD0ABE079720 /* App Store Release */ = { + 343C6BF83F92B4A5B5EAF8572ED43EC4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 71797739CD18C077C3032970B0E12418 /* PureLayout.xcconfig */; + baseConfigurationReference = D701F9D2ECF411361309B9F90D470B7D /* Pods-LokiPushNotificationService.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14432,32 +13975,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "PURELAYOUT_APP_EXTENSIONS=1", - ); - INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-LokiPushNotificationService/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/PureLayout/PureLayout.modulemap"; - PRODUCT_MODULE_NAME = PureLayout; - PRODUCT_NAME = PureLayout; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Release; }; - 37D0429EDB0FEC51E3AA36A6DD254676 /* App Store Release */ = { + 392BF5AAEF15265F639110C6FA6CE8AA /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6E4D8884497652ED0F3A6608B3A67FAE /* Reachability.xcconfig */; + baseConfigurationReference = 7650324ADEB72AD96A87B50975C83CD9 /* CocoaLumberjack.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -14469,14 +14009,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Reachability/Reachability-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Reachability/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CocoaLumberjack/CocoaLumberjack-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CocoaLumberjack/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Reachability/Reachability.modulemap"; - PRODUCT_MODULE_NAME = Reachability; - PRODUCT_NAME = Reachability; + MODULEMAP_FILE = "Target Support Files/CocoaLumberjack/CocoaLumberjack.modulemap"; + PRODUCT_MODULE_NAME = CocoaLumberjack; + PRODUCT_NAME = CocoaLumberjack; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -14488,11 +14028,13 @@ }; name = "App Store Release"; }; - 37EDA83F3534F37EF7CEFAFE5070A7AF /* App Store Release */ = { + 3A0640EED6027838240494E350F02BB6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BF44DC334B93B24417F46856EA8F27C /* Mantle.xcconfig */; + baseConfigurationReference = F11225A445571C55C46D973512749527 /* Pods-LokiPushNotificationService.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14502,30 +14044,32 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Mantle/Mantle-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Mantle/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-LokiPushNotificationService/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Mantle/Mantle.modulemap"; - PRODUCT_MODULE_NAME = Mantle; - PRODUCT_NAME = Mantle; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Debug; }; - 42B90C4E7C3B94F7F1B803368F23816C /* Debug */ = { + 3B6AE012DA4BC8B7BE2E80E9592510F2 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 74157F31BA77650E20A77CB229FB6956 /* SignalCoreKit.xcconfig */; + baseConfigurationReference = DC6D871493A3454F2F6ABD2A3F1706FB /* Pods-LokiPushNotificationService.app store release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14535,62 +14079,102 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalCoreKit/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-LokiPushNotificationService/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit.modulemap"; - PRODUCT_MODULE_NAME = SignalCoreKit; - PRODUCT_NAME = SignalCoreKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = "App Store Release"; }; - 43738FAB5C4522D1DAE0CD8942812DE2 /* Debug */ = { + 3E7313CE2BB58E674534155782F8D2C5 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5A25C0D8DBAFF442BD4484DF5BF6F237 /* AxolotlKit.unit.xcconfig */; buildSettings = { - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - OTHER_LDFLAGS = ( + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_APP_STORE_RELEASE=1", "$(inherited)", - "-lswiftSwiftOnoneSupport", ); - PRODUCT_NAME = "AxolotlKit-Unit-Tests"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.2; + SYMROOT = "${SRCROOT}/../build"; }; - name = Debug; + name = "App Store Release"; }; - 44B199F8A8C463E862E078BE79168FBF /* Release */ = { + 412351630322909B29BD3534909F0359 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 996ED08D21EC2D2C827DE397BD66DC4C /* Curve25519Kit.unit.xcconfig */; + baseConfigurationReference = 4C564182DCDEBBEE43CB2460143CEC96 /* SignalServiceKit.unit.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGNING_ALLOWED = YES; CODE_SIGNING_REQUIRED = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - PRODUCT_NAME = "Curve25519Kit-Unit-Tests"; + GCC_PREFIX_HEADER = "Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + PRODUCT_NAME = "SignalServiceKit-Unit-Tests"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; @@ -14598,11 +14182,10 @@ }; name = Release; }; - 46CB15904940622245D4BAB73077AC4D /* Release */ = { + 48B4CC31D721C02C17CA496049D5D5B7 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BF44DC334B93B24417F46856EA8F27C /* Mantle.xcconfig */; + baseConfigurationReference = D34EFDC3257FE3575E487FCDA5FD1DE4 /* FirebaseCore.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14612,14 +14195,13 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Mantle/Mantle-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Mantle/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Mantle/Mantle.modulemap"; - PRODUCT_MODULE_NAME = Mantle; - PRODUCT_NAME = Mantle; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/FirebaseCore/FirebaseCore.modulemap"; + PRODUCT_MODULE_NAME = FirebaseCore; + PRODUCT_NAME = FirebaseCore; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -14629,45 +14211,11 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = "App Store Release"; }; - 48210044E5977C319CAEE7836972CA7A /* Debug */ = { + 4B8E621B6F3DBD0ADDB553106E9C50B7 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F8ED8164FFB8D62C1AEBD5CB68090E5 /* AFNetworking.xcconfig */; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AFNetworking/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AFNetworking/AFNetworking.modulemap"; - PRODUCT_MODULE_NAME = AFNetworking; - PRODUCT_NAME = AFNetworking; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 499E065BCE1635DD55937F6F06B658B8 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6E4D8884497652ED0F3A6608B3A67FAE /* Reachability.xcconfig */; + baseConfigurationReference = 1E93B8784C588ECEFD6457703D0BEA5A /* Reachability.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -14696,13 +14244,12 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = "App Store Release"; }; - 4B750D0CF477C9E7EC0B086745474A22 /* Debug */ = { + 4CD0D73D52B887B068CE92DAB50EB059 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D1C88AB36E6C03EDAE79BF984F57ED9F /* SignalMetadataKit.xcconfig */; + baseConfigurationReference = 0928A8796D80ACA06E9B47E8C962B61C /* GoogleUtilities.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14712,14 +14259,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SignalMetadataKit/SignalMetadataKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalMetadataKit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/GoogleUtilities/GoogleUtilities-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/GoogleUtilities/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SignalMetadataKit/SignalMetadataKit.modulemap"; - PRODUCT_MODULE_NAME = SignalMetadataKit; - PRODUCT_NAME = SignalMetadataKit; + MODULEMAP_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities.modulemap"; + PRODUCT_MODULE_NAME = GoogleUtilities; + PRODUCT_NAME = GoogleUtilities; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -14730,11 +14277,10 @@ }; name = Debug; }; - 4FA20A23DDE83838B4A57D781077D57E /* App Store Release */ = { + 4CE0438CF12760A854DF8A3C2117A438 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 33D64F9B0221290106B109FE5AC3EBE2 /* YapDatabase.xcconfig */; + baseConfigurationReference = 8FC3EEE6F3108AC4CA31C87DB973517E /* GCDWebServer.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14744,65 +14290,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/YapDatabase/YapDatabase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/YapDatabase/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/GCDWebServer/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/YapDatabase/YapDatabase.modulemap"; - PRODUCT_MODULE_NAME = YapDatabase; - PRODUCT_NAME = YapDatabase; + MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; + PRODUCT_MODULE_NAME = GCDWebServer; + PRODUCT_NAME = GCDWebServer; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Debug; }; - 4FE1719B82E2E8144EF39669A3917B99 /* App Store Release */ = { + 50FDAACEE5DD6739F8C193C62101F485 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A38E1A66B0B8BD78610FCC34BE076586 /* Pods-SignalShareExtension.app store release.xcconfig */; + baseConfigurationReference = D45CCBDFAD5A5860A4C5D47BD03B3450 /* AFNetworking.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SignalShareExtension/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = "App Store Release"; - }; - 5091EC4B6A0F906FA184E4B832AC94DE /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 31EF34DE0D3F982275897C13751E8B97 /* GoogleUtilities.xcconfig */; - buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14812,14 +14322,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/GoogleUtilities/GoogleUtilities-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/GoogleUtilities/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AFNetworking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities.modulemap"; - PRODUCT_MODULE_NAME = GoogleUtilities; - PRODUCT_NAME = GoogleUtilities; + MODULEMAP_FILE = "Target Support Files/AFNetworking/AFNetworking.modulemap"; + PRODUCT_MODULE_NAME = AFNetworking; + PRODUCT_NAME = AFNetworking; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -14830,9 +14340,9 @@ }; name = Debug; }; - 54401E6982E9611BB178C012607BC268 /* App Store Release */ = { + 5113078D94684657176FC9981BBD63EB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F1E4B77FADFD329E2D249EF201895870 /* CryptoSwift.xcconfig */; + baseConfigurationReference = D9A2DB42F8F5C243B264B452F514E46B /* AxolotlKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -14844,14 +14354,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CryptoSwift/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AxolotlKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CryptoSwift/CryptoSwift.modulemap"; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; + MODULEMAP_FILE = "Target Support Files/AxolotlKit/AxolotlKit.modulemap"; + PRODUCT_MODULE_NAME = AxolotlKit; + PRODUCT_NAME = AxolotlKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -14861,14 +14371,13 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Release; }; - 555BEC9D62DA8303F3C305CFE56C6684 /* Debug */ = { + 520F37587AF0A23E063EF1BCB5ED01FA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A80A4B1FAE3573E0BA830DD7FA68C751 /* SignalServiceKit.xcconfig */; + baseConfigurationReference = 358A59D73CBD27A8C8DAAFD0D923D977 /* SwiftProtobuf.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -14878,60 +14387,49 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SignalServiceKit/SignalServiceKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalServiceKit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftProtobuf/SwiftProtobuf-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftProtobuf/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SignalServiceKit/SignalServiceKit.modulemap"; - PRODUCT_MODULE_NAME = SignalServiceKit; - PRODUCT_NAME = SignalServiceKit; + MODULEMAP_FILE = "Target Support Files/SwiftProtobuf/SwiftProtobuf.modulemap"; + PRODUCT_MODULE_NAME = SwiftProtobuf; + PRODUCT_NAME = SwiftProtobuf; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 56CBB53B74A8E194316F652A3C28F999 /* Release */ = { + 540449E61E59A5C477D254B075C18DFC /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F35E0788F133C263B7709165E1DA4B40 /* SAMKeychain.xcconfig */; + baseConfigurationReference = CD32E50FD0F490DED11F1BB5630B1479 /* Curve25519Kit.unit.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SAMKeychain/SAMKeychain-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SAMKeychain/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SAMKeychain/SAMKeychain.modulemap"; - PRODUCT_MODULE_NAME = SAMKeychain; - PRODUCT_NAME = SAMKeychain; + GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + PRODUCT_NAME = "Curve25519Kit-Unit-Tests"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; - name = Release; + name = "App Store Release"; }; - 5C70D5D89B469CA6E03F850F99765DB4 /* App Store Release */ = { + 54B88CBB9628290769A5784FCA2ED109 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F35E0788F133C263B7709165E1DA4B40 /* SAMKeychain.xcconfig */; + baseConfigurationReference = AAD2E132E6B53D84CBC177E8102E4979 /* PromiseKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -14943,14 +14441,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SAMKeychain/SAMKeychain-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SAMKeychain/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/PromiseKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SAMKeychain/SAMKeychain.modulemap"; - PRODUCT_MODULE_NAME = SAMKeychain; - PRODUCT_NAME = SAMKeychain; + MODULEMAP_FILE = "Target Support Files/PromiseKit/PromiseKit.modulemap"; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -14962,9 +14460,9 @@ }; name = "App Store Release"; }; - 5C8FEAFB97E81AA3B3F647F3FF853E76 /* App Store Release */ = { + 54EFD3DC211B2F217B17079318048DB3 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FE5B29B58459AEACC94D9488B0886232 /* GCDWebServer.xcconfig */; + baseConfigurationReference = 1907FB5967FD584AF2068B49A60E5E14 /* FeedKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -14975,14 +14473,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/GCDWebServer/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/FeedKit/FeedKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FeedKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; - PRODUCT_MODULE_NAME = GCDWebServer; - PRODUCT_NAME = GCDWebServer; + MODULEMAP_FILE = "Target Support Files/FeedKit/FeedKit.modulemap"; + PRODUCT_MODULE_NAME = FeedKit; + PRODUCT_NAME = FeedKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -14994,9 +14492,9 @@ }; name = "App Store Release"; }; - 5EBCEE1899AC452B327B8526BC2E7FFC /* App Store Release */ = { + 56302993609AC29921007D05756DC330 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7BE55430C152C3ADF41767DA9AB14673 /* Pods-Signal.app store release.xcconfig */; + baseConfigurationReference = 2356CDC4BC7C2C8FFD3CB1113A0AFA87 /* Pods-Signal.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -15023,57 +14521,14 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; - }; - 6150642087FEDC75C87168B79AC37ED5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = EE0E3939F89AC26E5096BDD7443CF1AA /* SignalCoreKit.unit.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - PRODUCT_NAME = "SignalCoreKit-Unit-Tests"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 63025AEE823E8B6BBE017F494CB4776E /* App Store Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9EF4C73A7A34D890C24283FB2FAC483E /* SignalMetadataKit.unit.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - PRODUCT_NAME = "SignalMetadataKit-Unit-Tests"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; - }; - name = "App Store Release"; + name = Debug; }; - 630CA83D6B4D6F6C0DD0CEE6E14E8108 /* App Store Release */ = { + 5B47C01B91610BCE95AE3331898A84F1 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8D94CBEC5821939C0FB73F7E90B94FAE /* NVActivityIndicatorView.xcconfig */; + baseConfigurationReference = C326981867D81268BDF288F5CB95372E /* NVActivityIndicatorView.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -15097,16 +14552,16 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Debug; }; - 630F518F7242368993922B44AA090DCE /* Debug */ = { + 5B501CE7C1D30AAEB8F36155F36E13FF /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EC491EE1C39F559838776AF2B83CD2AB /* Mixpanel.xcconfig */; + baseConfigurationReference = D9A2DB42F8F5C243B264B452F514E46B /* AxolotlKit.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -15116,27 +14571,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Mixpanel/Mixpanel-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Mixpanel/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AxolotlKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Mixpanel/Mixpanel.modulemap"; - PRODUCT_MODULE_NAME = Mixpanel; - PRODUCT_NAME = Mixpanel; + MODULEMAP_FILE = "Target Support Files/AxolotlKit/AxolotlKit.modulemap"; + PRODUCT_MODULE_NAME = AxolotlKit; + PRODUCT_NAME = AxolotlKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = "App Store Release"; }; - 634F3066BA84C483F06524F015EC1B8B /* Debug */ = { + 5CE6C824A112C248ABE745602F6E94BF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F1E4B77FADFD329E2D249EF201895870 /* CryptoSwift.xcconfig */; + baseConfigurationReference = 7650324ADEB72AD96A87B50975C83CD9 /* CocoaLumberjack.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -15148,14 +14604,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CryptoSwift/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CocoaLumberjack/CocoaLumberjack-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CocoaLumberjack/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CryptoSwift/CryptoSwift.modulemap"; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; + MODULEMAP_FILE = "Target Support Files/CocoaLumberjack/CocoaLumberjack.modulemap"; + PRODUCT_MODULE_NAME = CocoaLumberjack; + PRODUCT_NAME = CocoaLumberjack; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -15166,10 +14622,11 @@ }; name = Debug; }; - 642B3D7C6A86FAC7745DE91A60C6558E /* Debug */ = { + 61702DC0D240B74CB07451C211A8AFD3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FE5B29B58459AEACC94D9488B0886232 /* GCDWebServer.xcconfig */; + baseConfigurationReference = B5DB338AC76502494299EAC5D859D6E8 /* SQLCipher.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -15179,16 +14636,16 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/GCDWebServer/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SQLCipher/SQLCipher-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SQLCipher/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; - PRODUCT_MODULE_NAME = GCDWebServer; - PRODUCT_NAME = GCDWebServer; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; + MODULEMAP_FILE = "Target Support Files/SQLCipher/SQLCipher.modulemap"; + PRODUCT_MODULE_NAME = SQLCipher; + PRODUCT_NAME = SQLCipher; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -15197,9 +14654,9 @@ }; name = Debug; }; - 6444F05756279D3C93BFE62812D98271 /* App Store Release */ = { + 61750A4D4D8FEA0299047BE1273B2CEE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7E1873A3D327612140629D80445AA3D9 /* AxolotlKit.xcconfig */; + baseConfigurationReference = C470798A46DAE61CE27D44C1DCD40BDB /* YYImage.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -15211,53 +14668,61 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AxolotlKit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/YYImage/YYImage-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/YYImage/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AxolotlKit/AxolotlKit.modulemap"; - PRODUCT_MODULE_NAME = AxolotlKit; - PRODUCT_NAME = AxolotlKit; + MODULEMAP_FILE = "Target Support Files/YYImage/YYImage.modulemap"; + PRODUCT_MODULE_NAME = YYImage; + PRODUCT_NAME = YYImage; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "${SRCROOT}/**"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Debug; }; - 645E3E645147FEDF09D7D2FECFAC6C5A /* Release */ = { + 637A3987DEF26FB6777AAC1777488E15 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9EF4C73A7A34D890C24283FB2FAC483E /* SignalMetadataKit.unit.xcconfig */; + baseConfigurationReference = 1E93B8784C588ECEFD6457703D0BEA5A /* Reachability.xcconfig */; buildSettings = { - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - PRODUCT_NAME = "SignalMetadataKit-Unit-Tests"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Reachability/Reachability-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Reachability/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Reachability/Reachability.modulemap"; + PRODUCT_MODULE_NAME = Reachability; + PRODUCT_NAME = Reachability; SDKROOT = iphoneos; + SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 67F88D5AAF7E335003D8322DC7217BBA /* App Store Release */ = { + 669CD12B8318E7DAD3AD73D92591C696 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F8ED8164FFB8D62C1AEBD5CB68090E5 /* AFNetworking.xcconfig */; + baseConfigurationReference = D640CF29A534821FF53479EE2ED5A5B9 /* Starscream.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -15267,18 +14732,18 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AFNetworking/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Starscream/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AFNetworking/AFNetworking.modulemap"; - PRODUCT_MODULE_NAME = AFNetworking; - PRODUCT_NAME = AFNetworking; + MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; + PRODUCT_MODULE_NAME = Starscream; + PRODUCT_NAME = Starscream; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -15286,9 +14751,9 @@ }; name = "App Store Release"; }; - 6AB7DC87667BEF69F2C2CC661A67EBD9 /* Release */ = { + 6927EB99F1E1D5C3FD24CA02AD105470 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FA4821DFD821EAD5ED494F70829D9691 /* SQLCipher.xcconfig */; + baseConfigurationReference = 05E0B764DA23F94AE73E8661F13AB6E1 /* Curve25519Kit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -15300,14 +14765,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SQLCipher/SQLCipher-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SQLCipher/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SQLCipher/SQLCipher.modulemap"; - PRODUCT_MODULE_NAME = SQLCipher; - PRODUCT_NAME = SQLCipher; + MODULEMAP_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit.modulemap"; + PRODUCT_MODULE_NAME = Curve25519Kit; + PRODUCT_NAME = Curve25519Kit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -15317,11 +14782,11 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = "App Store Release"; }; - 6AFF35B0F324AD6FCB1A9F957F6920B1 /* App Store Release */ = { + 6C2DBAE09725C593947B97D7E909D9E1 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FA4821DFD821EAD5ED494F70829D9691 /* SQLCipher.xcconfig */; + baseConfigurationReference = C470798A46DAE61CE27D44C1DCD40BDB /* YYImage.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -15333,14 +14798,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SQLCipher/SQLCipher-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SQLCipher/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/YYImage/YYImage-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/YYImage/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SQLCipher/SQLCipher.modulemap"; - PRODUCT_MODULE_NAME = SQLCipher; - PRODUCT_NAME = SQLCipher; + MODULEMAP_FILE = "Target Support Files/YYImage/YYImage.modulemap"; + PRODUCT_MODULE_NAME = YYImage; + PRODUCT_NAME = YYImage; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -15352,33 +14817,42 @@ }; name = "App Store Release"; }; - 6DB32BE126A5D93C2FB095D3ADEA4980 /* Debug */ = { + 6DE6A5BF5D9ECECB37A358AD922CDEB0 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 996ED08D21EC2D2C827DE397BD66DC4C /* Curve25519Kit.unit.xcconfig */; + baseConfigurationReference = 6E2F7C68DFA9827EB8D5C6C34708372D /* SignalCoreKit.xcconfig */; buildSettings = { - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-Info.plist"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalCoreKit/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - OTHER_LDFLAGS = ( - "$(inherited)", - "-lswiftSwiftOnoneSupport", - ); - PRODUCT_NAME = "Curve25519Kit-Unit-Tests"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit.modulemap"; + PRODUCT_MODULE_NAME = SignalCoreKit; + PRODUCT_NAME = SignalCoreKit; SDKROOT = iphoneos; + SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = "App Store Release"; }; - 6E8ADDA31FFA671902D4796841741F5B /* App Store Release */ = { + 6E071169717D11BD9683DC5DD01C1A7E /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EC491EE1C39F559838776AF2B83CD2AB /* Mixpanel.xcconfig */; + baseConfigurationReference = 8FC3EEE6F3108AC4CA31C87DB973517E /* GCDWebServer.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -15389,18 +14863,18 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Mixpanel/Mixpanel-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Mixpanel/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/GCDWebServer/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Mixpanel/Mixpanel.modulemap"; - PRODUCT_MODULE_NAME = Mixpanel; - PRODUCT_NAME = Mixpanel; + MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; + PRODUCT_MODULE_NAME = GCDWebServer; + PRODUCT_NAME = GCDWebServer; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -15408,11 +14882,13 @@ }; name = "App Store Release"; }; - 703D155598933375242A4FF491187AE5 /* App Store Release */ = { + 6E9D59E5AA4717FDD266646263CFA463 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DD444E5ECBC1AB14E9725D1847F3707B /* CocoaLumberjack.xcconfig */; + baseConfigurationReference = 5B7B7ADF07479EF0685D4754AC2397E8 /* Pods-SignalShareExtension.app store release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -15422,18 +14898,19 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CocoaLumberjack/CocoaLumberjack-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CocoaLumberjack/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SignalShareExtension/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CocoaLumberjack/CocoaLumberjack.modulemap"; - PRODUCT_MODULE_NAME = CocoaLumberjack; - PRODUCT_NAME = CocoaLumberjack; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -15441,9 +14918,9 @@ }; name = "App Store Release"; }; - 7B8E85A21DE992ADF2BC776792F7FB88 /* Debug */ = { + 6F49E97E2B9B8EE0D109DBD5926E9211 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FA4821DFD821EAD5ED494F70829D9691 /* SQLCipher.xcconfig */; + baseConfigurationReference = A2E465C9B49CFEDEC4DE76CBAD64B804 /* HKDFKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -15455,14 +14932,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SQLCipher/SQLCipher-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SQLCipher/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/HKDFKit/HKDFKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/HKDFKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SQLCipher/SQLCipher.modulemap"; - PRODUCT_MODULE_NAME = SQLCipher; - PRODUCT_NAME = SQLCipher; + MODULEMAP_FILE = "Target Support Files/HKDFKit/HKDFKit.modulemap"; + PRODUCT_MODULE_NAME = HKDFKit; + PRODUCT_NAME = HKDFKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -15473,9 +14950,30 @@ }; name = Debug; }; - 7E1F17E729B77A369B7F85E8F8779B38 /* Release */ = { + 759214187C484F702E242603E572547E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 899A74B2C131EFEF7B2C8659972BA54D /* AxolotlKit.unit.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + PRODUCT_NAME = "AxolotlKit-Unit-Tests"; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 7B94299B16040B39E60632836BEF5C24 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DAC91B7E7797D5B6BB3E54A91A760003 /* Pods-Signal.release.xcconfig */; + baseConfigurationReference = D63A7107AB610A3A95590C4DBBC9AA74 /* Pods-SignalTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -15488,12 +14986,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Signal/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SignalTests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Signal/Pods-Signal.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-SignalTests/Pods-SignalTests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -15502,15 +15000,14 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 83A761BA02F272D4426FC32CED56F3D5 /* Release */ = { + 7BB29B4A11AC5AF340A2FCECFE008572 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5EAC49787FD657DC4231479C9B77F19A /* PromiseKit.xcconfig */; + baseConfigurationReference = C2CBD2301C6ACFA0A5BD9D1A6C91A687 /* libPhoneNumber-iOS.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -15522,14 +15019,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/PromiseKit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/libPhoneNumber-iOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/PromiseKit/PromiseKit.modulemap"; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; + MODULEMAP_FILE = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS.modulemap"; + PRODUCT_MODULE_NAME = libPhoneNumber_iOS; + PRODUCT_NAME = libPhoneNumber_iOS; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -15541,11 +15038,10 @@ }; name = Release; }; - 85D3B3A04DBDFE32C17347176B98F61D /* Debug */ = { + 7C7EDC9EBF4974F9C35C9AC87F516052 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B4613EB6B91E6D103234B55EB64C21D0 /* Curve25519Kit.xcconfig */; + baseConfigurationReference = 1907FB5967FD584AF2068B49A60E5E14 /* FeedKit.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -15555,14 +15051,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/FeedKit/FeedKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FeedKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit.modulemap"; - PRODUCT_MODULE_NAME = Curve25519Kit; - PRODUCT_NAME = Curve25519Kit; + MODULEMAP_FILE = "Target Support Files/FeedKit/FeedKit.modulemap"; + PRODUCT_MODULE_NAME = FeedKit; + PRODUCT_NAME = FeedKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -15573,13 +15069,11 @@ }; name = Debug; }; - 867AFBECD67810203D8829FED0D4829C /* Debug */ = { + 7DBA99F8069512A4B1348F7F0C10F4A1 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD6E34DB135D8976D7C0DE4FB6388DC9 /* Pods-SignalMessaging.debug.xcconfig */; + baseConfigurationReference = 821E91DAE5C425140C8AB1EE16572C82 /* CryptoSwift.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -15589,51 +15083,63 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SignalMessaging/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CryptoSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SignalMessaging/Pods-SignalMessaging.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/CryptoSwift/CryptoSwift.modulemap"; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 885ED0BCB9C93AAB47439FE3A38DC1F3 /* Release */ = { + 814A861A985B73643AA1E71927293212 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5A25C0D8DBAFF442BD4484DF5BF6F237 /* AxolotlKit.unit.xcconfig */; + baseConfigurationReference = 9DE1B7BE32F6B802D5145DB11A379868 /* YapDatabase.xcconfig */; buildSettings = { - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - PRODUCT_NAME = "AxolotlKit-Unit-Tests"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/YapDatabase/YapDatabase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/YapDatabase/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/YapDatabase/YapDatabase.modulemap"; + PRODUCT_MODULE_NAME = YapDatabase; + PRODUCT_NAME = YapDatabase; SDKROOT = iphoneos; + SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - 8977FC535E01DC9301451769274E2942 /* Release */ = { + 83E990F56148159C1672BDFFD24D95BA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FD6F07A91BA232FED0DC922CBF11FD9D /* Pods-SignalTests.release.xcconfig */; + baseConfigurationReference = F30C9BCE07D75A23D509CA65FA7CB9D5 /* Pods-SignalMessaging.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -15644,12 +15150,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SignalTests/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SignalMessaging/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SignalTests/Pods-SignalTests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-SignalMessaging/Pods-SignalMessaging.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -15658,17 +15164,16 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 8A4342A833D1528E95C2EE2C134D1A3D /* Release */ = { + 84F6DF0BF983163C3D03C4683F3B5398 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A80A4B1FAE3573E0BA830DD7FA68C751 /* SignalServiceKit.xcconfig */; + baseConfigurationReference = EB7C9B86EF6075ACA80AF6511CAB6927 /* Pods-SignalTests.release.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -15679,14 +15184,48 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SignalServiceKit/SignalServiceKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalServiceKit/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SignalTests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SignalServiceKit/SignalServiceKit.modulemap"; - PRODUCT_MODULE_NAME = SignalServiceKit; - PRODUCT_NAME = SignalServiceKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-SignalTests/Pods-SignalTests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 853965ABBCA9F5DA06A7DE3449EDE633 /* App Store Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 358A59D73CBD27A8C8DAAFD0D923D977 /* SwiftProtobuf.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftProtobuf/SwiftProtobuf-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftProtobuf/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/SwiftProtobuf/SwiftProtobuf.modulemap"; + PRODUCT_MODULE_NAME = SwiftProtobuf; + PRODUCT_NAME = SwiftProtobuf; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -15696,11 +15235,11 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = "App Store Release"; }; - 984A6CA2D35EB1AC68159A7F5D01F7A4 /* Debug */ = { + 87460028C122F77F682CC0FE0B4F268C /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E75F9C39FB7C0DEC2A181A9699E387BA /* HKDFKit.xcconfig */; + baseConfigurationReference = A2E465C9B49CFEDEC4DE76CBAD64B804 /* HKDFKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -15725,12 +15264,122 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "App Store Release"; + }; + 8A613CC2145E8D37A02438FE7DD037AE /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FC46CABD76299A080A4BA822508761E6 /* SignalCoreKit.unit.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + PRODUCT_NAME = "SignalCoreKit-Unit-Tests"; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 8B350D8E2B24C909C7743A5BE1A96AC3 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7E809EFE5F5EDD63DE066E28A38B267D /* HKDFKit.unit.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-lswiftSwiftOnoneSupport", + ); + PRODUCT_NAME = "HKDFKit-Unit-Tests"; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 8BEDA66031B7EA34CA9FC42090C029A2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3BF891B38C1D1C0738ECF31E50DA5F00 /* SAMKeychain.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/SAMKeychain/SAMKeychain-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SAMKeychain/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/SAMKeychain/SAMKeychain.modulemap"; + PRODUCT_MODULE_NAME = SAMKeychain; + PRODUCT_NAME = SAMKeychain; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 8C23C00C49D656B5ACDABED333DE5740 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6E2F7C68DFA9827EB8D5C6C34708372D /* SignalCoreKit.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalCoreKit/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit.modulemap"; + PRODUCT_MODULE_NAME = SignalCoreKit; + PRODUCT_NAME = SignalCoreKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 984B99C322F45D243D991CA6A63EF1F1 /* Debug */ = { + 8DDFA5FA8D4131BFD96E5E26F3672644 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -15796,55 +15445,44 @@ }; name = Debug; }; - 99151E7BC38C92633CFF0ECDCCC3EA51 /* App Store Release */ = { + 8E251C8DC386CC6FFF9FD2C75BC1D364 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 75B8E061266778D191BEC86848086304 /* HKDFKit.unit.xcconfig */; + baseConfigurationReference = D640CF29A534821FF53479EE2ED5A5B9 /* Starscream.xcconfig */; buildSettings = { - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - PRODUCT_NAME = "HKDFKit-Unit-Tests"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Starscream/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; + PRODUCT_MODULE_NAME = Starscream; + PRODUCT_NAME = Starscream; SDKROOT = iphoneos; + SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; - }; - 995A0FE7BF014E639F13E62DA4806A9F /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 75B8E061266778D191BEC86848086304 /* HKDFKit.unit.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - OTHER_LDFLAGS = ( - "$(inherited)", - "-lswiftSwiftOnoneSupport", - ); - PRODUCT_NAME = "HKDFKit-Unit-Tests"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - }; - name = Debug; + name = Release; }; - 9A582CAC58EE8C1D3DCDF551F5E9820C /* Release */ = { + 92A61EAE6D553AE5601E57FB701D4E6D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2FA2FC7794692BCA3A9F80584AEB5E59 /* FirebaseCore.xcconfig */; + baseConfigurationReference = D45CCBDFAD5A5860A4C5D47BD03B3450 /* AFNetworking.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -15854,13 +15492,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AFNetworking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/FirebaseCore/FirebaseCore.modulemap"; - PRODUCT_MODULE_NAME = FirebaseCore; - PRODUCT_NAME = FirebaseCore; + MODULEMAP_FILE = "Target Support Files/AFNetworking/AFNetworking.modulemap"; + PRODUCT_MODULE_NAME = AFNetworking; + PRODUCT_NAME = AFNetworking; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -15872,9 +15511,9 @@ }; name = Release; }; - 9A63CBA43F9DC812DCF2D18B59B1B19C /* Debug */ = { + 94F42B4C9D72C5C0FFC1614F7DDA001D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7E1873A3D327612140629D80445AA3D9 /* AxolotlKit.xcconfig */; + baseConfigurationReference = 1E93B8784C588ECEFD6457703D0BEA5A /* Reachability.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -15886,52 +15525,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AxolotlKit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Reachability/Reachability-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Reachability/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AxolotlKit/AxolotlKit.modulemap"; - PRODUCT_MODULE_NAME = AxolotlKit; - PRODUCT_NAME = AxolotlKit; + MODULEMAP_FILE = "Target Support Files/Reachability/Reachability.modulemap"; + PRODUCT_MODULE_NAME = Reachability; + PRODUCT_NAME = Reachability; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "${SRCROOT}/**"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; - }; - 9ACBD09A109D34922E329BD43BC16119 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = EE0E3939F89AC26E5096BDD7443CF1AA /* SignalCoreKit.unit.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - OTHER_LDFLAGS = ( - "$(inherited)", - "-lswiftSwiftOnoneSupport", - ); - PRODUCT_NAME = "SignalCoreKit-Unit-Tests"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - }; - name = Debug; + name = Release; }; - 9B4D9E3048A4D42C41C611E25DD7A062 /* Release */ = { + 98DB4160298004D7ECE914FCB13FA8E5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7F76E8738FB85544DA1920F5FD23A6F6 /* Pods-SignalMessaging.release.xcconfig */; + baseConfigurationReference = 1EEEB35CD60FEE88B4F40F0AF6843451 /* Pods-SignalShareExtension.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; @@ -15945,12 +15560,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SignalMessaging/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SignalShareExtension/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SignalMessaging/Pods-SignalMessaging.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -15965,33 +15580,11 @@ }; name = Release; }; - 9CBDDF4727EDE714C193444C0CB5CEE2 /* App Store Release */ = { + 9A2703B6E0AFFBB399B6AA682B94874B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 996ED08D21EC2D2C827DE397BD66DC4C /* Curve25519Kit.unit.xcconfig */; + baseConfigurationReference = 8FC3EEE6F3108AC4CA31C87DB973517E /* GCDWebServer.xcconfig */; buildSettings = { - CODE_SIGNING_ALLOWED = YES; - CODE_SIGNING_REQUIRED = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - PRODUCT_NAME = "Curve25519Kit-Unit-Tests"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; - }; - name = "App Store Release"; - }; - A3CBE57E112B68860E6826932807CD99 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 91E049A9661A9C93E8DB198918D6EA73 /* libPhoneNumber-iOS.xcconfig */; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -16000,14 +15593,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/libPhoneNumber-iOS/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/GCDWebServer/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS.modulemap"; - PRODUCT_MODULE_NAME = libPhoneNumber_iOS; - PRODUCT_NAME = libPhoneNumber_iOS; + MODULEMAP_FILE = "Target Support Files/GCDWebServer/GCDWebServer.modulemap"; + PRODUCT_MODULE_NAME = GCDWebServer; + PRODUCT_NAME = GCDWebServer; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -16019,42 +15612,30 @@ }; name = Release; }; - A47D53701B234B9BEF33D0CC78EB321C /* App Store Release */ = { + 9BCA6B23E6E6CD5F4B7FF8F7FDEE8D40 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B6867750FE939219C58B02E869E33C74 /* Starscream.xcconfig */; + baseConfigurationReference = 899A74B2C131EFEF7B2C8659972BA54D /* AxolotlKit.unit.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - PRODUCT_MODULE_NAME = Starscream; - PRODUCT_NAME = Starscream; + GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + PRODUCT_NAME = "AxolotlKit-Unit-Tests"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; + SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; name = "App Store Release"; }; - A6588AC4E5F09151357C47F29F7FED31 /* Debug */ = { + A645562993BD980377D00BF9224AAF6B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9EF4C73A7A34D890C24283FB2FAC483E /* SignalMetadataKit.unit.xcconfig */; + baseConfigurationReference = FC46CABD76299A080A4BA822508761E6 /* SignalCoreKit.unit.xcconfig */; buildSettings = { CODE_SIGNING_ALLOWED = YES; CODE_SIGNING_REQUIRED = YES; @@ -16062,59 +15643,25 @@ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; OTHER_LDFLAGS = ( "$(inherited)", "-lswiftSwiftOnoneSupport", ); - PRODUCT_NAME = "SignalMetadataKit-Unit-Tests"; + PRODUCT_NAME = "SignalCoreKit-Unit-Tests"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; }; name = Debug; }; - A81E2A8C3AEC1186C2B779ED79058F22 /* Debug */ = { + A7A85AAEFE84D7D59C25AE348CEAC301 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9B63EDD31EA4B96212B3A77DCF8ABAF8 /* Pods-SignalShareExtension.debug.xcconfig */; + baseConfigurationReference = 358A59D73CBD27A8C8DAAFD0D923D977 /* SwiftProtobuf.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SignalShareExtension/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - A8A9F2217619AFAFB2F2731232B2CCE3 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8D94CBEC5821939C0FB73F7E90B94FAE /* NVActivityIndicatorView.xcconfig */; - buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16124,14 +15671,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/NVActivityIndicatorView/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftProtobuf/SwiftProtobuf-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftProtobuf/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView.modulemap"; - PRODUCT_MODULE_NAME = NVActivityIndicatorView; - PRODUCT_NAME = NVActivityIndicatorView; + MODULEMAP_FILE = "Target Support Files/SwiftProtobuf/SwiftProtobuf.modulemap"; + PRODUCT_MODULE_NAME = SwiftProtobuf; + PRODUCT_NAME = SwiftProtobuf; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -16142,9 +15689,9 @@ }; name = Debug; }; - A99719A6B19E836D4CF86F87D9F18565 /* Debug */ = { + AC628E67DC4031466F4BB55A33ABCCE0 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6E4D8884497652ED0F3A6608B3A67FAE /* Reachability.xcconfig */; + baseConfigurationReference = 3BF891B38C1D1C0738ECF31E50DA5F00 /* SAMKeychain.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -16156,46 +15703,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Reachability/Reachability-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Reachability/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SAMKeychain/SAMKeychain-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SAMKeychain/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Reachability/Reachability.modulemap"; - PRODUCT_MODULE_NAME = Reachability; - PRODUCT_NAME = Reachability; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - AA9E7D47E50F28E91709FDEE4B8CAD8C /* App Store Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E75F9C39FB7C0DEC2A181A9699E387BA /* HKDFKit.xcconfig */; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/HKDFKit/HKDFKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/HKDFKit/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/HKDFKit/HKDFKit.modulemap"; - PRODUCT_MODULE_NAME = HKDFKit; - PRODUCT_NAME = HKDFKit; + MODULEMAP_FILE = "Target Support Files/SAMKeychain/SAMKeychain.modulemap"; + PRODUCT_MODULE_NAME = SAMKeychain; + PRODUCT_NAME = SAMKeychain; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -16207,42 +15722,9 @@ }; name = "App Store Release"; }; - AC9CEA0CB1A056F1B4D2C15F1A12E9AF /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33D64F9B0221290106B109FE5AC3EBE2 /* YapDatabase.xcconfig */; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/YapDatabase/YapDatabase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/YapDatabase/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/YapDatabase/YapDatabase.modulemap"; - PRODUCT_MODULE_NAME = YapDatabase; - PRODUCT_NAME = YapDatabase; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - AEB10E5062EA867A00E5E8B4962F22A9 /* Debug */ = { + ADAAB79AE2A33EF724F5F0F01B77DCA2 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4C9A29E60D4928CF567E12CE25B51FA0 /* Pods-Signal.debug.xcconfig */; + baseConfigurationReference = DEE4F18431D6D6DE5C9EE8C37C90A731 /* Pods-Signal.app store release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -16269,15 +15751,17 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = "App Store Release"; }; - AFAF40C03434CB5CF6AA283B63336738 /* Debug */ = { + ADD7F5F50607BE282A6BAEC4E80E672F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 700B7CA1E35802178B7139E4A4377B39 /* FeedKit.xcconfig */; + baseConfigurationReference = C885495F25A202343D01C2C2CD473B85 /* Mantle.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16287,29 +15771,31 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/FeedKit/FeedKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FeedKit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Mantle/Mantle-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Mantle/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FeedKit/FeedKit.modulemap"; - PRODUCT_MODULE_NAME = FeedKit; - PRODUCT_NAME = FeedKit; + MODULEMAP_FILE = "Target Support Files/Mantle/Mantle.modulemap"; + PRODUCT_MODULE_NAME = Mantle; + PRODUCT_NAME = Mantle; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - B2827E9266526B65FE557E317D601BA6 /* App Store Release */ = { + B662E2B0A5727D313E5872A04E164F43 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B4613EB6B91E6D103234B55EB64C21D0 /* Curve25519Kit.xcconfig */; + baseConfigurationReference = 10B07EF4DEB4FE50DD2FE5BC9AAFBC8E /* SignalServiceKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16319,14 +15805,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SignalServiceKit/SignalServiceKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalServiceKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit.modulemap"; - PRODUCT_MODULE_NAME = Curve25519Kit; - PRODUCT_NAME = Curve25519Kit; + MODULEMAP_FILE = "Target Support Files/SignalServiceKit/SignalServiceKit.modulemap"; + PRODUCT_MODULE_NAME = SignalServiceKit; + PRODUCT_NAME = SignalServiceKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -16338,42 +15824,33 @@ }; name = "App Store Release"; }; - B4827612189B5DE29505CE8B0B099B26 /* App Store Release */ = { + B6E5058D9BAD649C3DC0C74E49B488E9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5EAC49787FD657DC4231479C9B77F19A /* PromiseKit.xcconfig */; + baseConfigurationReference = 29E279E5874831504FAF52A4C638D4BE /* SignalMetadataKit.unit.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/PromiseKit/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/PromiseKit/PromiseKit.modulemap"; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; + GCC_PREFIX_HEADER = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-lswiftSwiftOnoneSupport", + ); + PRODUCT_NAME = "SignalMetadataKit-Unit-Tests"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Debug; }; - B50D4A93F90F1A65A422CCAA50F90FAF /* Release */ = { + B8A5402755883FF641667B05E489092E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EC491EE1C39F559838776AF2B83CD2AB /* Mixpanel.xcconfig */; + baseConfigurationReference = 1907FB5967FD584AF2068B49A60E5E14 /* FeedKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -16384,18 +15861,18 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Mixpanel/Mixpanel-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Mixpanel/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/FeedKit/FeedKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FeedKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Mixpanel/Mixpanel.modulemap"; - PRODUCT_MODULE_NAME = Mixpanel; - PRODUCT_NAME = Mixpanel; + MODULEMAP_FILE = "Target Support Files/FeedKit/FeedKit.modulemap"; + PRODUCT_MODULE_NAME = FeedKit; + PRODUCT_NAME = FeedKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -16403,44 +15880,34 @@ }; name = Release; }; - B583CB9321067EA6C2C2B39211067BF8 /* Release */ = { + B90971B182812301D0DD90F88666C9CA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B6867750FE939219C58B02E869E33C74 /* Starscream.xcconfig */; + baseConfigurationReference = CD32E50FD0F490DED11F1BB5630B1479 /* Curve25519Kit.unit.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - PRODUCT_MODULE_NAME = Starscream; - PRODUCT_NAME = Starscream; + GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-lswiftSwiftOnoneSupport", + ); + PRODUCT_NAME = "Curve25519Kit-Unit-Tests"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; + SWIFT_VERSION = 5.0; }; - name = Release; + name = Debug; }; - B5C56E5244324DC936A361B66EFD6107 /* Debug */ = { + B98EC423F41F24951FBDBBB612D1A600 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7A49B2C6D1554C1A58CEFEBB7841A6F8 /* YYImage.xcconfig */; + baseConfigurationReference = AC9FA3DC4FD8142BA1CCBB808B6D066B /* SSZipArchive.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16450,88 +15917,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/YYImage/YYImage-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/YYImage/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SSZipArchive/SSZipArchive-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SSZipArchive/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/YYImage/YYImage.modulemap"; - PRODUCT_MODULE_NAME = YYImage; - PRODUCT_NAME = YYImage; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - B7FD5B0ACE9286FFDADF4ACE2322AF4A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; - SYMROOT = "${SRCROOT}/../build"; + MODULEMAP_FILE = "Target Support Files/SSZipArchive/SSZipArchive.modulemap"; + PRODUCT_MODULE_NAME = SSZipArchive; + PRODUCT_NAME = SSZipArchive; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - BDB3C4CCF7A8F6E711CEA62CE2119825 /* Debug */ = { + BA98DD68F0E43C8A216D576319D353AC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DD444E5ECBC1AB14E9725D1847F3707B /* CocoaLumberjack.xcconfig */; + baseConfigurationReference = B5DB338AC76502494299EAC5D859D6E8 /* SQLCipher.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -16543,27 +15950,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CocoaLumberjack/CocoaLumberjack-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CocoaLumberjack/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SQLCipher/SQLCipher-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SQLCipher/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CocoaLumberjack/CocoaLumberjack.modulemap"; - PRODUCT_MODULE_NAME = CocoaLumberjack; - PRODUCT_NAME = CocoaLumberjack; + MODULEMAP_FILE = "Target Support Files/SQLCipher/SQLCipher.modulemap"; + PRODUCT_MODULE_NAME = SQLCipher; + PRODUCT_NAME = SQLCipher; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - BEA545A72BF47776E9005DEFF34ADB46 /* App Store Release */ = { + BC4AB52549564D024CC91AF86FEDEBB6 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D1C88AB36E6C03EDAE79BF984F57ED9F /* SignalMetadataKit.xcconfig */; + baseConfigurationReference = E713497EFC2616CDEA3727DE24E0C17B /* SignalMetadataKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -16594,9 +16002,9 @@ }; name = "App Store Release"; }; - C4B2800EA8A285CA8F15F825BF0AAF2B /* Release */ = { + BFF3A75957A518C9846A9BF908800EA1 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F1E4B77FADFD329E2D249EF201895870 /* CryptoSwift.xcconfig */; + baseConfigurationReference = C470798A46DAE61CE27D44C1DCD40BDB /* YYImage.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -16608,14 +16016,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CryptoSwift/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/YYImage/YYImage-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/YYImage/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CryptoSwift/CryptoSwift.modulemap"; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; + MODULEMAP_FILE = "Target Support Files/YYImage/YYImage.modulemap"; + PRODUCT_MODULE_NAME = YYImage; + PRODUCT_NAME = YYImage; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -16627,42 +16035,30 @@ }; name = Release; }; - C5975CF066EA2AF7D0B5D5C14A946741 /* App Store Release */ = { + C2F14A5923CE8942B04A6BA935E7902D /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 91E049A9661A9C93E8DB198918D6EA73 /* libPhoneNumber-iOS.xcconfig */; + baseConfigurationReference = FC46CABD76299A080A4BA822508761E6 /* SignalCoreKit.unit.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGNING_ALLOWED = YES; + CODE_SIGNING_REQUIRED = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/libPhoneNumber-iOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS.modulemap"; - PRODUCT_MODULE_NAME = libPhoneNumber_iOS; - PRODUCT_NAME = libPhoneNumber_iOS; + GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + PRODUCT_NAME = "SignalCoreKit-Unit-Tests"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; name = "App Store Release"; }; - C826D74ACB18C286569E9CE90C4EC0D2 /* Release */ = { + C5ED706FBF31EA73FD074A2FCF529F4A /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7A49B2C6D1554C1A58CEFEBB7841A6F8 /* YYImage.xcconfig */; + baseConfigurationReference = B5DB338AC76502494299EAC5D859D6E8 /* SQLCipher.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -16674,14 +16070,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/YYImage/YYImage-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/YYImage/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SQLCipher/SQLCipher-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SQLCipher/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/YYImage/YYImage.modulemap"; - PRODUCT_MODULE_NAME = YYImage; - PRODUCT_NAME = YYImage; + MODULEMAP_FILE = "Target Support Files/SQLCipher/SQLCipher.modulemap"; + PRODUCT_MODULE_NAME = SQLCipher; + PRODUCT_NAME = SQLCipher; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -16691,13 +16087,12 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = "App Store Release"; }; - C91A3BE73BFF6FEB80B25667DA41D00A /* Debug */ = { + CCF17EAEF86C653E7BB690954AC09713 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 71797739CD18C077C3032970B0E12418 /* PureLayout.xcconfig */; + baseConfigurationReference = 0928A8796D80ACA06E9B47E8C962B61C /* GoogleUtilities.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16707,32 +16102,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "PURELAYOUT_APP_EXTENSIONS=1", - ); - INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/GoogleUtilities/GoogleUtilities-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/GoogleUtilities/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/PureLayout/PureLayout.modulemap"; - PRODUCT_MODULE_NAME = PureLayout; - PRODUCT_NAME = PureLayout; + MODULEMAP_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities.modulemap"; + PRODUCT_MODULE_NAME = GoogleUtilities; + PRODUCT_NAME = GoogleUtilities; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = "App Store Release"; }; - CD42A9A98B718D5134EBB68911E775F5 /* Release */ = { + CEAF5321772CA84AC43C7E23F4E7F6BB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8D94CBEC5821939C0FB73F7E90B94FAE /* NVActivityIndicatorView.xcconfig */; + baseConfigurationReference = 9DE1B7BE32F6B802D5145DB11A379868 /* YapDatabase.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16742,32 +16135,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/NVActivityIndicatorView/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/YapDatabase/YapDatabase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/YapDatabase/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView.modulemap"; - PRODUCT_MODULE_NAME = NVActivityIndicatorView; - PRODUCT_NAME = NVActivityIndicatorView; + MODULEMAP_FILE = "Target Support Files/YapDatabase/YapDatabase.modulemap"; + PRODUCT_MODULE_NAME = YapDatabase; + PRODUCT_NAME = YapDatabase; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - D5DAD3D5A94521F7C485B1A328C04E63 /* Release */ = { + CF4A2615703F5F92D35DAEE482BEE2D3 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 493CE2C1BE913628456B8AB3C065C681 /* Pods-SignalShareExtension.release.xcconfig */; + baseConfigurationReference = D45CCBDFAD5A5860A4C5D47BD03B3450 /* AFNetworking.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16777,29 +16167,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SignalShareExtension/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AFNetworking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/AFNetworking/AFNetworking.modulemap"; + PRODUCT_MODULE_NAME = AFNetworking; + PRODUCT_NAME = AFNetworking; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = "App Store Release"; }; - D70867F8AF3BBD49A9FF82628EA7F7C6 /* Release */ = { + D2E2B566056E35B4CC2433F69920AF1B /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7E1873A3D327612140629D80445AA3D9 /* AxolotlKit.xcconfig */; + baseConfigurationReference = 9DE1B7BE32F6B802D5145DB11A379868 /* YapDatabase.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -16811,31 +16200,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AxolotlKit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/YapDatabase/YapDatabase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/YapDatabase/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AxolotlKit/AxolotlKit.modulemap"; - PRODUCT_MODULE_NAME = AxolotlKit; - PRODUCT_NAME = AxolotlKit; + MODULEMAP_FILE = "Target Support Files/YapDatabase/YapDatabase.modulemap"; + PRODUCT_MODULE_NAME = YapDatabase; + PRODUCT_NAME = YapDatabase; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "${SRCROOT}/**"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = "App Store Release"; }; - D7723BB9F8F646E14C4B46DDD5824E7E /* App Store Release */ = { + D3A99DE010901EC1E857B50D393F4A25 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 74157F31BA77650E20A77CB229FB6956 /* SignalCoreKit.xcconfig */; + baseConfigurationReference = D34EFDC3257FE3575E487FCDA5FD1DE4 /* FirebaseCore.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16845,14 +16232,13 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalCoreKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit.modulemap"; - PRODUCT_MODULE_NAME = SignalCoreKit; - PRODUCT_NAME = SignalCoreKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/FirebaseCore/FirebaseCore.modulemap"; + PRODUCT_MODULE_NAME = FirebaseCore; + PRODUCT_NAME = FirebaseCore; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -16862,12 +16248,15 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Release; }; - DD27226B492BDA384D8945F7E8DA00D3 /* Release */ = { + D5CC89860344AAC98E3192198EEC9328 /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 700B7CA1E35802178B7139E4A4377B39 /* FeedKit.xcconfig */; + baseConfigurationReference = A00C77991649618DD44104F4020BF649 /* Pods-SignalMessaging.app store release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16877,30 +16266,94 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/FeedKit/FeedKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FeedKit/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SignalMessaging/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FeedKit/FeedKit.modulemap"; - PRODUCT_MODULE_NAME = FeedKit; - PRODUCT_NAME = FeedKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-SignalMessaging/Pods-SignalMessaging.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; + name = "App Store Release"; + }; + D5F759C82752B2EB010DB3CD3D69707C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.2; + SYMROOT = "${SRCROOT}/../build"; + }; name = Release; }; - DF0FD996553C74EBD10E15EC1319A991 /* Release */ = { + D9B9C38B8FDD546E5CDD2ED58FD8FD0A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 74157F31BA77650E20A77CB229FB6956 /* SignalCoreKit.xcconfig */; + baseConfigurationReference = CEE2D1C79EFDAB086717ADEF25017B09 /* Pods-SignalShareExtension.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16910,30 +16363,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SignalCoreKit/SignalCoreKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalCoreKit/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SignalShareExtension/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SignalCoreKit/SignalCoreKit.modulemap"; - PRODUCT_MODULE_NAME = SignalCoreKit; - PRODUCT_NAME = SignalCoreKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - E2932347DD18E7002DDA166D80FB15A2 /* Debug */ = { + DDB379322A0DEAE73F5DD9B776613845 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 33D64F9B0221290106B109FE5AC3EBE2 /* YapDatabase.xcconfig */; + baseConfigurationReference = C326981867D81268BDF288F5CB95372E /* NVActivityIndicatorView.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -16943,49 +16395,82 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/YapDatabase/YapDatabase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/YapDatabase/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/NVActivityIndicatorView/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/YapDatabase/YapDatabase.modulemap"; - PRODUCT_MODULE_NAME = YapDatabase; - PRODUCT_NAME = YapDatabase; + MODULEMAP_FILE = "Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView.modulemap"; + PRODUCT_MODULE_NAME = NVActivityIndicatorView; + PRODUCT_NAME = NVActivityIndicatorView; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - E2FEBDA56DE01F43DF1E65997280E0BF /* Release */ = { + DF50E87645759AEFA28CD093160D41CD /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C91E7E55D696BAF2E6453B43BE2C3CA6 /* SignalServiceKit.unit.xcconfig */; + baseConfigurationReference = 7E809EFE5F5EDD63DE066E28A38B267D /* HKDFKit.unit.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGNING_ALLOWED = YES; CODE_SIGNING_REQUIRED = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalServiceKit/SignalServiceKit-Unit-Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - PRODUCT_NAME = "SignalServiceKit-Unit-Tests"; + GCC_PREFIX_HEADER = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + PRODUCT_NAME = "HKDFKit-Unit-Tests"; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + VALIDATE_PRODUCT = YES; + }; + name = "App Store Release"; + }; + DFB428A1A35950418357BDE47C8DA8C4 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 821E91DAE5C425140C8AB1EE16572C82 /* CryptoSwift.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CryptoSwift/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/CryptoSwift/CryptoSwift.modulemap"; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; SDKROOT = iphoneos; + SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - E397FA93929496A27E38DD033B631415 /* Release */ = { + E4D40E5F074DD15BF7D39B421DA74AEC /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 75B8E061266778D191BEC86848086304 /* HKDFKit.unit.xcconfig */; + baseConfigurationReference = 29E279E5874831504FAF52A4C638D4BE /* SignalMetadataKit.unit.xcconfig */; buildSettings = { CODE_SIGNING_ALLOWED = YES; CODE_SIGNING_REQUIRED = YES; @@ -16993,20 +16478,20 @@ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/HKDFKit/HKDFKit-Unit-Tests-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalMetadataKit/SignalMetadataKit-Unit-Tests-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - PRODUCT_NAME = "HKDFKit-Unit-Tests"; + PRODUCT_NAME = "SignalMetadataKit-Unit-Tests"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; }; - name = Release; + name = "App Store Release"; }; - E705D54CA8A55AD80C567399834AAA3A /* Debug */ = { + E77A98D0955CA433B638CA71A44E2526 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 91E049A9661A9C93E8DB198918D6EA73 /* libPhoneNumber-iOS.xcconfig */; + baseConfigurationReference = AAD2E132E6B53D84CBC177E8102E4979 /* PromiseKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -17018,14 +16503,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/libPhoneNumber-iOS/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/PromiseKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/libPhoneNumber-iOS/libPhoneNumber-iOS.modulemap"; - PRODUCT_MODULE_NAME = libPhoneNumber_iOS; - PRODUCT_NAME = libPhoneNumber_iOS; + MODULEMAP_FILE = "Target Support Files/PromiseKit/PromiseKit.modulemap"; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -17036,9 +16521,9 @@ }; name = Debug; }; - EC36FC158D953B4F8917A2B5EBCE9D0A /* Release */ = { + E9060B83C080097A778BF0B2B5A0643E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 71DE18FB42C8065C176662C44FBB74E2 /* SwiftProtobuf.xcconfig */; + baseConfigurationReference = 05E0B764DA23F94AE73E8661F13AB6E1 /* Curve25519Kit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -17050,30 +16535,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SwiftProtobuf/SwiftProtobuf-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftProtobuf/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftProtobuf/SwiftProtobuf.modulemap"; - PRODUCT_MODULE_NAME = SwiftProtobuf; - PRODUCT_NAME = SwiftProtobuf; + MODULEMAP_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit.modulemap"; + PRODUCT_MODULE_NAME = Curve25519Kit; + PRODUCT_NAME = Curve25519Kit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - ED5B8E556AE03E09DEFDDB47B5C193AC /* App Store Release */ = { + EB19172BEE25B44DEE6E8FBEDC740743 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 71DE18FB42C8065C176662C44FBB74E2 /* SwiftProtobuf.xcconfig */; + baseConfigurationReference = D34EFDC3257FE3575E487FCDA5FD1DE4 /* FirebaseCore.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -17083,29 +16566,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SwiftProtobuf/SwiftProtobuf-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftProtobuf/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftProtobuf/SwiftProtobuf.modulemap"; - PRODUCT_MODULE_NAME = SwiftProtobuf; - PRODUCT_NAME = SwiftProtobuf; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/FirebaseCore/FirebaseCore.modulemap"; + PRODUCT_MODULE_NAME = FirebaseCore; + PRODUCT_NAME = FirebaseCore; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Debug; }; - ED7C5409B3B337D67893FF82A01EB3E5 /* App Store Release */ = { + ED5797F27DE3AC06B6874D6EF374DF90 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31EF34DE0D3F982275897C13751E8B97 /* GoogleUtilities.xcconfig */; + baseConfigurationReference = ECC7CCD50D9F888C9C921619C2A27EF0 /* PureLayout.xcconfig */; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -17115,30 +16597,32 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/GoogleUtilities/GoogleUtilities-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/GoogleUtilities/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "PURELAYOUT_APP_EXTENSIONS=1", + ); + INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities.modulemap"; - PRODUCT_MODULE_NAME = GoogleUtilities; - PRODUCT_NAME = GoogleUtilities; + MODULEMAP_FILE = "Target Support Files/PureLayout/PureLayout.modulemap"; + PRODUCT_MODULE_NAME = PureLayout; + PRODUCT_NAME = PureLayout; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = "App Store Release"; + name = Debug; }; - EEF07AC85DC86E93007C1ED2A8492F40 /* Debug */ = { + ED88CD02930B4644F4BE507779B3889C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BF44DC334B93B24417F46856EA8F27C /* Mantle.xcconfig */; + baseConfigurationReference = AC9FA3DC4FD8142BA1CCBB808B6D066B /* SSZipArchive.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -17148,14 +16632,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Mantle/Mantle-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Mantle/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SSZipArchive/SSZipArchive-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SSZipArchive/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Mantle/Mantle.modulemap"; - PRODUCT_MODULE_NAME = Mantle; - PRODUCT_NAME = Mantle; + MODULEMAP_FILE = "Target Support Files/SSZipArchive/SSZipArchive.modulemap"; + PRODUCT_MODULE_NAME = SSZipArchive; + PRODUCT_NAME = SSZipArchive; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -17166,12 +16650,10 @@ }; name = Debug; }; - F80C95B67A262229E30A7FFB3508DD72 /* Debug */ = { + EE6C424358E4F7A623A4E119356200AA /* App Store Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E7C40FD779B0DCCB746DA1499F631674 /* Pods-SignalTests.debug.xcconfig */; + baseConfigurationReference = C326981867D81268BDF288F5CB95372E /* NVActivityIndicatorView.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -17181,28 +16663,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SignalTests/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/NVActivityIndicatorView/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SignalTests/Pods-SignalTests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/NVActivityIndicatorView/NVActivityIndicatorView.modulemap"; + PRODUCT_MODULE_NAME = NVActivityIndicatorView; + PRODUCT_NAME = NVActivityIndicatorView; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = "App Store Release"; }; - F8920BDDB2D85BED72C1535DA8264A82 /* Release */ = { + EE8202AA416FBE69674CD8ABE7E10472 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DD444E5ECBC1AB14E9725D1847F3707B /* CocoaLumberjack.xcconfig */; + baseConfigurationReference = 05E0B764DA23F94AE73E8661F13AB6E1 /* Curve25519Kit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -17214,14 +16696,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CocoaLumberjack/CocoaLumberjack-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CocoaLumberjack/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Curve25519Kit/Curve25519Kit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Curve25519Kit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CocoaLumberjack/CocoaLumberjack.modulemap"; - PRODUCT_MODULE_NAME = CocoaLumberjack; - PRODUCT_NAME = CocoaLumberjack; + MODULEMAP_FILE = "Target Support Files/Curve25519Kit/Curve25519Kit.modulemap"; + PRODUCT_MODULE_NAME = Curve25519Kit; + PRODUCT_NAME = Curve25519Kit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -17233,9 +16715,9 @@ }; name = Release; }; - F95B4B5AB32067EF3F5E6BF64A70353A /* Release */ = { + EEED6BD4FE1DD24368FBA6F5EEE41759 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E75F9C39FB7C0DEC2A181A9699E387BA /* HKDFKit.xcconfig */; + baseConfigurationReference = A2E465C9B49CFEDEC4DE76CBAD64B804 /* HKDFKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -17266,11 +16748,12 @@ }; name = Release; }; - F99FA5DEA5237FF4313E4FEAEF6FE01A /* Release */ = { + EF546666140858320BF5F663B44644D2 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D1C88AB36E6C03EDAE79BF984F57ED9F /* SignalMetadataKit.xcconfig */; + baseConfigurationReference = 10B07EF4DEB4FE50DD2FE5BC9AAFBC8E /* SignalServiceKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -17280,28 +16763,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SignalMetadataKit/SignalMetadataKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SignalMetadataKit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SignalServiceKit/SignalServiceKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SignalServiceKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SignalMetadataKit/SignalMetadataKit.modulemap"; - PRODUCT_MODULE_NAME = SignalMetadataKit; - PRODUCT_NAME = SignalMetadataKit; + MODULEMAP_FILE = "Target Support Files/SignalServiceKit/SignalServiceKit.modulemap"; + PRODUCT_MODULE_NAME = SignalServiceKit; + PRODUCT_NAME = SignalServiceKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - F9E61AD35DD1875C35A266D606019AE0 /* Debug */ = { + F25063AF7591CAA47B893BAC42449293 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C91E7E55D696BAF2E6453B43BE2C3CA6 /* SignalServiceKit.unit.xcconfig */; + baseConfigurationReference = 4C564182DCDEBBEE43CB2460143CEC96 /* SignalServiceKit.unit.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGNING_ALLOWED = YES; @@ -17324,11 +16806,45 @@ }; name = Debug; }; - FA9C10EDCD1D75A35A7CC093FEC14701 /* App Store Release */ = { + F757157303C395C701482AF52D5B7A08 /* App Store Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C885495F25A202343D01C2C2CD473B85 /* Mantle.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Mantle/Mantle-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Mantle/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Mantle/Mantle.modulemap"; + PRODUCT_MODULE_NAME = Mantle; + PRODUCT_NAME = Mantle; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "App Store Release"; + }; + FDCF133602A2D4EC9308696A0ED1C6DB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 33DA0BFD0C217738710B023DCCFB4322 /* Pods-SignalTests.app store release.xcconfig */; + baseConfigurationReference = 41FE8B890FFF6BECFE26C28E2CA28B4A /* Pods-SignalMessaging.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -17339,12 +16855,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SignalTests/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SignalMessaging/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SignalTests/Pods-SignalTests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-SignalMessaging/Pods-SignalMessaging.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -17357,11 +16873,48 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; + name = Release; + }; + FE1B7836E13E87E36BFFF0585AE41326 /* App Store Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = ECC7CCD50D9F888C9C921619C2A27EF0 /* PureLayout.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "PURELAYOUT_APP_EXTENSIONS=1", + ); + INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/PureLayout/PureLayout.modulemap"; + PRODUCT_MODULE_NAME = PureLayout; + PRODUCT_NAME = PureLayout; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; name = "App Store Release"; }; - FAFAB736497E077D9BB16B2326A1DA3C /* App Store Release */ = { + FED47D02D036A976C5E3D74C6B465406 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5A25C0D8DBAFF442BD4484DF5BF6F237 /* AxolotlKit.unit.xcconfig */; + baseConfigurationReference = 899A74B2C131EFEF7B2C8659972BA54D /* AxolotlKit.unit.xcconfig */; buildSettings = { CODE_SIGNING_ALLOWED = YES; CODE_SIGNING_REQUIRED = YES; @@ -17372,398 +16925,401 @@ GCC_PREFIX_HEADER = "Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-prefix.pch"; INFOPLIST_FILE = "Target Support Files/AxolotlKit/AxolotlKit-Unit-Tests-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-lswiftSwiftOnoneSupport", + ); PRODUCT_NAME = "AxolotlKit-Unit-Tests"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; }; - name = "App Store Release"; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 03909EA41463702C64E54BFFBB71E6BA /* Build configuration list for PBXNativeTarget "PureLayout" */ = { + 0373F6C57DD927702C4E94B34263C74A /* Build configuration list for PBXNativeTarget "GoogleUtilities" */ = { isa = XCConfigurationList; buildConfigurations = ( - 362DEDA91743D64FAFD6FD0ABE079720 /* App Store Release */, - C91A3BE73BFF6FEB80B25667DA41D00A /* Debug */, - 1BF9B745A37DCB54B773E491B4791EBD /* Release */, + CCF17EAEF86C653E7BB690954AC09713 /* App Store Release */, + 4CD0D73D52B887B068CE92DAB50EB059 /* Debug */, + 0A6BC023B342260DE3E968AC30A2AD54 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 084F0EB7C883ABFE6212C179066C2400 /* Build configuration list for PBXNativeTarget "FeedKit" */ = { + 05352AF71794E33B1BCBFD856D0A1928 /* Build configuration list for PBXNativeTarget "SignalMetadataKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1C95D07D98F6AD22688584AF17E74A45 /* App Store Release */, - AFAF40C03434CB5CF6AA283B63336738 /* Debug */, - DD27226B492BDA384D8945F7E8DA00D3 /* Release */, + BC4AB52549564D024CC91AF86FEDEBB6 /* App Store Release */, + 244805F3420BE3A5CF836E58B3D72659 /* Debug */, + 06527D5E793A8ADC3CACC4A479EEF750 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 0911C0C3312DD0D670F9B1F4E078DF86 /* Build configuration list for PBXNativeTarget "Reachability" */ = { + 1BD4FB89EF1D261A80F1E949B57C1580 /* Build configuration list for PBXNativeTarget "YYImage" */ = { isa = XCConfigurationList; buildConfigurations = ( - 37D0429EDB0FEC51E3AA36A6DD254676 /* App Store Release */, - A99719A6B19E836D4CF86F87D9F18565 /* Debug */, - 499E065BCE1635DD55937F6F06B658B8 /* Release */, + 6C2DBAE09725C593947B97D7E909D9E1 /* App Store Release */, + 61750A4D4D8FEA0299047BE1273B2CEE /* Debug */, + BFF3A75957A518C9846A9BF908800EA1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 0E488C2673670630ACD6E85299CE02D9 /* Build configuration list for PBXNativeTarget "CocoaLumberjack" */ = { + 21F9A1CA73EC626A61DD0D5F77147F53 /* Build configuration list for PBXNativeTarget "SSZipArchive" */ = { isa = XCConfigurationList; buildConfigurations = ( - 703D155598933375242A4FF491187AE5 /* App Store Release */, - BDB3C4CCF7A8F6E711CEA62CE2119825 /* Debug */, - F8920BDDB2D85BED72C1535DA8264A82 /* Release */, + 1D1EAE8DD17E0F9263963880598168BB /* App Store Release */, + ED88CD02930B4644F4BE507779B3889C /* Debug */, + B98EC423F41F24951FBDBBB612D1A600 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 0EF8B0134FC7244DA328FBF19C3BF33A /* Build configuration list for PBXNativeTarget "Pods-Signal" */ = { + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5EBCEE1899AC452B327B8526BC2E7FFC /* App Store Release */, - AEB10E5062EA867A00E5E8B4962F22A9 /* Debug */, - 7E1F17E729B77A369B7F85E8F8779B38 /* Release */, + 3E7313CE2BB58E674534155782F8D2C5 /* App Store Release */, + 8DDFA5FA8D4131BFD96E5E26F3672644 /* Debug */, + D5F759C82752B2EB010DB3CD3D69707C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 11B638A1726CE35941D1C8C733E5657C /* Build configuration list for PBXNativeTarget "SwiftProtobuf" */ = { + 2EA01AC04D5D996EF9CDBD99A0C9D87C /* Build configuration list for PBXNativeTarget "AxolotlKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - ED5B8E556AE03E09DEFDDB47B5C193AC /* App Store Release */, - 2DBD31EF7347166549356785AD3C2B08 /* Debug */, - EC36FC158D953B4F8917A2B5EBCE9D0A /* Release */, + 5B501CE7C1D30AAEB8F36155F36E13FF /* App Store Release */, + 2E847CB47D877C30B461BF42FB7B4345 /* Debug */, + 5113078D94684657176FC9981BBD63EB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 130473578DAC45C961EC8A95A9608B68 /* Build configuration list for PBXNativeTarget "SignalServiceKit" */ = { + 36A6987B7125441E611D56D180FC9EF4 /* Build configuration list for PBXNativeTarget "Starscream" */ = { isa = XCConfigurationList; buildConfigurations = ( - 20B38545DD8B0FB0B951189DDDED439D /* App Store Release */, - 555BEC9D62DA8303F3C305CFE56C6684 /* Debug */, - 8A4342A833D1528E95C2EE2C134D1A3D /* Release */, + 669CD12B8318E7DAD3AD73D92591C696 /* App Store Release */, + 2DE831CC417BE116B919C33EB9990FBF /* Debug */, + 8E251C8DC386CC6FFF9FD2C75BC1D364 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 164B3F6E8789E6565BA1F045D79184BB /* Build configuration list for PBXNativeTarget "FirebaseCore" */ = { + 376A62CE3270B654787CA6763C547BD2 /* Build configuration list for PBXNativeTarget "Pods-SignalShareExtension" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0B5B03D0299839FF976BD4BF6FD6EFC2 /* App Store Release */, - 0F8D5CA2D47FDE0ED2BE2557198A5948 /* Debug */, - 9A582CAC58EE8C1D3DCDF551F5E9820C /* Release */, + 6E9D59E5AA4717FDD266646263CFA463 /* App Store Release */, + D9B9C38B8FDD546E5CDD2ED58FD8FD0A /* Debug */, + 98DB4160298004D7ECE914FCB13FA8E5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 1A8E6DB5187E7BC70C5611DBB8207D11 /* Build configuration list for PBXNativeTarget "Mixpanel" */ = { + 3A954DEC470D49E99484CD9AFDECD467 /* Build configuration list for PBXNativeTarget "SignalCoreKit-Unit-Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6E8ADDA31FFA671902D4796841741F5B /* App Store Release */, - 630F518F7242368993922B44AA090DCE /* Debug */, - B50D4A93F90F1A65A422CCAA50F90FAF /* Release */, + C2F14A5923CE8942B04A6BA935E7902D /* App Store Release */, + A645562993BD980377D00BF9224AAF6B /* Debug */, + 8A613CC2145E8D37A02438FE7DD037AE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 1DF8F8CDB4473696370BABBF438073C6 /* Build configuration list for PBXNativeTarget "SAMKeychain" */ = { + 3BC7C9CC6FF024611BFB87B644F15540 /* Build configuration list for PBXNativeTarget "AFNetworking" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5C70D5D89B469CA6E03F850F99765DB4 /* App Store Release */, - 22D5781F39DB72741B775B78023961E1 /* Debug */, - 56CBB53B74A8E194316F652A3C28F999 /* Release */, + CF4A2615703F5F92D35DAEE482BEE2D3 /* App Store Release */, + 50FDAACEE5DD6739F8C193C62101F485 /* Debug */, + 92A61EAE6D553AE5601E57FB701D4E6D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 269220E05F3C06AB6467D0CAA5B3D34E /* Build configuration list for PBXNativeTarget "AxolotlKit-Unit-Tests" */ = { + 3EF0F18B566426AB190EF7B6E3399E47 /* Build configuration list for PBXNativeTarget "HKDFKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - FAFAB736497E077D9BB16B2326A1DA3C /* App Store Release */, - 43738FAB5C4522D1DAE0CD8942812DE2 /* Debug */, - 885ED0BCB9C93AAB47439FE3A38DC1F3 /* Release */, + 87460028C122F77F682CC0FE0B4F268C /* App Store Release */, + 6F49E97E2B9B8EE0D109DBD5926E9211 /* Debug */, + EEED6BD4FE1DD24368FBA6F5EEE41759 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 29C9D1142644F0D371CBD06D1FA59930 /* Build configuration list for PBXNativeTarget "Pods-SignalMessaging" */ = { + 569DA36B9692E9F8549E0D2E251E37F6 /* Build configuration list for PBXNativeTarget "Curve25519Kit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0651249B3358D9D0399228E378203D1C /* App Store Release */, - 867AFBECD67810203D8829FED0D4829C /* Debug */, - 9B4D9E3048A4D42C41C611E25DD7A062 /* Release */, + 6927EB99F1E1D5C3FD24CA02AD105470 /* App Store Release */, + E9060B83C080097A778BF0B2B5A0643E /* Debug */, + EE8202AA416FBE69674CD8ABE7E10472 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2FE4B4CFF8A9A62C916D8A8B6C85481D /* Build configuration list for PBXNativeTarget "GoogleUtilities" */ = { + 6347623FF36274C42C853BA39E934944 /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - ED7C5409B3B337D67893FF82A01EB3E5 /* App Store Release */, - 5091EC4B6A0F906FA184E4B832AC94DE /* Debug */, - 222A212FA369EF0DBD8576C5E3A902B3 /* Release */, + 0E3C25693D6591235BD7053A4849451B /* App Store Release */, + 7DBA99F8069512A4B1348F7F0C10F4A1 /* Debug */, + DFB428A1A35950418357BDE47C8DA8C4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3418B258FB5500DADFAE03859AB38253 /* Build configuration list for PBXNativeTarget "SignalCoreKit" */ = { + 649A3FCF561F1D8D431D9B78E9F92097 /* Build configuration list for PBXNativeTarget "Reachability" */ = { isa = XCConfigurationList; buildConfigurations = ( - D7723BB9F8F646E14C4B46DDD5824E7E /* App Store Release */, - 42B90C4E7C3B94F7F1B803368F23816C /* Debug */, - DF0FD996553C74EBD10E15EC1319A991 /* Release */, + 4B8E621B6F3DBD0ADDB553106E9C50B7 /* App Store Release */, + 637A3987DEF26FB6777AAC1777488E15 /* Debug */, + 94F42B4C9D72C5C0FFC1614F7DDA001D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 40B9AA563E10676DD67EC136B122F6D6 /* Build configuration list for PBXNativeTarget "Pods-SignalTests" */ = { + 6B97155994F4C442D793A83CDDD989EF /* Build configuration list for PBXNativeTarget "Curve25519Kit-Unit-Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - FA9C10EDCD1D75A35A7CC093FEC14701 /* App Store Release */, - F80C95B67A262229E30A7FFB3508DD72 /* Debug */, - 8977FC535E01DC9301451769274E2942 /* Release */, + 540449E61E59A5C477D254B075C18DFC /* App Store Release */, + B90971B182812301D0DD90F88666C9CA /* Debug */, + 1FD50BDA21AE2F0C962B64F0BB1FCED9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 41A4EAE8A2C3B7C1B81B3BD534229009 /* Build configuration list for PBXNativeTarget "Curve25519Kit-Unit-Tests" */ = { + 7583F2489844588B52AEBCAA5DFCB392 /* Build configuration list for PBXNativeTarget "Pods-SignalTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9CBDDF4727EDE714C193444C0CB5CEE2 /* App Store Release */, - 6DB32BE126A5D93C2FB095D3ADEA4980 /* Debug */, - 44B199F8A8C463E862E078BE79168FBF /* Release */, + 1B03C9B404E82C49D673F561EAA86C71 /* App Store Release */, + 7B94299B16040B39E60632836BEF5C24 /* Debug */, + 84F6DF0BF983163C3D03C4683F3B5398 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + 87F783D31359C35DF193D1A4C1D577A9 /* Build configuration list for PBXNativeTarget "SQLCipher" */ = { isa = XCConfigurationList; buildConfigurations = ( - 269EE4706A10323A3582E7231F9BFFC9 /* App Store Release */, - 984B99C322F45D243D991CA6A63EF1F1 /* Debug */, - B7FD5B0ACE9286FFDADF4ACE2322AF4A /* Release */, + C5ED706FBF31EA73FD074A2FCF529F4A /* App Store Release */, + 61702DC0D240B74CB07451C211A8AFD3 /* Debug */, + BA98DD68F0E43C8A216D576319D353AC /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 594FDA3DEC0FA111BACA42E21D057DEE /* Build configuration list for PBXNativeTarget "NVActivityIndicatorView" */ = { + 8A898B41EC6F9296607774D06B8C09DC /* Build configuration list for PBXNativeTarget "SignalCoreKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 630CA83D6B4D6F6C0DD0CEE6E14E8108 /* App Store Release */, - A8A9F2217619AFAFB2F2731232B2CCE3 /* Debug */, - CD42A9A98B718D5134EBB68911E775F5 /* Release */, + 6DE6A5BF5D9ECECB37A358AD922CDEB0 /* App Store Release */, + 8C23C00C49D656B5ACDABED333DE5740 /* Debug */, + 30B3D06F7478104376667E79BCED60EF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6212BB86C3A5A2AEF91B8301D9060DCE /* Build configuration list for PBXNativeTarget "Starscream" */ = { + 8AE751EE210BACB48F235A881A9B9D22 /* Build configuration list for PBXNativeTarget "SAMKeychain" */ = { isa = XCConfigurationList; buildConfigurations = ( - A47D53701B234B9BEF33D0CC78EB321C /* App Store Release */, - 067D4871AA5D5ECA191EACEC901D0C0C /* Debug */, - B583CB9321067EA6C2C2B39211067BF8 /* Release */, + AC628E67DC4031466F4BB55A33ABCCE0 /* App Store Release */, + 8BEDA66031B7EA34CA9FC42090C029A2 /* Debug */, + 1F9AD478E1B573FE7F4823CB29A677FA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6228A62A802072E7066D4C2642F0B2E5 /* Build configuration list for PBXNativeTarget "YYImage" */ = { + A02BD64FEF99FE2B5131EC338BFCEB55 /* Build configuration list for PBXNativeTarget "SignalMetadataKit-Unit-Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2A0C462EF15022DE77AB60CBF33B4ABB /* App Store Release */, - B5C56E5244324DC936A361B66EFD6107 /* Debug */, - C826D74ACB18C286569E9CE90C4EC0D2 /* Release */, + E4D40E5F074DD15BF7D39B421DA74AEC /* App Store Release */, + B6E5058D9BAD649C3DC0C74E49B488E9 /* Debug */, + 238548E979CEA0EECA589858D936C7C6 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 67EC4DD8B64A8D454E19E0E3BF5C0CBB /* Build configuration list for PBXNativeTarget "SSZipArchive" */ = { + A1281EE78F612C3A8F900D3E7261EC76 /* Build configuration list for PBXNativeTarget "Pods-LokiPushNotificationService" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2C9CDC84D32DBEE6CBD7E4D6F3F2082E /* App Store Release */, - 13B6C0A6826EDC018F06E9CEB4DADF8C /* Debug */, - 25A22ABC670DBB12729611E57E3274CA /* Release */, + 3B6AE012DA4BC8B7BE2E80E9592510F2 /* App Store Release */, + 3A0640EED6027838240494E350F02BB6 /* Debug */, + 343C6BF83F92B4A5B5EAF8572ED43EC4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 74D5DCEB0FAD43FB4D9AA3BE3EFF94F8 /* Build configuration list for PBXNativeTarget "SQLCipher" */ = { + A3A1C1DAA87BC4D612CE1634CF672BEB /* Build configuration list for PBXNativeTarget "FirebaseCore" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6AFF35B0F324AD6FCB1A9F957F6920B1 /* App Store Release */, - 7B8E85A21DE992ADF2BC776792F7FB88 /* Debug */, - 6AB7DC87667BEF69F2C2CC661A67EBD9 /* Release */, + 48B4CC31D721C02C17CA496049D5D5B7 /* App Store Release */, + EB19172BEE25B44DEE6E8FBEDC740743 /* Debug */, + D3A99DE010901EC1E857B50D393F4A25 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7C30389165B5E65431E55C676BD711D2 /* Build configuration list for PBXNativeTarget "SignalMetadataKit" */ = { + A97EC075907E6294CAAB63A8ED36FFFB /* Build configuration list for PBXNativeTarget "CocoaLumberjack" */ = { isa = XCConfigurationList; buildConfigurations = ( - BEA545A72BF47776E9005DEFF34ADB46 /* App Store Release */, - 4B750D0CF477C9E7EC0B086745474A22 /* Debug */, - F99FA5DEA5237FF4313E4FEAEF6FE01A /* Release */, + 392BF5AAEF15265F639110C6FA6CE8AA /* App Store Release */, + 5CE6C824A112C248ABE745602F6E94BF /* Debug */, + 12CB750E69B4F110DF876D807721DAD0 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9216193888F2CE442F44E3E1FE99C243 /* Build configuration list for PBXNativeTarget "HKDFKit" */ = { + B0AB84B9D87F9E09D8CE075254B29851 /* Build configuration list for PBXNativeTarget "SwiftProtobuf" */ = { isa = XCConfigurationList; buildConfigurations = ( - AA9E7D47E50F28E91709FDEE4B8CAD8C /* App Store Release */, - 984A6CA2D35EB1AC68159A7F5D01F7A4 /* Debug */, - F95B4B5AB32067EF3F5E6BF64A70353A /* Release */, + 853965ABBCA9F5DA06A7DE3449EDE633 /* App Store Release */, + A7A85AAEFE84D7D59C25AE348CEAC301 /* Debug */, + 520F37587AF0A23E063EF1BCB5ED01FA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 99CD158BE9083C496D7D5FBFE019C746 /* Build configuration list for PBXNativeTarget "SignalCoreKit-Unit-Tests" */ = { + C195449A058EA7BA81AE4CF4EE7A788B /* Build configuration list for PBXNativeTarget "FeedKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1DF0DDD4B92C35DECA925FF0A143FE48 /* App Store Release */, - 9ACBD09A109D34922E329BD43BC16119 /* Debug */, - 6150642087FEDC75C87168B79AC37ED5 /* Release */, + 54EFD3DC211B2F217B17079318048DB3 /* App Store Release */, + 7C7EDC9EBF4974F9C35C9AC87F516052 /* Debug */, + B8A5402755883FF641667B05E489092E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A8B11913319BEC77BB23566850644334 /* Build configuration list for PBXNativeTarget "Curve25519Kit" */ = { + C9322796231CF6BDF26D935F0DE4EEF7 /* Build configuration list for PBXNativeTarget "NVActivityIndicatorView" */ = { isa = XCConfigurationList; buildConfigurations = ( - B2827E9266526B65FE557E317D601BA6 /* App Store Release */, - 85D3B3A04DBDFE32C17347176B98F61D /* Debug */, - 2B3C911C62127817250FFAB7E920DEF1 /* Release */, + EE6C424358E4F7A623A4E119356200AA /* App Store Release */, + 5B47C01B91610BCE95AE3331898A84F1 /* Debug */, + DDB379322A0DEAE73F5DD9B776613845 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B8259DD8BCF711E26F7C4D018FCB8E4A /* Build configuration list for PBXNativeTarget "SignalMetadataKit-Unit-Tests" */ = { + D5D23832A3A680E50C931DEE8B5CD338 /* Build configuration list for PBXNativeTarget "AxolotlKit-Unit-Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 63025AEE823E8B6BBE017F494CB4776E /* App Store Release */, - A6588AC4E5F09151357C47F29F7FED31 /* Debug */, - 645E3E645147FEDF09D7D2FECFAC6C5A /* Release */, + 9BCA6B23E6E6CD5F4B7FF8F7FDEE8D40 /* App Store Release */, + FED47D02D036A976C5E3D74C6B465406 /* Debug */, + 759214187C484F702E242603E572547E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BCB7FA48DE8325182A1578407957C7D5 /* Build configuration list for PBXNativeTarget "GCDWebServer" */ = { + D85D6CEE7C19B03659C089E27F5F483D /* Build configuration list for PBXNativeTarget "Pods-Signal" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5C8FEAFB97E81AA3B3F647F3FF853E76 /* App Store Release */, - 642B3D7C6A86FAC7745DE91A60C6558E /* Debug */, - 29A60528E32E05B7C453B18FEA5A65AD /* Release */, + ADAAB79AE2A33EF724F5F0F01B77DCA2 /* App Store Release */, + 56302993609AC29921007D05756DC330 /* Debug */, + 315F810E5F964E47A49BC402E4002F43 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C4B839CB5477EF9982A9365A68719F46 /* Build configuration list for PBXNativeTarget "AxolotlKit" */ = { + DD32EB39A3A8D1E37CAE621A2679E269 /* Build configuration list for PBXNativeTarget "SignalServiceKit-Unit-Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6444F05756279D3C93BFE62812D98271 /* App Store Release */, - 9A63CBA43F9DC812DCF2D18B59B1B19C /* Debug */, - D70867F8AF3BBD49A9FF82628EA7F7C6 /* Release */, + 33CAD11A07A3E6F74994651B2DB6B8E5 /* App Store Release */, + F25063AF7591CAA47B893BAC42449293 /* Debug */, + 412351630322909B29BD3534909F0359 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D489823849B25946D9446AFA30B36F9F /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { + DF6AD9492F3BB263EA691E27A4F62FE0 /* Build configuration list for PBXNativeTarget "HKDFKit-Unit-Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 54401E6982E9611BB178C012607BC268 /* App Store Release */, - 634F3066BA84C483F06524F015EC1B8B /* Debug */, - C4B2800EA8A285CA8F15F825BF0AAF2B /* Release */, + DF50E87645759AEFA28CD093160D41CD /* App Store Release */, + 8B350D8E2B24C909C7743A5BE1A96AC3 /* Debug */, + 1952FB3F1AA8CDB84C7B5CA7A7F8940F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DA87505DA83CB846617F7B11E285B9F6 /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { + E8DB24FB6AE4B5C49E40F19C43CC314C /* Build configuration list for PBXNativeTarget "GCDWebServer" */ = { isa = XCConfigurationList; buildConfigurations = ( - B4827612189B5DE29505CE8B0B099B26 /* App Store Release */, - 326ABC16F9F42E7CF2A90A618BA633FD /* Debug */, - 83A761BA02F272D4426FC32CED56F3D5 /* Release */, + 6E071169717D11BD9683DC5DD01C1A7E /* App Store Release */, + 4CE0438CF12760A854DF8A3C2117A438 /* Debug */, + 9A2703B6E0AFFBB399B6AA682B94874B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DB7135F7611822A80A46AD39FD2D9136 /* Build configuration list for PBXNativeTarget "libPhoneNumber-iOS" */ = { + EA8176626A61970B07326D421B5AFB2A /* Build configuration list for PBXNativeTarget "libPhoneNumber-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - C5975CF066EA2AF7D0B5D5C14A946741 /* App Store Release */, - E705D54CA8A55AD80C567399834AAA3A /* Debug */, - A3CBE57E112B68860E6826932807CD99 /* Release */, + 11D571911EC2B5F03903589F2C8E791C /* App Store Release */, + 1BE24385670F096AAF4C11BADAEBEFE1 /* Debug */, + 7BB29B4A11AC5AF340A2FCECFE008572 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DCD77C125B54AD28DCE952B4370CF197 /* Build configuration list for PBXNativeTarget "AFNetworking" */ = { + EE0B9A9BA9D656D68F7B359B734DFFA2 /* Build configuration list for PBXNativeTarget "SignalServiceKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 67F88D5AAF7E335003D8322DC7217BBA /* App Store Release */, - 48210044E5977C319CAEE7836972CA7A /* Debug */, - 0214FA603E42811666AE1ACD72C82DB4 /* Release */, + B662E2B0A5727D313E5872A04E164F43 /* App Store Release */, + EF546666140858320BF5F663B44644D2 /* Debug */, + 02E373DBA8A69086803C46C93D543B01 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E0CA20E7A3566B70338470E7B61C7F56 /* Build configuration list for PBXNativeTarget "HKDFKit-Unit-Tests" */ = { + EF709349C7B9A090BA877995AB1DF229 /* Build configuration list for PBXNativeTarget "YapDatabase" */ = { isa = XCConfigurationList; buildConfigurations = ( - 99151E7BC38C92633CFF0ECDCCC3EA51 /* App Store Release */, - 995A0FE7BF014E639F13E62DA4806A9F /* Debug */, - E397FA93929496A27E38DD033B631415 /* Release */, + D2E2B566056E35B4CC2433F69920AF1B /* App Store Release */, + CEAF5321772CA84AC43C7E23F4E7F6BB /* Debug */, + 814A861A985B73643AA1E71927293212 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E0E478308D43D53750D8E23251A69B95 /* Build configuration list for PBXNativeTarget "Mantle" */ = { + F146949F56104669A9691AA1A145061A /* Build configuration list for PBXNativeTarget "Mantle" */ = { isa = XCConfigurationList; buildConfigurations = ( - 37EDA83F3534F37EF7CEFAFE5070A7AF /* App Store Release */, - EEF07AC85DC86E93007C1ED2A8492F40 /* Debug */, - 46CB15904940622245D4BAB73077AC4D /* Release */, + F757157303C395C701482AF52D5B7A08 /* App Store Release */, + 2A3B4CD1DFFF69C6A17ABB8BD8D14E45 /* Debug */, + ADD7F5F50607BE282A6BAEC4E80E672F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - EE3B3027E07832D667BA9568717FC4B6 /* Build configuration list for PBXNativeTarget "Pods-SignalShareExtension" */ = { + F3FC9916DFF388D129E80812B5306630 /* Build configuration list for PBXNativeTarget "PureLayout" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4FE1719B82E2E8144EF39669A3917B99 /* App Store Release */, - A81E2A8C3AEC1186C2B779ED79058F22 /* Debug */, - D5DAD3D5A94521F7C485B1A328C04E63 /* Release */, + FE1B7836E13E87E36BFFF0585AE41326 /* App Store Release */, + ED5797F27DE3AC06B6874D6EF374DF90 /* Debug */, + 090D6CABAD3930611BE163DC059D11C3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F2F012F42D77DB53FD43E6A8DFCBBCBF /* Build configuration list for PBXNativeTarget "SignalServiceKit-Unit-Tests" */ = { + FAAA8611DFD48A9651CE1CD03104BF71 /* Build configuration list for PBXNativeTarget "Pods-SignalMessaging" */ = { isa = XCConfigurationList; buildConfigurations = ( - 18DD4ACAB446159A73513ECD0F83A5DC /* App Store Release */, - F9E61AD35DD1875C35A266D606019AE0 /* Debug */, - E2FEBDA56DE01F43DF1E65997280E0BF /* Release */, + D5CC89860344AAC98E3192198EEC9328 /* App Store Release */, + 83E990F56148159C1672BDFFD24D95BA /* Debug */, + FDCF133602A2D4EC9308696A0ED1C6DB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - FC821FF9140E0E030CFFC52C1D218DEF /* Build configuration list for PBXNativeTarget "YapDatabase" */ = { + FFF17FE7492E76AC67FDAF083649EDAD /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4FA20A23DDE83838B4A57D781077D57E /* App Store Release */, - E2932347DD18E7002DDA166D80FB15A2 /* Debug */, - AC9CEA0CB1A056F1B4D2C15F1A12E9AF /* Release */, + 54B88CBB9628290769A5784FCA2ED109 /* App Store Release */, + E77A98D0955CA433B638CA71A44E2526 /* Debug */, + 107401873F2CD12430E2A963363B3980 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; + rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; } diff --git a/Target Support Files/Mixpanel/Mixpanel-dummy.m b/Target Support Files/Mixpanel/Mixpanel-dummy.m deleted file mode 100644 index c3c00bd6..00000000 --- a/Target Support Files/Mixpanel/Mixpanel-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Mixpanel : NSObject -@end -@implementation PodsDummy_Mixpanel -@end diff --git a/Target Support Files/Mixpanel/Mixpanel-umbrella.h b/Target Support Files/Mixpanel/Mixpanel-umbrella.h deleted file mode 100644 index f15b5896..00000000 --- a/Target Support Files/Mixpanel/Mixpanel-umbrella.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "Mixpanel.h" -#import "MixpanelType.h" -#import "MixpanelGroup.h" -#import "MixpanelPeople.h" -#import "MPTweak.h" -#import "MPTweakInline.h" -#import "MPTweakInlineInternal.h" -#import "MPTweakStore.h" -#import "_MPTweakBindObserver.h" - -FOUNDATION_EXPORT double MixpanelVersionNumber; -FOUNDATION_EXPORT const unsigned char MixpanelVersionString[]; - diff --git a/Target Support Files/Mixpanel/Mixpanel.modulemap b/Target Support Files/Mixpanel/Mixpanel.modulemap deleted file mode 100644 index 593252a4..00000000 --- a/Target Support Files/Mixpanel/Mixpanel.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Mixpanel { - umbrella header "Mixpanel-umbrella.h" - - export * - module * { export * } -} diff --git a/Target Support Files/Mixpanel/Mixpanel.xcconfig b/Target Support Files/Mixpanel/Mixpanel.xcconfig deleted file mode 100644 index d75fe59f..00000000 --- a/Target Support Files/Mixpanel/Mixpanel.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = -l"icucore" -framework "Accelerate" -framework "CoreGraphics" -framework "CoreTelephony" -framework "Foundation" -framework "QuartzCore" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "UserNotifications" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Mixpanel -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/Target Support Files/Mixpanel/Info.plist b/Target Support Files/Pods-LokiPushNotificationService/Info.plist similarity index 96% rename from Target Support Files/Mixpanel/Info.plist rename to Target Support Files/Pods-LokiPushNotificationService/Info.plist index b2cda567..2243fe6e 100644 --- a/Target Support Files/Mixpanel/Info.plist +++ b/Target Support Files/Pods-LokiPushNotificationService/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.4.7 + 1.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-acknowledgements.markdown b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-acknowledgements.markdown new file mode 100644 index 00000000..a81e6f29 --- /dev/null +++ b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-acknowledgements.markdown @@ -0,0 +1,4122 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## AFNetworking + +Copyright (c) 2011-2016 Alamofire Software Foundation (http://alamofire.org/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +## AxolotlKit + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + +## CocoaLumberjack + +BSD 3-Clause License + +Copyright (c) 2010-2019, Deusty, LLC +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of Deusty nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Deusty, LLC. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +## CryptoSwift + +Copyright (C) 2014-2017 Marcin Krzyżanowski +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + +## Curve25519Kit + +GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + {signature of Ty Coon}, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + +## GRKOpenSSLFramework + + + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a dual license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. Actually both licenses are BSD-style + Open Source licenses. In case of any license issues related to OpenSSL + please contact openssl-core@openssl.org. + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + + + +## HKDFKit + +GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + {signature of Ty Coon}, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + +## Mantle + +**Copyright (c) GitHub, Inc.** +**All rights reserved.** + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +--- + +**This project uses portions of code from the Proton framework.** +**Proton is copyright (c) 2012, Bitswift, Inc.** +**All rights reserved.** + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Neither the name of the Bitswift, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +## PromiseKit + +Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +## PureLayout + +This code is distributed under the terms and conditions of the MIT license. + +Copyright (c) 2014-2015 Tyler Fox + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +## Reachability + +Copyright (c) 2011, Tony Million. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +## SAMKeychain + +Copyright (c) 2010-2016 Sam Soffes, http://soff.es + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +## SQLCipher + +Copyright (c) 2008, ZETETIC LLC +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the ZETETIC LLC nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY ZETETIC LLC ''AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL ZETETIC LLC BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +## SignalCoreKit + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + +## SignalMetadataKit + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + +## SignalServiceKit + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + +## Starscream + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + Copyright (c) 2014-2016 Dalton Cherry. + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +## SwiftProtobuf + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +## Runtime Library Exception to the Apache 2.0 License: ## + + + As an exception, if you use this Software to compile your source code and + portions of this Software are embedded into the binary product as a result, + you may redistribute such product without providing attribution as would + otherwise be required by Sections 4(a), 4(b) and 4(d) of the License. + + +## YYImage + +The MIT License (MIT) + +Copyright (c) 2015 ibireme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +## YapDatabase + +Software License Agreement (BSD License) + +Copyright (c) 2013, yap.TV Inc. +All rights reserved. + +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + +* Neither the name of yap.TV nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior + written permission of yap.TV Inc. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +## libPhoneNumber-iOS + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + +Generated by CocoaPods - https://cocoapods.org diff --git a/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-acknowledgements.plist b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-acknowledgements.plist new file mode 100644 index 00000000..46d7650b --- /dev/null +++ b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-acknowledgements.plist @@ -0,0 +1,4274 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2011-2016 Alamofire Software Foundation (http://alamofire.org/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + AFNetworking + Type + PSGroupSpecifier + + + FooterText + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + License + GPLv2 + Title + AxolotlKit + Type + PSGroupSpecifier + + + FooterText + BSD 3-Clause License + +Copyright (c) 2010-2019, Deusty, LLC +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of Deusty nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Deusty, LLC. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + License + BSD + Title + CocoaLumberjack + Type + PSGroupSpecifier + + + FooterText + Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + License + Attribution + Title + CryptoSwift + Type + PSGroupSpecifier + + + FooterText + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/> + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + {signature of Ty Coon}, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + License + GPLv3 + Title + Curve25519Kit + Type + PSGroupSpecifier + + + FooterText + + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a dual license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. Actually both licenses are BSD-style + Open Source licenses. In case of any license issues related to OpenSSL + please contact openssl-core@openssl.org. + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + + + License + OpenSSL (OpenSSL/SSLeay) + Title + GRKOpenSSLFramework + Type + PSGroupSpecifier + + + FooterText + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/> + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + {signature of Ty Coon}, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + License + GNU GENERAL PUBLIC LICENSE V2 + Title + HKDFKit + Type + PSGroupSpecifier + + + FooterText + **Copyright (c) GitHub, Inc.** +**All rights reserved.** + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +--- + +**This project uses portions of code from the Proton framework.** +**Proton is copyright (c) 2012, Bitswift, Inc.** +**All rights reserved.** + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Neither the name of the Bitswift, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + License + MIT + Title + Mantle + Type + PSGroupSpecifier + + + FooterText + Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + PromiseKit + Type + PSGroupSpecifier + + + FooterText + This code is distributed under the terms and conditions of the MIT license. + +Copyright (c) 2014-2015 Tyler Fox + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + PureLayout + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2011, Tony Million. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + License + BSD + Title + Reachability + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2010-2016 Sam Soffes, http://soff.es + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + SAMKeychain + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2008, ZETETIC LLC +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the ZETETIC LLC nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY ZETETIC LLC ''AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL ZETETIC LLC BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + License + BSD + Title + SQLCipher + Type + PSGroupSpecifier + + + FooterText + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + License + GPLv3 + Title + SignalCoreKit + Type + PSGroupSpecifier + + + FooterText + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + License + GPLv3 + Title + SignalMetadataKit + Type + PSGroupSpecifier + + + FooterText + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + License + GPLv3 + Title + SignalServiceKit + Type + PSGroupSpecifier + + + FooterText + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + Copyright (c) 2014-2016 Dalton Cherry. + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + License + Apache License, Version 2.0 + Title + Starscream + Type + PSGroupSpecifier + + + FooterText + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +## Runtime Library Exception to the Apache 2.0 License: ## + + + As an exception, if you use this Software to compile your source code and + portions of this Software are embedded into the binary product as a result, + you may redistribute such product without providing attribution as would + otherwise be required by Sections 4(a), 4(b) and 4(d) of the License. + + License + Apache 2.0 + Title + SwiftProtobuf + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 ibireme <ibireme@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + License + MIT + Title + YYImage + Type + PSGroupSpecifier + + + FooterText + Software License Agreement (BSD License) + +Copyright (c) 2013, yap.TV Inc. +All rights reserved. + +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + +* Neither the name of yap.TV nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior + written permission of yap.TV Inc. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + License + MIT + Title + YapDatabase + Type + PSGroupSpecifier + + + FooterText + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + License + Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + Title + libPhoneNumber-iOS + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-dummy.m b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-dummy.m new file mode 100644 index 00000000..e74c8339 --- /dev/null +++ b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_LokiPushNotificationService : NSObject +@end +@implementation PodsDummy_Pods_LokiPushNotificationService +@end diff --git a/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-resources.sh b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-resources.sh new file mode 100755 index 00000000..345301f2 --- /dev/null +++ b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-resources.sh @@ -0,0 +1,118 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then + # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy + # resources to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +XCASSET_FILES=() + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +case "${TARGETED_DEVICE_FAMILY:-}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + 3) + TARGET_DEVICE_ARGS="--target-device tv" + ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; +esac + +install_resource() +{ + if [[ "$1" = /* ]] ; then + RESOURCE_PATH="$1" + else + RESOURCE_PATH="${PODS_ROOT}/$1" + fi + if [[ ! -e "$RESOURCE_PATH" ]] ; then + cat << EOM +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. +EOM + exit 1 + fi + case $RESOURCE_PATH in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.framework) + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") + ;; + *) + echo "$RESOURCE_PATH" || true + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" + ;; + esac +} + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] +then + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "${PODS_ROOT}*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + else + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" + fi +fi diff --git a/Target Support Files/Mixpanel/Mixpanel-prefix.pch b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-umbrella.h similarity index 54% rename from Target Support Files/Mixpanel/Mixpanel-prefix.pch rename to Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-umbrella.h index beb2a244..0ebc9a33 100644 --- a/Target Support Files/Mixpanel/Mixpanel-prefix.pch +++ b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService-umbrella.h @@ -10,3 +10,7 @@ #endif #endif + +FOUNDATION_EXPORT double Pods_LokiPushNotificationServiceVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_LokiPushNotificationServiceVersionString[]; + diff --git a/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.app store release.xcconfig b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.app store release.xcconfig new file mode 100644 index 00000000..b822ba1a --- /dev/null +++ b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.app store release.xcconfig @@ -0,0 +1,11 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SQLITE_HAS_CODEC=1 +HEADER_SEARCH_PATHS = $(inherited) $(PODS_ROOT)/SQLCipher +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' +OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "HKDFKit" -framework "Mantle" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.debug.xcconfig b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.debug.xcconfig new file mode 100644 index 00000000..b822ba1a --- /dev/null +++ b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.debug.xcconfig @@ -0,0 +1,11 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SQLITE_HAS_CODEC=1 +HEADER_SEARCH_PATHS = $(inherited) $(PODS_ROOT)/SQLCipher +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' +OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "HKDFKit" -framework "Mantle" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.modulemap b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.modulemap new file mode 100644 index 00000000..f86336f5 --- /dev/null +++ b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.modulemap @@ -0,0 +1,6 @@ +framework module Pods_LokiPushNotificationService { + umbrella header "Pods-LokiPushNotificationService-umbrella.h" + + export * + module * { export * } +} diff --git a/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.release.xcconfig b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.release.xcconfig new file mode 100644 index 00000000..b822ba1a --- /dev/null +++ b/Target Support Files/Pods-LokiPushNotificationService/Pods-LokiPushNotificationService.release.xcconfig @@ -0,0 +1,11 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SQLITE_HAS_CODEC=1 +HEADER_SEARCH_PATHS = $(inherited) $(PODS_ROOT)/SQLCipher +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' +OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "HKDFKit" -framework "Mantle" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Target Support Files/Pods-Signal/Pods-Signal-acknowledgements.markdown b/Target Support Files/Pods-Signal/Pods-Signal-acknowledgements.markdown index e9b053e1..4ad3f1a2 100644 --- a/Target Support Files/Pods-Signal/Pods-Signal-acknowledgements.markdown +++ b/Target Support Files/Pods-Signal/Pods-Signal-acknowledgements.markdown @@ -1994,269 +1994,6 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -## Mixpanel - -Copyright 2013 Mixpanel, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this work except in compliance with the License. -You may obtain a copy of the License below, or at: - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -================================================================================ - -_MPTweakBindObserver.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -_MPTweakBindObserver.m Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweak.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweak.m Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakInline.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakInline.m Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakInlineInternal.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakStore.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakStore.m Copyright (c) 2014, Facebook, Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - - -* Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation - -and/or other materials provided with the distribution. - -* Neither the name Facebook nor the names of its contributors may be used to - -endorse or promote products derived from this software without specific -prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ## NVActivityIndicatorView The MIT License (MIT) diff --git a/Target Support Files/Pods-Signal/Pods-Signal-acknowledgements.plist b/Target Support Files/Pods-Signal/Pods-Signal-acknowledgements.plist index 1fadcd56..20a0cb27 100644 --- a/Target Support Files/Pods-Signal/Pods-Signal-acknowledgements.plist +++ b/Target Support Files/Pods-Signal/Pods-Signal-acknowledgements.plist @@ -2089,275 +2089,6 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND Type PSGroupSpecifier - - FooterText - Copyright 2013 Mixpanel, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this work except in compliance with the License. -You may obtain a copy of the License below, or at: - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -================================================================================ - -_MPTweakBindObserver.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -_MPTweakBindObserver.m Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweak.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweak.m Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakInline.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakInline.m Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakInlineInternal.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakStore.h Copyright (c) 2014, Facebook, Inc. All rights reserved. -MPTweakStore.m Copyright (c) 2014, Facebook, Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - - -* Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation - -and/or other materials provided with the distribution. - -* Neither the name Facebook nor the names of its contributors may be used to - -endorse or promote products derived from this software without specific -prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - License - Apache License, Version 2.0 - Title - Mixpanel - Type - PSGroupSpecifier - FooterText The MIT License (MIT) diff --git a/Target Support Files/Pods-Signal/Pods-Signal-frameworks.sh b/Target Support Files/Pods-Signal/Pods-Signal-frameworks.sh index db3b5eca..4ef8e757 100755 --- a/Target Support Files/Pods-Signal/Pods-Signal-frameworks.sh +++ b/Target Support Files/Pods-Signal/Pods-Signal-frameworks.sh @@ -154,7 +154,6 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework" install_framework "${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework" install_framework "${BUILT_PRODUCTS_DIR}/Mantle/Mantle.framework" - install_framework "${BUILT_PRODUCTS_DIR}/Mixpanel/Mixpanel.framework" install_framework "${BUILT_PRODUCTS_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework" install_framework "${BUILT_PRODUCTS_DIR}/PromiseKit/PromiseKit.framework" install_framework "${BUILT_PRODUCTS_DIR}/PureLayout/PureLayout.framework" @@ -183,7 +182,6 @@ if [[ "$CONFIGURATION" == "App Store Release" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework" install_framework "${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework" install_framework "${BUILT_PRODUCTS_DIR}/Mantle/Mantle.framework" - install_framework "${BUILT_PRODUCTS_DIR}/Mixpanel/Mixpanel.framework" install_framework "${BUILT_PRODUCTS_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework" install_framework "${BUILT_PRODUCTS_DIR}/PromiseKit/PromiseKit.framework" install_framework "${BUILT_PRODUCTS_DIR}/PureLayout/PureLayout.framework" diff --git a/Target Support Files/Pods-Signal/Pods-Signal.app store release.xcconfig b/Target Support Files/Pods-Signal/Pods-Signal.app store release.xcconfig index 6b02d191..5173ca6c 100644 --- a/Target Support Files/Pods-Signal/Pods-Signal.app store release.xcconfig +++ b/Target Support Files/Pods-Signal/Pods-Signal.app store release.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SQLITE_HAS_CODEC=1 HEADER_SEARCH_PATHS = $(inherited) $(PODS_ROOT)/SQLCipher LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel/Mixpanel.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "Crashlytics" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "Fabric" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "Mixpanel" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" +OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "Crashlytics" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "Fabric" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Target Support Files/Pods-Signal/Pods-Signal.debug.xcconfig b/Target Support Files/Pods-Signal/Pods-Signal.debug.xcconfig index 6b02d191..5173ca6c 100644 --- a/Target Support Files/Pods-Signal/Pods-Signal.debug.xcconfig +++ b/Target Support Files/Pods-Signal/Pods-Signal.debug.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SQLITE_HAS_CODEC=1 HEADER_SEARCH_PATHS = $(inherited) $(PODS_ROOT)/SQLCipher LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel/Mixpanel.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "Crashlytics" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "Fabric" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "Mixpanel" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" +OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "Crashlytics" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "Fabric" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Target Support Files/Pods-Signal/Pods-Signal.release.xcconfig b/Target Support Files/Pods-Signal/Pods-Signal.release.xcconfig index 6b02d191..5173ca6c 100644 --- a/Target Support Files/Pods-Signal/Pods-Signal.release.xcconfig +++ b/Target Support Files/Pods-Signal/Pods-Signal.release.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SQLITE_HAS_CODEC=1 HEADER_SEARCH_PATHS = $(inherited) $(PODS_ROOT)/SQLCipher LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel/Mixpanel.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "Crashlytics" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "Fabric" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "Mixpanel" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" +OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "Crashlytics" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "Fabric" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Target Support Files/Pods-SignalTests/Pods-SignalTests.app store release.xcconfig b/Target Support Files/Pods-SignalTests/Pods-SignalTests.app store release.xcconfig index aa0e4127..6c081e5e 100644 --- a/Target Support Files/Pods-SignalTests/Pods-SignalTests.app store release.xcconfig +++ b/Target Support Files/Pods-SignalTests/Pods-SignalTests.app store release.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SQLITE_HAS_CODEC=1 HEADER_SEARCH_PATHS = $(inherited) $(PODS_ROOT)/SQLCipher LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel/Mixpanel.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "Mixpanel" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" +OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Target Support Files/Pods-SignalTests/Pods-SignalTests.debug.xcconfig b/Target Support Files/Pods-SignalTests/Pods-SignalTests.debug.xcconfig index aa0e4127..6c081e5e 100644 --- a/Target Support Files/Pods-SignalTests/Pods-SignalTests.debug.xcconfig +++ b/Target Support Files/Pods-SignalTests/Pods-SignalTests.debug.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SQLITE_HAS_CODEC=1 HEADER_SEARCH_PATHS = $(inherited) $(PODS_ROOT)/SQLCipher LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel/Mixpanel.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "Mixpanel" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" +OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Target Support Files/Pods-SignalTests/Pods-SignalTests.release.xcconfig b/Target Support Files/Pods-SignalTests/Pods-SignalTests.release.xcconfig index aa0e4127..6c081e5e 100644 --- a/Target Support Files/Pods-SignalTests/Pods-SignalTests.release.xcconfig +++ b/Target Support Files/Pods-SignalTests/Pods-SignalTests.release.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit" "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain" "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit" "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase" "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS" "${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) SQLITE_HAS_CODEC=1 HEADER_SEARCH_PATHS = $(inherited) $(PODS_ROOT)/SQLCipher LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mixpanel/Mixpanel.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "Mixpanel" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" +OTHER_CFLAGS = $(inherited) -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_STAT3 -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_LOAD_EXTENSION -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLCIPHER_CRYPTO_CC -DHAVE_USLEEP=1 -DSQLITE_MAX_VARIABLE_NUMBER=99999 $(inherited) -DSQLITE_HAS_CODEC -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AxolotlKit/AxolotlKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Curve25519Kit/Curve25519Kit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FeedKit/FeedKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer/GCDWebServer.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/HKDFKit/HKDFKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Mantle/Mantle.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PureLayout/PureLayout.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SAMKeychain/SAMKeychain.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalCoreKit/SignalCoreKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalMetadataKit/SignalMetadataKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SignalServiceKit/SignalServiceKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YYImage/YYImage.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/YapDatabase/YapDatabase.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "AFNetworking" -framework "AxolotlKit" -framework "CocoaLumberjack" -framework "CryptoSwift" -framework "Curve25519Kit" -framework "FeedKit" -framework "FirebaseCore" -framework "Foundation" -framework "GCDWebServer" -framework "GoogleUtilities" -framework "HKDFKit" -framework "Mantle" -framework "NVActivityIndicatorView" -framework "PromiseKit" -framework "PureLayout" -framework "Reachability" -framework "SAMKeychain" -framework "SQLCipher" -framework "SSZipArchive" -framework "Security" -framework "SignalCoreKit" -framework "SignalMetadataKit" -framework "SignalServiceKit" -framework "Starscream" -framework "SwiftProtobuf" -framework "SystemConfiguration" -framework "UIKit" -framework "YYImage" -framework "YapDatabase" -framework "libPhoneNumber_iOS" -framework "openssl" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)